From ccb8c91e3fe2a89e523a119cc16d25f353607f4d Mon Sep 17 00:00:00 2001
From: Angelo Ziletti <ziletti@fhi-berlin.mpg.de>
Date: Mon, 15 May 2017 09:32:37 +0200
Subject: [PATCH] Add NOMAD banner to analytics-toolkit-tutorials.

---
 beaker-notebooks/FF-fit.bkr          | 141 +++++++++++++++++++----
 beaker-notebooks/SOAP_similarity.bkr | 110 ++++++++++++++++--
 beaker-notebooks/clusterX.bkr        | 132 ++++++++++++++++++----
 beaker-notebooks/errorbars_html.bkr  | 160 ++++++++++++++++++++-------
 beaker-notebooks/periodic-table.bkr  |  57 +++++++---
 beaker-notebooks/phasediagram.bkr    | 150 ++++++++++++++++++-------
 6 files changed, 601 insertions(+), 149 deletions(-)

diff --git a/beaker-notebooks/FF-fit.bkr b/beaker-notebooks/FF-fit.bkr
index f009b82..33a9d5d 100644
--- a/beaker-notebooks/FF-fit.bkr
+++ b/beaker-notebooks/FF-fit.bkr
@@ -50,13 +50,14 @@
                     "py.init_notebook_mode()",
                     "",
                     ""
-                ]
+                ],
+                "hidden": true
             },
             "output": {
                 "state": {},
                 "selectedType": "Html",
                 "pluginName": "Python3",
-                "shellId": "1DAE6BDCAB1D409F8D0C9A0A3FBFE9C0",
+                "shellId": "8FAA0AF13A0B4F39AC4FC1BF34C09668",
                 "dataresult": [
                     "",
                     "/home/beaker/src/core/config/plugins/eval/ipythonPlugins/python3",
@@ -70,48 +71,118 @@
                     "/mnt/python-module/"
                 ],
                 "height": 50,
-                "result": "<div class=\"output_subarea output_html rendered_html\"><script type=\"text/javascript\">if(!window.Plotly){define('plotly', function(require, exports, module) {/**\n* plotly.js v1.20.5\n* Copyright 2012-2016, Plotly, Inc.\n* All rights reserved.\n* Licensed under the MIT license\n*/\n!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var e;e=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this,e.Plotly=t()}}(function(){var t;return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var u=new Error(\"Cannot find module '\"+o+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var c=r[o]={exports:{}};e[o][0].call(c.exports,function(t){var r=e[o][1][t];return i(r?r:t)},c,c.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),i={\"X,X div\":\"font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;\",\"X input,X button\":\"font-family:'Open Sans', verdana, arial, sans-serif;\",\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\",\"X .modebar--hover\":\"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;\",\"X:hover .modebar--hover\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-group:first-child\":\"margin-left:0px;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar-btn path\":\"fill:rgba(0,31,95,0.3);\",\"X .modebar-btn.active path,X .modebar-btn:hover path\":\"fill:rgba(0,22,72,0.5);\",\"X .modebar-btn.modebar-btn--logo\":\"padding:3px 1px;\",\"X .modebar-btn.modebar-btn--logo path\":\"fill:#447adb !important;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":\"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:white;\",\"X .select-outline-2\":\"stroke:black;stroke-dasharray:2px 2px;\",Y:\"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;\",\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;\",\"Y .notifier-close\":\"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},{\"../src/lib\":633}],2:[function(t,e,r){\"use strict\";e.exports={undo:{width:857.1,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",ascent:850,descent:-150},home:{width:928.6,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",ascent:850,descent:-150},\"camera-retro\":{width:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",ascent:850,descent:-150},zoombox:{width:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",ascent:850,descent:-150},pan:{width:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",ascent:850,descent:-150},zoom_plus:{width:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",ascent:850,descent:-150},zoom_minus:{width:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",ascent:850,descent:-150},autoscale:{width:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",ascent:850,descent:-150},tooltip_basic:{width:1500,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",ascent:850,descent:-150},tooltip_compare:{width:1125,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",ascent:850,descent:-150},plotlylogo:{width:1542,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",ascent:850,descent:-150},\"z-axis\":{width:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",ascent:850,descent:-150},\"3d_rotate\":{width:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",ascent:850,descent:-150},camera:{width:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",ascent:850,descent:-150},movie:{width:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",ascent:850,descent:-150},question:{width:857.1,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",ascent:850,descent:-150},disk:{width:857.1,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",ascent:850,descent:-150},lasso:{width:1031,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",ascent:850,descent:-150},selectbox:{width:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",ascent:850,descent:-150}}},{}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":753}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":765}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":773}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":778}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":785}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":619}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":908}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":909}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":797}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":809}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":814}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":818}],15:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./pie\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./mesh3d\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./pointcloud\"),t(\"./scattermapbox\"),t(\"./ohlc\"),t(\"./candlestick\")]),n.register([t(\"./filter\"),t(\"./groupby\")]),e.exports=n},{\"./bar\":3,\"./box\":4,\"./candlestick\":5,\"./choropleth\":6,\"./contour\":7,\"./core\":8,\"./filter\":9,\"./groupby\":10,\"./heatmap\":11,\"./histogram\":12,\"./histogram2d\":13,\"./histogram2dcontour\":14,\"./mesh3d\":16,\"./ohlc\":17,\"./pie\":18,\"./pointcloud\":19,\"./scatter3d\":20,\"./scattergeo\":21,\"./scattergl\":22,\"./scattermapbox\":23,\"./scatterternary\":24,\"./surface\":25}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":822}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":827}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":835}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":844}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":874}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":880}],22:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":885}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":892}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":898}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":907}],26:[function(t,e,r){\"use strict\";function n(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]),\"zoomMin\"in e&&(r[0]=e.zoomMin),\"zoomMax\"in e&&(r[1]=e.zoomMax);var n=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],u=0,c=t.clientWidth,h=t.clientHeight,f={view:n,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:n.modes,tick:function(){var e=i(),r=this.delay;n.idle(e-r),n.flush(e-(100+2*r));var a=e-2*r;n.recalcMatrix(a);for(var o=!0,s=n.computedMatrix,f=0;f<16;++f)o=o&&l[f]===s[f],l[f]=s[f];var d=t.clientWidth===c&&t.clientHeight===h;return c=t.clientWidth,h=t.clientHeight,o?!d:(u=Math.exp(n.computedRadius[0]),!0)},lookAt:function(t,e,r){n.lookAt(n.lastT(),t,e,r)},rotate:function(t,e,r){n.rotate(n.lastT(),t,e,r)},pan:function(t,e,r){n.pan(n.lastT(),t,e,r)},translate:function(t,e,r){n.translate(n.lastT(),t,e,r)}};Object.defineProperties(f,{matrix:{get:function(){return n.computedMatrix},set:function(t){return n.setMatrix(n.lastT(),t),n.computedMatrix},enumerable:!0},mode:{get:function(){return n.getMode()},set:function(t){return n.setMode(t),n.getMode()},enumerable:!0},center:{get:function(){return n.computedCenter},set:function(t){return n.lookAt(n.lastT(),t),n.computedCenter},enumerable:!0},eye:{get:function(){return n.computedEye},set:function(t){return n.lookAt(n.lastT(),null,t),n.computedEye},enumerable:!0},up:{get:function(){return n.computedUp},set:function(t){return n.lookAt(n.lastT(),null,null,t),n.computedUp},enumerable:!0},distance:{get:function(){return u},set:function(t){return n.setDistance(n.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return n.getDistanceLimits(r)},set:function(t){return n.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",function(t){return t.preventDefault(),!1});var d=0,p=0;return o(t,function(e,r,a,o){var s=1/t.clientHeight,l=s*(r-d),c=s*(a-p),h=f.flipX?1:-1,g=f.flipY?1:-1,m=Math.PI*f.rotateSpeed,v=i();if(1&e)o.shift?n.rotate(v,0,0,-l*m):n.rotate(v,h*m*l,-g*m*c,0);else if(2&e)n.pan(v,-f.translateSpeed*l*u,f.translateSpeed*c*u,0);else if(4&e){var y=f.zoomSpeed*c/window.innerHeight*(v-n.lastT())*50;n.pan(v,0,0,u*(Math.exp(y)-1))}d=r,p=a}),s(t,function(t,e,r){var a=f.flipX?1:-1,o=f.flipY?1:-1,s=i();if(Math.abs(t)>Math.abs(e))n.rotate(s,0,0,-t*a*Math.PI*f.rotateSpeed/window.innerWidth);else{var l=f.zoomSpeed*o*e/window.innerHeight*(s-n.lastT())/100;n.pan(s,0,0,u*(Math.exp(l)-1))}},!0),f}e.exports=n;var i=t(\"right-now\"),a=t(\"3d-view\"),o=t(\"mouse-change\"),s=t(\"mouse-wheel\")},{\"3d-view\":27,\"mouse-change\":413,\"mouse-wheel\":415,\"right-now\":459}],27:[function(t,e,r){\"use strict\";function n(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode=\"turntable\",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}function i(t){t=t||{};var e=t.eye||[0,0,1],r=t.center||[0,0,0],i=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||\"turntable\",c=a(),h=o(),f=s();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,i),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,i),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,i),new n({turntable:c,orbit:h,matrix:f},u)}e.exports=i;var a=t(\"turntable-camera-controller\"),o=t(\"orbit-camera-controller\"),s=t(\"matrix-camera-controller\"),l=n.prototype,u=[[\"flush\",1],[\"idle\",1],[\"lookAt\",4],[\"rotate\",4],[\"pan\",4],[\"translate\",4],[\"setMatrix\",2],[\"setDistanceLimits\",2],[\"setDistance\",2]];u.forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push(\"a\"+n);var i=\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\"+t[0]+\"(\"+r.join()+\")}\";l[e]=Function.apply(null,r.concat(i))}),l.recalcMatrix=function(t){this._active.recalcMatrix(t)},l.getDistance=function(t){return this._active.getDistance(t)},l.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},l.lastT=function(){return this._active.lastT()},l.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},l.getMode=function(){return this._mode}},{\"matrix-camera-controller\":411,\"orbit-camera-controller\":431,\"turntable-camera-controller\":493}],28:[function(t,e,r){\"use strict\";function n(t){var e=s.get(t);if(!e||!t.isBuffer(e._triangleBuffer.buffer)){var r=a(t,new Float32Array([-1,-1,-1,4,4,-1]));e=o(t,[{buffer:r,type:t.FLOAT,size:2}]),e._triangleBuffer=r,s.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}var i=\"undefined\"==typeof WeakMap?t(\"weak-map\"):WeakMap,a=t(\"gl-buffer\"),o=t(\"gl-vao\"),s=new i;e.exports=n},{\"gl-buffer\":128,\"gl-vao\":236,\"weak-map\":514}],29:[function(t,e,r){function n(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var n=t.split(/\\r?\\n/),a=String(n.length+e-1).length;return n.map(function(t,n){var o=n+e,s=String(o).length,l=i(o,a-s);return l+r+t}).join(\"\\n\")}var i=t(\"pad-left\");e.exports=n},{\"pad-left\":432}],30:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(e+1),n=0;n<t.length;++n)r[n]=t[n];for(var n=0;n<=t.length;++n){for(var i=t.length;i<=e;++i){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(i+1-n,s);r[i]=o}var l=a.apply(void 0,r);if(l)return!0}return!1}function i(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,i=[t[0]],a=[0],o=1;o<e;++o)if(i.push(t[o]),n(i,r)){if(a.push(o),a.length===r+1)return a}else i.pop();return a}e.exports=i;var a=t(\"robust-orientation\")},{\"robust-orientation\":465}],31:[function(t,e,r){\"use strict\";function n(t,e){return i(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return a(n)*t<1})}e.exports=n;var i=t(\"delaunay-triangulate\"),a=t(\"circumradius\")},{circumradius:75,\"delaunay-triangulate\":96}],32:[function(t,e,r){function n(t,e){return a(i(t,e))}e.exports=n;var i=t(\"alpha-complex\"),a=t(\"simplicial-complex-boundary\")},{\"alpha-complex\":31,\"simplicial-complex-boundary\":473}],33:[function(t,e,r){\"use strict\";var n=function(){function t(t){return!Array.isArray(t)&&null!==t&&\"object\"==typeof t}function e(t,e,r){for(var n=(e-t)/Math.max(r-1,1),i=[],a=0;a<r;a++)i.push(t+a*n);return i}function r(){for(var t=[].slice.call(arguments),e=t.map(function(t){return t.length}),r=Math.min.apply(null,e),n=[],i=0;i<r;i++){n[i]=[];for(var a=0;a<t.length;++a)n[i][a]=t[a][i]}return n}function n(t,e,r){for(var n=Math.min.apply(null,[t.length,e.length,r.length]),i=[],a=0;a<n;a++)i.push([t[a],e[a],r[a]]);return i}function i(t){function e(t){for(var n=0;n<t.length;n++)Array.isArray(t[n])?e(t[n],r):r+=t[n]}var r=0;return e(t,r),r}function a(t){for(var e=[],r=0;r<t.length;++r){e[r]=[];for(var n=0;n<t[r].length;++n)e[r][n]=t[r][n]}return e}function o(t){for(var e=[],r=0;r<t.length;++r)e[r]=t[r];return e}function s(t,e){if(t.length!==e.length)return!1;for(var r=t.length;r--;)if(t[r]!==e[r])return!1;return!0}function l(t,e){var r,n;if(\"string\"!=typeof t)return t;if(r=[],\"#\"===t[0]?(t=t.substr(1),3===t.length&&(t+=t),n=parseInt(t,16),r[0]=n>>16&255,r[1]=n>>8&255,r[2]=255&n):h.test(t)&&(n=t.match(f),r[0]=parseInt(n[1]),r[1]=parseInt(n[2]),r[2]=parseInt(n[3])),!e)for(var i=0;i<3;++i)r[i]=r[i]/255;return r}function u(t,e){var r,n;if(\"string\"!=typeof t)return t;if(r=[],\"#\"===t[0]?(t=t.substr(1),3===t.length&&(t+=t),n=parseInt(t,16),r[0]=n>>16&255,r[1]=n>>8&255,r[2]=255&n):h.test(t)&&(n=t.match(f),r[0]=parseInt(n[1]),r[1]=parseInt(n[2]),r[2]=parseInt(n[3]),n[4]?r[3]=parseFloat(n[4]):r[3]=1),!e)for(var i=0;i<3;++i)r[i]=r[i]/255;return r}var c={},h=/^rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*(,.*)?\\)$/,f=/^rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,?\\s*(.*)?\\)$/;return c.isPlainObject=t,c.linspace=e,c.zip3=n,c.sum=i,c.zip=r,c.isEqual=s,c.copy2D=a,c.copy1D=o,c.str2RgbArray=l,c.str2RgbaArray=u,c};e.exports=n()},{}],34:[function(t,e,r){function n(t,e){return d.isUndefined(e)?\"\"+e:d.isNumber(e)&&!isFinite(e)?e.toString():d.isFunction(e)||d.isRegExp(e)?e.toString():e}function i(t,e){return d.isString(t)?t.length<e?t:t.slice(0,e):t}function a(t){return i(JSON.stringify(t.actual,n),128)+\" \"+t.operator+\" \"+i(JSON.stringify(t.expected,n),128)}function o(t,e,r,n,i){throw new m.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function s(t,e){t||o(t,!0,e,\"==\",m.ok)}function l(t,e){if(t===e)return!0;if(d.isBuffer(t)&&d.isBuffer(e)){if(t.length!=e.length)return!1;for(var r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}return d.isDate(t)&&d.isDate(e)?t.getTime()===e.getTime():d.isRegExp(t)&&d.isRegExp(e)?t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase:d.isObject(t)||d.isObject(e)?c(t,e):t==e}function u(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function c(t,e){if(d.isNullOrUndefined(t)||d.isNullOrUndefined(e))return!1;if(t.prototype!==e.prototype)return!1;if(d.isPrimitive(t)||d.isPrimitive(e))return t===e;var r=u(t),n=u(e);if(r&&!n||!r&&n)return!1;if(r)return t=p.call(t),e=p.call(e),l(t,e);var i,a,o=v(t),s=v(e);if(o.length!=s.length)return!1;for(o.sort(),s.sort(),a=o.length-1;a>=0;a--)if(o[a]!=s[a])return!1;for(a=o.length-1;a>=0;a--)if(i=o[a],!l(t[i],e[i]))return!1;return!0}function h(t,e){return!(!t||!e)&&(\"[object RegExp]\"==Object.prototype.toString.call(e)?e.test(t):t instanceof e||e.call({},t)===!0)}function f(t,e,r,n){var i;d.isString(r)&&(n=r,r=null);try{e()}catch(t){i=t}if(n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&o(i,r,\"Missing expected exception\"+n),!t&&h(i,r)&&o(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!h(i,r)||!t&&i)throw i}var d=t(\"util/\"),p=Array.prototype.slice,g=Object.prototype.hasOwnProperty,m=e.exports=s;m.AssertionError=function(t){this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=a(this),this.generatedMessage=!0);var e=t.stackStartFunction||o;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=e.name,s=n.indexOf(\"\\n\"+i);if(s>=0){var l=n.indexOf(\"\\n\",s+1);n=n.substring(l+1)}this.stack=n}}},d.inherits(m.AssertionError,Error),m.fail=o,m.ok=s,m.equal=function(t,e,r){t!=e&&o(t,e,r,\"==\",m.equal)},m.notEqual=function(t,e,r){t==e&&o(t,e,r,\"!=\",m.notEqual)},m.deepEqual=function(t,e,r){l(t,e)||o(t,e,r,\"deepEqual\",m.deepEqual)},m.notDeepEqual=function(t,e,r){l(t,e)&&o(t,e,r,\"notDeepEqual\",m.notDeepEqual)},m.strictEqual=function(t,e,r){t!==e&&o(t,e,r,\"===\",m.strictEqual)},m.notStrictEqual=function(t,e,r){t===e&&o(t,e,r,\"!==\",m.notStrictEqual)},m.throws=function(t,e,r){f.apply(this,[!0].concat(p.call(arguments)))},m.doesNotThrow=function(t,e){f.apply(this,[!1].concat(p.call(arguments)))},m.ifError=function(t){if(t)throw t};var v=Object.keys||function(t){var e=[];for(var r in t)g.call(t,r)&&e.push(r);return e}},{\"util/\":504}],35:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],36:[function(t,e,r){\"use strict\";function n(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}function i(t,e){for(var r=e.length,i=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];i[o]=s}i[r]=new Array(r+1);for(var o=0;o<=r;++o)i[r][o]=1;for(var u=new Array(r+1),o=0;o<r;++o)u[o]=e[o];u[r]=1;var c=a(i,u),h=n(c[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=n(c[o])/h;return f}e.exports=i;var a=t(\"robust-linear-solve\")},{\"robust-linear-solve\":464}],37:[function(t,e,r){\"use strict\";function n(t,e){return i(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}var i=t(\"./lib/rationalize\");e.exports=n},{\"./lib/rationalize\":47}],38:[function(t,e,r){\"use strict\";function n(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}e.exports=n},{}],39:[function(t,e,r){\"use strict\";function n(t,e){return i(t[0].mul(e[1]),t[1].mul(e[0]))}var i=t(\"./lib/rationalize\");e.exports=n},{\"./lib/rationalize\":47}],40:[function(t,e,r){\"use strict\";function n(t,e){if(i(t))return e?u(t,n(e)):[t[0].clone(),t[1].clone()];var r,c,h=0;if(a(t))r=t.clone();else if(\"string\"==typeof t)r=s(t);else{if(0===t)return[o(0),o(1)];if(t===Math.floor(t))r=o(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),h-=256;r=o(t)}}if(i(e))r.mul(e[1]),c=e[0].clone();else if(a(e))c=e.clone();else if(\"string\"==typeof e)c=s(e);else if(e)if(e===Math.floor(e))c=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h+=256;c=o(e)}else c=o(1);return h>0?r=r.shln(h):h<0&&(c=c.shln(-h)),l(r,c)}var i=t(\"./is-rat\"),a=t(\"./lib/is-bn\"),o=t(\"./lib/num-to-bn\"),s=t(\"./lib/str-to-bn\"),l=t(\"./lib/rationalize\"),u=t(\"./div\");e.exports=n},{\"./div\":39,\"./is-rat\":41,\"./lib/is-bn\":45,\"./lib/num-to-bn\":46,\"./lib/rationalize\":47,\"./lib/str-to-bn\":48}],41:[function(t,e,r){\"use strict\";function n(t){return Array.isArray(t)&&2===t.length&&i(t[0])&&i(t[1])}var i=t(\"./lib/is-bn\");e.exports=n},{\"./lib/is-bn\":45}],42:[function(t,e,r){\"use strict\";function n(t){return t.cmp(new i(0))}var i=t(\"bn.js\");e.exports=n},{\"bn.js\":55}],43:[function(t,e,r){\"use strict\";function n(t){var e=t.length,r=t.words,n=0;if(1===e)n=r[0];else if(2===e)n=r[0]+67108864*r[1];else for(var n=0,i=0;i<e;i++){var a=r[i];n+=a*Math.pow(67108864,i)}return t.sign?-n:n}e.exports=n},{}],44:[function(t,e,r){\"use strict\";function n(t){var e=a(i.lo(t));if(e<32)return e;var r=a(i.hi(t));return r>20?52:r+32}var i=t(\"double-bits\"),a=t(\"bit-twiddle\").countTrailingZeros;e.exports=n},{\"bit-twiddle\":54,\"double-bits\":97}],45:[function(t,e,r){\"use strict\";function n(t){return t&&\"object\"==typeof t&&Boolean(t.words)}t(\"bn.js\");e.exports=n},{\"bn.js\":55}],46:[function(t,e,r){\"use strict\";function n(t){var e=a.exponent(t);return e<52?new i(t):new i(t*Math.pow(2,52-e)).shln(e-52)}var i=t(\"bn.js\"),a=t(\"double-bits\");e.exports=n},{\"bn.js\":55,\"double-bits\":97}],47:[function(t,e,r){\"use strict\";function n(t,e){var r=a(t),n=a(e);if(0===r)return[i(0),i(1)];if(0===n)return[i(0),i(0)];n<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}var i=t(\"./num-to-bn\"),a=t(\"./bn-sign\");e.exports=n},{\"./bn-sign\":42,\"./num-to-bn\":46}],48:[function(t,e,r){\"use strict\";function n(t){return new i(t)}var i=t(\"bn.js\");e.exports=n},{\"bn.js\":55}],49:[function(t,e,r){\"use strict\";function n(t,e){return i(t[0].mul(e[0]),t[1].mul(e[1]))}var i=t(\"./lib/rationalize\");e.exports=n},{\"./lib/rationalize\":47}],50:[function(t,e,r){\"use strict\";function n(t){return i(t[0])*i(t[1])}var i=t(\"./lib/bn-sign\");e.exports=n},{\"./lib/bn-sign\":42}],51:[function(t,e,r){\"use strict\";function n(t,e){return i(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}var i=t(\"./lib/rationalize\");e.exports=n},{\"./lib/rationalize\":47}],52:[function(t,e,r){\"use strict\";function n(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var n=e.divmod(r),o=n.div,s=i(o),l=n.mod;if(0===l.cmpn(0))return s;if(s){var u=a(s)+4,c=i(l.shln(u).divRound(r));return s<0&&(c=-c),s+c*Math.pow(2,-u)}var h=r.bitLength()-l.bitLength()+53,c=i(l.shln(h).divRound(r));return h<1023?c*Math.pow(2,-h):(c*=Math.pow(2,-1023),c*Math.pow(2,1023-h))}var i=t(\"./lib/bn-to-num\"),a=t(\"./lib/ctz\");e.exports=n},{\"./lib/bn-to-num\":43,\"./lib/ctz\":44}],53:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){var o=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",a?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a\",i?\".get(m)\":\"[m]\"];return a?e.indexOf(\"c\")<0?o.push(\";if(x===y){return m}else if(x<=y){\"):o.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):o.push(\";if(\",e,\"){i=m;\"),r?o.push(\"l=m+1}else{h=m-1}\"):o.push(\"h=m-1}else{l=m+1}\"),o.push(\"}\"),a?o.push(\"return -1};\"):o.push(\"return i};\"),o.join(\"\")}function i(t,e,r,i){var a=new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,i),n(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,i),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,i),n(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,i),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch\",r].join(\"\"));return a()}e.exports={ge:i(\">=\",!1,\"GE\"),gt:i(\">\",!1,\"GT\"),lt:i(\"<\",!0,\"LT\"),le:i(\"<=\",!0,\"LE\"),eq:i(\"-\",!0,\"EQ\",!0)}},{}],54:[function(t,e,r){\"use strict\";\"use restrict\";\nfunction n(t){var e=32;return t&=-t,t&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}var i=32;r.INT_BITS=i,r.INT_MAX=2147483647,r.INT_MIN=-1<<i-1,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>i-1;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,t>>>=e,r=(t>255)<<3,t>>>=r,e|=r,r=(t>15)<<2,t>>>=r,e|=r,r=(t>3)<<1,t>>>=r,e|=r,e|t>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return t-=t>>>1&1431655765,t=(858993459&t)+(t>>>2&858993459),16843009*(t+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,t&=15,27030>>>t&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(a),r.reverse=function(t){return a[255&t]<<24|a[t>>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return t&=65535,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e&=65535,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},r.deinterleave2=function(t,e){return t=t>>>e&1431655765,t=858993459&(t|t>>>1),t=252645135&(t|t>>>2),t=16711935&(t|t>>>4),t=65535&(t|t>>>16),t<<16>>16},r.interleave3=function(t,e,r){return t&=1023,t=4278190335&(t|t<<16),t=251719695&(t|t<<8),t=3272356035&(t|t<<4),t=1227133513&(t|t<<2),e&=1023,e=4278190335&(e|e<<16),e=251719695&(e|e<<8),e=3272356035&(e|e<<4),e=1227133513&(e|e<<2),t|=e<<1,r&=1023,r=4278190335&(r|r<<16),r=251719695&(r|r<<8),r=3272356035&(r|r<<4),r=1227133513&(r|r<<2),t|r<<2},r.deinterleave3=function(t,e){return t=t>>>e&1227133513,t=3272356035&(t|t>>>2),t=251719695&(t|t>>>4),t=4278190335&(t|t>>>8),t=1023&(t|t>>>16),t<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],55:[function(t,e,r){!function(t,e){\"use strict\";function r(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){return null!==t&&\"object\"==typeof t&&Array.isArray(t.words)?t:(this.sign=!1,this.words=null,this.length=0,this.red=null,\"le\"!==e&&\"be\"!==e||(r=e,e=10),void(null!==t&&this._init(t||0,e||10,r||\"be\")))}function a(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function o(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}function s(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).ishln(this.n).isub(this.p),this.tmp=this._tmp()}function l(){s.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function u(){s.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function c(){s.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function h(){s.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function f(t){if(\"string\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else this.m=t,this.prime=null}function d(t){f.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new i(1).ishln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv.sign=!0,this.minv=this.minv.mod(this.r)}\"object\"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26,i.prototype._init=function(t,e,n){if(\"number\"==typeof t)return this._initNumber(t,e,n);if(\"object\"==typeof t)return this._initArray(t,e,n);\"hex\"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\\s+/g,\"\");var i=0;\"-\"===t[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\"-\"===t[0]&&(this.sign=!0),this.strip(),\"le\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){t<0&&(this.sign=!0,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a=0;if(\"be\"===n)for(var i=t.length-1,o=0;i>=0;i-=3){var s=t[i]|t[i-1]<<8|t[i-2]<<16;this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,a+=24,a>=26&&(a-=26,o++)}else if(\"le\"===n)for(var i=0,o=0;i<t.length;i+=3){var s=t[i]|t[i+1]<<8|t[i+2]<<16;this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,a+=24,a>=26&&(a-=26,o++)}return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;for(var n=0,r=t.length-6,i=0;r>=e;r-=6){var o=a(t,r,r+6);this.words[i]|=o<<n&67108863,this.words[i+1]|=o>>>26-n&4194303,n+=24,n>=26&&(n-=26,i++)}if(r+6!==e){var o=a(t,e,r+6);this.words[i]|=o<<n&67108863,this.words[i+1]|=o>>>26-n&4194303}this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,s=a%n,l=Math.min(a,a-s)+r,u=0,c=r;c<l;c+=n)u=o(t,c,c+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){for(var h=1,u=o(t,c,t.length,e),c=0;c<s;c++)h*=e;this.imuln(h),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.sign=this.sign,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.sign=!1),this},i.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var p=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],g=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],m=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(t,e){if(t=t||10,16===t||\"hex\"===t){for(var n=\"\",i=0,e=0|e||1,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);a=s>>>24-i&16777215,n=0!==a||o!==this.length-1?p[6-l.length]+l+n:l+n,i+=2,i>=26&&(i-=26,o--)}for(0!==a&&(n=a.toString(16)+n);n.length%e!==0;)n=\"0\"+n;return this.sign&&(n=\"-\"+n),n}if(t===(0|t)&&t>=2&&t<=36){var u=g[t],c=m[t],n=\"\",h=this.clone();for(h.sign=!1;0!==h.cmpn(0);){var f=h.modn(c).toString(t);h=h.idivn(c),n=0!==h.cmpn(0)?p[u-f.length]+f+n:f+n}return 0===this.cmpn(0)&&(n=\"0\"+n),this.sign&&(n=\"-\"+n),n}r(!1,\"Base should be between 2 and 36\")},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toArray=function(t){this.strip();var e=new Array(this.byteLength());e[0]=0;var r=this.clone();if(\"le\"!==t)for(var n=0;0!==r.cmpn(0);n++){var i=r.andln(255);r.ishrn(8),e[e.length-n-1]=i}else for(var n=0;0!==r.cmpn(0);n++){var i=r.andln(255);r.ishrn(8),e[n]=i}return e},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},i.prototype.bitLength=function(){var t=0,e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(0===this.cmpn(0))return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.neg=function(){if(0===this.cmpn(0))return this.clone();var t=this.clone();return t.sign=!this.sign,t},i.prototype.ior=function(t){for(this.sign=this.sign||t.sign;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.iand=function(t){this.sign=this.sign&&t.sign;var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.ixor=function(t){this.sign=this.sign||t.sign;var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.setn=function(t,e){r(\"number\"==typeof t&&t>=0);for(var n=t/26|0,i=t%26;this.length<=n;)this.words[this.length++]=0;return e?this.words[n]=this.words[n]|1<<i:this.words[n]=this.words[n]&~(1<<i),this.strip()},i.prototype.iadd=function(t){if(this.sign&&!t.sign){this.sign=!1;var e=this.isub(t);return this.sign=!this.sign,this._normSign()}if(!this.sign&&t.sign){t.sign=!1;var e=this.isub(t);return t.sign=!0,e._normSign()}var r,n;this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++){var e=r.words[a]+n.words[a]+i;this.words[a]=67108863&e,i=e>>>26}for(;0!==i&&a<r.length;a++){var e=r.words[a]+i;this.words[a]=67108863&e,i=e>>>26}if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},i.prototype.add=function(t){if(t.sign&&!this.sign){t.sign=!1;var e=this.sub(t);return t.sign=!0,e}if(!t.sign&&this.sign){this.sign=!1;var e=t.sub(this);return this.sign=!0,e}return this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(t.sign){t.sign=!1;var e=this.iadd(t);return t.sign=!0,e._normSign()}if(this.sign)return this.sign=!1,this.iadd(t),this.sign=!0,this._normSign();var r=this.cmp(t);if(0===r)return this.sign=!1,this.length=1,this.words[0]=0,this;var n,i;r>0?(n=this,i=t):(n=t,i=this);for(var a=0,o=0;o<i.length;o++){var e=n.words[o]-i.words[o]+a;a=e>>26,this.words[o]=67108863&e}for(;0!==a&&o<n.length;o++){var e=n.words[o]+a;a=e>>26,this.words[o]=67108863&e}if(0===a&&o<n.length&&n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&&(this.sign=!0),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)},i.prototype._smallMulTo=function(t,e){e.sign=t.sign!==this.sign,e.length=this.length+t.length;for(var r=0,n=0;n<e.length-1;n++){for(var i=r>>>26,a=67108863&r,o=Math.min(n,t.length-1),s=Math.max(0,n-this.length+1);s<=o;s++){var l=n-s,u=0|this.words[l],c=0|t.words[s],h=u*c,f=67108863&h;i=i+(h/67108864|0)|0,f=f+a|0,a=67108863&f,i=i+(f>>>26)|0}e.words[n]=a,r=i}return 0!==r?e.words[n]=r:e.length--,e.strip()},i.prototype._bigMulTo=function(t,e){e.sign=t.sign!==this.sign,e.length=this.length+t.length;for(var r=0,n=0,i=0;i<e.length-1;i++){var a=n;n=0;for(var o=67108863&r,s=Math.min(i,t.length-1),l=Math.max(0,i-this.length+1);l<=s;l++){var u=i-l,c=0|this.words[u],h=0|t.words[l],f=c*h,d=67108863&f;a=a+(f/67108864|0)|0,d=d+o|0,o=67108863&d,a=a+(d>>>26)|0,n+=a>>>26,a&=67108863}e.words[i]=o,r=a,a=n}return 0!==r?e.words[i]=r:e.length--,e.strip()},i.prototype.mulTo=function(t,e){var r;return r=this.length+t.length<63?this._smallMulTo(t,e):this._bigMulTo(t,e)},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.imul=function(t){if(0===this.cmpn(0)||0===t.cmpn(0))return this.words[0]=0,this.length=1,this;var e=this.length,r=t.length;this.sign=t.sign!==this.sign,this.length=this.length+t.length,this.words[this.length-1]=0;for(var n=this.length-2;n>=0;n--){for(var i=0,a=0,o=Math.min(n,r-1),s=Math.max(0,n-e+1);s<=o;s++){var l=n-s,u=this.words[l],c=t.words[s],h=u*c,f=67108863&h;i+=h/67108864|0,f+=a,a=67108863&f,i+=f>>>26}this.words[n]=a,this.words[n+1]+=i,i=0}for(var i=0,l=1;l<this.length;l++){var d=this.words[l]+i;this.words[l]=67108863&d,i=d>>>26}return this.strip()},i.prototype.imuln=function(t){r(\"number\"==typeof t);for(var e=0,n=0;n<this.length;n++){var i=this.words[n]*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[n]=67108863&a}return 0!==e&&(this.words[n]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.mul(this)},i.prototype.ishln=function(t){r(\"number\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=67108863>>>26-e<<26-e;if(0!==e){for(var a=0,o=0;o<this.length;o++){var s=this.words[o]&i,l=this.words[o]-s<<e;this.words[o]=l|a,a=s>>>26-e}a&&(this.words[o]=a,this.length++)}if(0!==n){for(var o=this.length-1;o>=0;o--)this.words[o+n]=this.words[o];for(var o=0;o<n;o++)this.words[o]=0;this.length+=n}return this.strip()},i.prototype.ishrn=function(t,e,n){r(\"number\"==typeof t&&t>=0);var i;i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=n;if(i-=o,i=Math.max(0,i),l){for(var u=0;u<o;u++)l.words[u]=this.words[u];l.length=o}if(0===o);else if(this.length>o){this.length-=o;for(var u=0;u<this.length;u++)this.words[u]=this.words[u+o]}else this.words[0]=0,this.length=1;for(var c=0,u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=this.words[u];this.words[u]=c<<26-a|h>>>a,c=h&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip(),this},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.testn=function(t){r(\"number\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n)return!1;var a=this.words[n];return!!(a&i)},i.prototype.imaskn=function(t){r(\"number\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(!this.sign,\"imaskn works only with positive numbers\"),0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return r(\"number\"==typeof t),t<0?this.isubn(-t):this.sign?1===this.length&&this.words[0]<t?(this.words[0]=t-this.words[0],this.sign=!1,this):(this.sign=!1,this.isubn(t),this.sign=!0,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r(\"number\"==typeof t),t<0)return this.iaddn(-t);if(this.sign)return this.sign=!1,this.iaddn(t),this.sign=!0,this;this.words[0]-=t;for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.sign=!1,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,n){var i,a=t.length+n;if(this.words.length<a){for(var o=new Array(a),i=0;i<this.length;i++)o[i]=this.words[i];this.words=o}else i=this.length;for(this.length=Math.max(this.length,a);i<this.length;i++)this.words[i]=0;for(var s=0,i=0;i<t.length;i++){var l=this.words[i+n]+s,u=t.words[i]*e;l-=67108863&u,s=(l>>26)-(u/67108864|0),this.words[i+n]=67108863&l}for(;i<this.length-n;i++){var l=this.words[i+n]+s;s=l>>26,this.words[i+n]=67108863&l}if(0===s)return this.strip();r(s===-1),s=0;for(var i=0;i<this.length;i++){var l=-this.words[i]+s;s=l>>26,this.words[i]=67108863&l}return this.sign=!0,this.strip()},i.prototype._wordDiv=function(t,e){var r=this.length-t.length,n=this.clone(),a=t,o=a.words[a.length-1],s=this._countBits(o);r=26-s,0!==r&&(a=a.shln(r),n.ishln(r),o=a.words[a.length-1]);var l,u=n.length-a.length;if(\"mod\"!==e){l=new i(null),l.length=u+1,l.words=new Array(l.length);for(var c=0;c<l.length;c++)l.words[c]=0}var h=n.clone()._ishlnsubmul(a,1,u);h.sign||(n=h,l&&(l.words[u]=1));for(var f=u-1;f>=0;f--){var d=67108864*n.words[a.length+f]+n.words[a.length+f-1];for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(a,d,f);n.sign;)d--,n.sign=!1,n._ishlnsubmul(a,1,f),0!==n.cmpn(0)&&(n.sign=!n.sign);l&&(l.words[f]=d)}return l&&l.strip(),n.strip(),\"div\"!==e&&0!==r&&n.ishrn(r),{div:l?l:null,mod:n}},i.prototype.divmod=function(t,e){if(r(0!==t.cmpn(0)),this.sign&&!t.sign){var n,a,o=this.neg().divmod(t,e);return\"mod\"!==e&&(n=o.div.neg()),\"div\"!==e&&(a=0===o.mod.cmpn(0)?o.mod:t.sub(o.mod)),{div:n,mod:a}}if(!this.sign&&t.sign){var n,o=this.divmod(t.neg(),e);return\"mod\"!==e&&(n=o.div.neg()),{div:n,mod:o.mod}}return this.sign&&t.sign?this.neg().divmod(t.neg(),e):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e)},i.prototype.div=function(t){return this.divmod(t,\"div\").div},i.prototype.mod=function(t){return this.divmod(t,\"mod\").mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(0===e.mod.cmpn(0))return e.div;var r=e.div.sign?e.mod.isub(t):e.mod,n=t.shrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:e.div.sign?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+this.words[i])%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=this.words[n]+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(!t.sign),r(0!==t.cmpn(0));var e=this,n=t.clone();e=e.sign?e.mod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),u=0;e.isEven()&&n.isEven();)e.ishrn(1),n.ishrn(1),++u;for(var c=n.clone(),h=e.clone();0!==e.cmpn(0);){for(;e.isEven();)e.ishrn(1),a.isEven()&&o.isEven()?(a.ishrn(1),o.ishrn(1)):(a.iadd(c).ishrn(1),o.isub(h).ishrn(1));for(;n.isEven();)n.ishrn(1),s.isEven()&&l.isEven()?(s.ishrn(1),l.ishrn(1)):(s.iadd(c).ishrn(1),l.isub(h).ishrn(1));e.cmp(n)>=0?(e.isub(n),a.isub(s),o.isub(l)):(n.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:n.ishln(u)}},i.prototype._invmp=function(t){r(!t.sign),r(0!==t.cmpn(0));var e=this,n=t.clone();e=e.sign?e.mod(t):e.clone();for(var a=new i(1),o=new i(0),s=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(;e.isEven();)e.ishrn(1),a.isEven()?a.ishrn(1):a.iadd(s).ishrn(1);for(;n.isEven();)n.ishrn(1),o.isEven()?o.ishrn(1):o.iadd(s).ishrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(o)):(n.isub(e),o.isub(a))}return 0===e.cmpn(1)?a:o},i.prototype.gcd=function(t){if(0===this.cmpn(0))return t.clone();if(0===t.cmpn(0))return this.clone();var e=this.clone(),r=t.clone();e.sign=!1,r.sign=!1;for(var n=0;e.isEven()&&r.isEven();n++)e.ishrn(1),r.ishrn(1);for(;;){for(;e.isEven();)e.ishrn(1);for(;r.isEven();)r.ishrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.ishln(n)},i.prototype.invm=function(t){return this.egcd(t).a.mod(t)},i.prototype.isEven=function(){return 0===(1&this.words[0])},i.prototype.isOdd=function(){return 1===(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r(\"number\"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n){for(var a=this.length;a<n+1;a++)this.words[a]=0;return this.words[n]|=i,this.length=n+1,this}for(var o=i,a=n;0!==o&&a<this.length;a++){var s=this.words[a];s+=o,o=s>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.cmpn=function(t){var e=t<0;if(e&&(t=-t),this.sign&&!e)return-1;if(!this.sign&&e)return 1;t&=67108863,this.strip();var r;if(this.length>1)r=1;else{var n=this.words[0];r=n===t?0:n<t?-1:1}return this.sign&&(r=-r),r},i.prototype.cmp=function(t){if(this.sign&&!t.sign)return-1;if(!this.sign&&t.sign)return 1;var e=this.ucmp(t);return this.sign?-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=this.words[r],i=t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},i.red=function(t){return new f(t)},i.prototype.toRed=function(t){return r(!this.red,\"Already a number in reduction context\"),r(!this.sign,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};s.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},s.prototype.ireduce=function(t){var e,r=t;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength();while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},s.prototype.split=function(t,e){t.ishrn(this.n,0,e)},s.prototype.imulK=function(t){return t.imul(this.k)},n(l,s),l.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var a=t.words[9];e.words[e.length++]=a&r;for(var i=10;i<t.length;i++){var o=t.words[i];t.words[i-10]=(o&r)<<4|a>>>22,a=o}t.words[i-10]=a>>>22,t.length-=9},l.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e,r=0,n=0;n<t.length;n++){var i=t.words[n];e=64*i,r+=977*i,e+=r/67108864|0,r&=67108863,t.words[n]=r,r=e}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(u,s),n(c,s),n(h,s),h.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*t.words[r]+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function t(e){if(v[e])return v[e];var t;if(\"k256\"===e)t=new l;else if(\"p224\"===e)t=new u;else if(\"p192\"===e)t=new c;else{if(\"p25519\"!==e)throw new Error(\"Unknown prime \"+e);t=new h}return v[e]=t,t},f.prototype._verify1=function(t){r(!t.sign,\"red works only with positives\"),r(t.red,\"red works only with red numbers\")},f.prototype._verify2=function(t,e){r(!t.sign&&!e.sign,\"red works only with positives\"),r(t.red&&t.red===e.red,\"red works only with red numbers\")},f.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.mod(this.m)._forceRed(this)},f.prototype.neg=function(t){var e=t.clone();return e.sign=!e.sign,e.iadd(this.m)._forceRed(this)},f.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},f.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},f.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},f.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},f.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.shln(e))},f.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},f.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},f.prototype.isqr=function(t){return this.imul(t,t)},f.prototype.sqr=function(t){return this.mul(t,t)},f.prototype.sqrt=function(t){if(0===t.cmpn(0))return t.clone();var e=this.m.andln(3);if(r(e%2===1),3===e){var n=this.m.add(new i(1)).ishrn(2),a=this.pow(t,n);return a}for(var o=this.m.subn(1),s=0;0!==o.cmpn(0)&&0===o.andln(1);)s++,o.ishrn(1);r(0!==o.cmpn(0));var l=new i(1).toRed(this),u=l.redNeg(),c=this.m.subn(1).ishrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var f=this.pow(h,o),a=this.pow(t,o.addn(1).ishrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(l);){for(var g=d,m=0;0!==g.cmp(l);m++)g=g.redSqr();r(m<p);var v=this.pow(f,new i(1).ishln(p-m-1));a=a.redMul(v),f=v.redSqr(),d=d.redMul(f),p=m}return a},f.prototype.invm=function(t){var e=t._invmp(this.m);return e.sign?(e.sign=!1,this.imod(e).redNeg()):this.imod(e)},f.prototype.pow=function(t,e){var r=[];if(0===e.cmpn(0))return new i(1);for(var n=e.clone();0!==n.cmpn(0);)r.push(n.andln(1)),n.ishrn(1);for(var a=t,o=0;o<r.length&&0===r[o];o++,a=this.sqr(a));if(++o<r.length)for(var n=this.sqr(a);o<r.length;o++,n=this.sqr(n))0!==r[o]&&(a=this.mul(a,n));return a},f.prototype.convertTo=function(t){var e=t.mod(this.m);return e===t?e.clone():e},f.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new d(t)},n(d,f),d.prototype.convertTo=function(t){return this.imod(t.shln(this.shift))},d.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},d.prototype.imul=function(t,e){if(0===t.cmpn(0)||0===e.cmpn(0))return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).ishrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},d.prototype.mul=function(t,e){if(0===t.cmpn(0)||0===e.cmpn(0))return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).ishrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},d.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}}(\"undefined\"==typeof e||e,this)},{}],56:[function(t,e,r){\"use strict\";function n(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],u=l.length;for(r=0;r<u;++r){var c=o[s++]=new Array(u-1),h=0;for(n=0;n<u;++n)n!==r&&(c[h++]=l[n]);if(1&r){var f=c[1];c[1]=c[0],c[0]=f}}}return o}e.exports=n},{}],57:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function i(t,e,r,i){for(var a=0,o=0,s=0,l=t.length;s<l;++s){var u=t[s];if(!n(e,u)){for(var c=0;c<2*e;++c)r[a++]=u[c];i[o++]=s}}return o}function a(t,e,r,n){var a=t.length,o=e.length;if(!(a<=0||o<=0)){var s=t[0].length>>>1;if(!(s<=0)){var l,u=h.mallocDouble(2*s*a),c=h.mallocInt32(a);if(a=i(t,s,u,c),a>0){if(1===s&&n)f.init(a),l=f.sweepComplete(s,r,0,a,u,c,0,a,u,c);else{var p=h.mallocDouble(2*s*o),g=h.mallocInt32(o);o=i(e,s,p,g),o>0&&(f.init(a+o),l=1===s?f.sweepBipartite(s,r,0,a,u,c,0,o,p,g):d(s,r,n,a,u,c,o,p,g),h.free(p),h.free(g))}h.free(u),h.free(c)}return l}}}function o(t,e){c.push([t,e])}function s(t){return c=[],a(t,t,o,!0),c}function l(t,e){return c=[],a(t,e,o,!1),c}function u(t,e,r){switch(arguments.length){case 1:return s(t);case 2:return\"function\"==typeof e?a(t,t,e,!0):l(t,e);case 3:return a(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}e.exports=u;var c,h=t(\"typedarray-pool\"),f=t(\"./lib/sweep\"),d=t(\"./lib/intersect\")},{\"./lib/intersect\":59,\"./lib/sweep\":63,\"typedarray-pool\":496}],58:[function(t,e,r){\"use strict\";function n(t,e,r){var n=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),i=[\"function \",n,\"(\",w.join(),\"){\",\"var \",u,\"=2*\",a,\";\"],l=\"for(var i=\"+c+\",\"+p+\"=\"+u+\"*\"+c+\";i<\"+h+\";++i,\"+p+\"+=\"+u+\"){var x0=\"+f+\"[\"+o+\"+\"+p+\"],x1=\"+f+\"[\"+o+\"+\"+p+\"+\"+a+\"],xi=\"+d+\"[i];\",M=\"for(var j=\"+g+\",\"+x+\"=\"+u+\"*\"+g+\";j<\"+m+\";++j,\"+x+\"+=\"+u+\"){var y0=\"+v+\"[\"+o+\"+\"+x+\"],\"+(r?\"y1=\"+v+\"[\"+o+\"+\"+x+\"+\"+a+\"],\":\"\")+\"yi=\"+y+\"[j];\";return t?i.push(l,_,\":\",M):i.push(M,_,\":\",l),r?i.push(\"if(y1<x0||x1<y0)continue;\"):e?i.push(\"if(y0<=x0||x1<y0)continue;\"):i.push(\"if(y0<x0||x1<y0)continue;\"),i.push(\"for(var k=\"+o+\"+1;k<\"+a+\";++k){var r0=\"+f+\"[k+\"+p+\"],r1=\"+f+\"[k+\"+a+\"+\"+p+\"],b0=\"+v+\"[k+\"+x+\"],b1=\"+v+\"[k+\"+a+\"+\"+x+\"];if(r1<b0||b1<r0)continue \"+_+\";}var \"+b+\"=\"+s+\"(\"),e?i.push(\"yi,xi\"):i.push(\"xi,yi\"),i.push(\");if(\"+b+\"!==void 0)return \"+b+\";}}}\"),{name:n,code:i.join(\"\")}}function i(t){function e(e,r){var a=n(e,r,t);i.push(a.code),o.push(\"return \"+a.name+\"(\"+w.join()+\");\")}var r=\"bruteForce\"+(t?\"Full\":\"Partial\"),i=[],a=w.slice();t||a.splice(3,0,l);var o=[\"function \"+r+\"(\"+a.join()+\"){\"];o.push(\"if(\"+h+\"-\"+c+\">\"+m+\"-\"+g+\"){\"),t?(e(!0,!1),o.push(\"}else{\"),e(!1,!1)):(o.push(\"if(\"+l+\"){\"),e(!0,!0),o.push(\"}else{\"),e(!0,!1),o.push(\"}}else{if(\"+l+\"){\"),e(!1,!0),o.push(\"}else{\"),e(!1,!1),o.push(\"}\")),o.push(\"}}return \"+r);var s=i.join(\"\")+o.join(\"\"),u=new Function(s);return u()}var a=\"d\",o=\"ax\",s=\"vv\",l=\"fp\",u=\"es\",c=\"rs\",h=\"re\",f=\"rb\",d=\"ri\",p=\"rp\",g=\"bs\",m=\"be\",v=\"bb\",y=\"bi\",x=\"bp\",b=\"rv\",_=\"Q\",w=[a,o,s,c,h,f,d,g,m,v,y];r.partial=i(!1),r.full=i(!0)},{}],59:[function(t,e,r){\"use strict\";function n(t,e){var r=8*u.log2(e+1)*(t+1)|0,n=u.nextPow2(k*r);S.length<n&&(l.free(S),S=l.mallocInt32(n));\nvar i=u.nextPow2(T*r);L<i&&(l.free(L),L=l.mallocDouble(i))}function i(t,e,r,n,i,a,o,s,l){var u=k*t;S[u]=e,S[u+1]=r,S[u+2]=n,S[u+3]=i,S[u+4]=a,S[u+5]=o;var c=T*t;L[c]=s,L[c+1]=l}function a(t,e,r,n,i,a,o,s,l,u,c){var h=2*t,f=l*h,d=u[f+e];t:for(var p=i,g=i*h;p<a;++p,g+=h){var m=o[g+e],v=o[g+e+t];if(!(d<m||v<d||n&&d===m)){for(var y=s[p],x=e+1;x<t;++x){var m=o[g+x],v=o[g+x+t],b=u[f+x],_=u[f+x+t];if(v<b||_<m)continue t}var w;if(w=n?r(c,y):r(y,c),void 0!==w)return w}}}function o(t,e,r,n,i,a,o,s,l,u){var c=2*t,h=s*c,f=l[h+e];t:for(var d=n,p=n*c;d<i;++d,p+=c){var g=o[d];if(g!==u){var m=a[p+e],v=a[p+e+t];if(!(f<m||v<f)){for(var y=e+1;y<t;++y){var m=a[p+y],v=a[p+y+t],x=l[h+y],b=l[h+y+t];if(v<x||b<m)continue t}var _=r(g,u);if(void 0!==_)return _}}}}function s(t,e,r,s,l,u,c,g,E){n(t,s+c);var z,C=0,I=2*t;for(i(C++,0,0,s,0,c,r?16:0,-(1/0),1/0),r||i(C++,0,0,c,0,s,1,-(1/0),1/0);C>0;){C-=1;var P=C*k,D=S[P],O=S[P+1],R=S[P+2],F=S[P+3],j=S[P+4],N=S[P+5],B=C*T,U=L[B],V=L[B+1],q=1&N,H=!!(16&N),G=l,X=u,Y=g,W=E;if(q&&(G=g,X=E,Y=l,W=u),!(2&N&&(R=_(t,D,O,R,G,X,V),O>=R)||4&N&&(O=w(t,D,O,R,G,X,U),O>=R))){var Z=R-O,Q=j-F;if(H){if(t*Z*(Z+Q)<y){if(z=d.scanComplete(t,D,e,O,R,G,X,F,j,Y,W),void 0!==z)return z;continue}}else{if(t*Math.min(Z,Q)<m){if(z=h(t,D,e,q,O,R,G,X,F,j,Y,W),void 0!==z)return z;continue}if(t*Z*Q<v){if(z=d.scanBipartite(t,D,e,q,O,R,G,X,F,j,Y,W),void 0!==z)return z;continue}}var K=x(t,D,O,R,G,X,U,V);if(O<K)if(t*(K-O)<m){if(z=f(t,D+1,e,O,K,G,X,F,j,Y,W),void 0!==z)return z}else if(D===t-2){if(z=q?d.sweepBipartite(t,e,F,j,Y,W,O,K,G,X):d.sweepBipartite(t,e,O,K,G,X,F,j,Y,W),void 0!==z)return z}else i(C++,D+1,O,K,F,j,q,-(1/0),1/0),i(C++,D+1,F,j,O,K,1^q,-(1/0),1/0);if(K<R){var $=p(t,D,F,j,Y,W),J=Y[I*$+D],tt=b(t,D,$,j,Y,W,J);if(tt<j&&i(C++,D,K,R,tt,j,(4|q)+(H?16:0),J,V),F<$&&i(C++,D,K,R,F,$,(2|q)+(H?16:0),U,J),$+1===tt){if(z=H?o(t,D,e,K,R,G,X,$,Y,W[$]):a(t,D,e,q,K,R,G,X,$,Y,W[$]),void 0!==z)return z}else if($<tt){var et;if(H){if(et=M(t,D,K,R,G,X,J),K<et){var rt=b(t,D,K,et,G,X,J);if(D===t-2){if(K<rt&&(z=d.sweepComplete(t,e,K,rt,G,X,$,tt,Y,W),void 0!==z))return z;if(rt<et&&(z=d.sweepBipartite(t,e,rt,et,G,X,$,tt,Y,W),void 0!==z))return z}else K<rt&&i(C++,D+1,K,rt,$,tt,16,-(1/0),1/0),rt<et&&(i(C++,D+1,rt,et,$,tt,0,-(1/0),1/0),i(C++,D+1,$,tt,rt,et,1,-(1/0),1/0))}}else et=q?A(t,D,K,R,G,X,J):M(t,D,K,R,G,X,J),K<et&&(D===t-2?z=q?d.sweepBipartite(t,e,$,tt,Y,W,K,et,G,X):d.sweepBipartite(t,e,K,et,G,X,$,tt,Y,W):(i(C++,D+1,K,et,$,tt,q,-(1/0),1/0),i(C++,D+1,$,tt,K,et,1^q,-(1/0),1/0)))}}}}}e.exports=s;var l=t(\"typedarray-pool\"),u=t(\"bit-twiddle\"),c=t(\"./brute\"),h=c.partial,f=c.full,d=t(\"./sweep\"),p=t(\"./median\"),g=t(\"./partition\"),m=128,v=1<<22,y=1<<22,x=g(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),b=g(\"lo===p0\",[\"p0\"]),_=g(\"lo<p0\",[\"p0\"]),w=g(\"hi<=p0\",[\"p0\"]),M=g(\"lo<=p0&&p0<=hi\",[\"p0\"]),A=g(\"lo<p0&&p0<=hi\",[\"p0\"]),k=6,T=2,E=1024,S=l.mallocInt32(E),L=l.mallocDouble(E)},{\"./brute\":58,\"./median\":60,\"./partition\":61,\"./sweep\":63,\"bit-twiddle\":54,\"typedarray-pool\":496}],60:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var u=i[s],c=l,h=o*(l-1);c>r&&i[h+e]>u;--c,h-=o){for(var f=h,d=h+o,p=0;p<o;++p,++f,++d){var g=i[f];i[f]=i[d],i[d]=g}var m=a[c];a[c]=a[c-1],a[c-1]=m}}function i(t,e,r,i,a,l){if(i<=r+1)return r;for(var u=r,c=i,h=i+r>>>1,f=2*t,d=h,p=a[f*h+e];u<c;){if(c-u<s){n(t,e,u,c,a,l),p=a[f*h+e];break}var g=c-u,m=Math.random()*g+u|0,v=a[f*m+e],y=Math.random()*g+u|0,x=a[f*y+e],b=Math.random()*g+u|0,_=a[f*b+e];v<=x?_>=x?(d=y,p=x):v>=_?(d=m,p=v):(d=b,p=_):x>=_?(d=y,p=x):_>=v?(d=m,p=v):(d=b,p=_);for(var w=f*(c-1),M=f*d,A=0;A<f;++A,++w,++M){var k=a[w];a[w]=a[M],a[M]=k}var T=l[c-1];l[c-1]=l[d],l[d]=T,d=o(t,e,u,c-1,a,l,p);for(var w=f*(c-1),M=f*d,A=0;A<f;++A,++w,++M){var k=a[w];a[w]=a[M],a[M]=k}var T=l[c-1];if(l[c-1]=l[d],l[d]=T,h<d){for(c=d-1;u<c&&a[f*(c-1)+e]===p;)c-=1;c+=1}else{if(!(d<h))break;for(u=d+1;u<c&&a[f*u+e]===p;)u+=1}}return o(t,e,r,h,a,l,a[f*h+e])}e.exports=i;var a=t(\"./partition\"),o=a(\"lo<p0\",[\"p0\"]),s=8},{\"./partition\":61}],61:[function(t,e,r){\"use strict\";function n(t,e){var r=\"abcdef\".split(\"\").concat(e),n=[];return t.indexOf(\"lo\")>=0&&n.push(\"lo=e[k+n]\"),t.indexOf(\"hi\")>=0&&n.push(\"hi=e[k+o]\"),r.push(i.replace(\"_\",n.join()).replace(\"$\",t)),Function.apply(void 0,r)}e.exports=n;var i=\"for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m\"},{}],62:[function(t,e,r){\"use strict\";function n(t,e){e<=4*f?i(0,e-1,t):h(0,e-1,t)}function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(u<a)break;if(u===a&&c<o)break;r[l]=u,r[l+1]=c,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){t*=2,e*=2;var n=r[t],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){t*=2,e*=2,r[t]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){t*=2,e*=2,r*=2;var i=n[t],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function l(t,e,r,n,i){t*=2,e*=2,i[t]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function u(t,e,r){t*=2,e*=2;var n=r[t],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function c(t,e,r,n){t*=2;var i=n[t];return i<e||i===e&&n[t+1]<r}function h(t,e,r){var n=(e-t+1)/6|0,d=t+n,p=e-n,g=t+e>>1,m=g-n,v=g+n,y=d,x=m,b=g,_=v,w=p,M=t+1,A=e-1,k=0;u(y,x,r)&&(k=y,y=x,x=k),u(_,w,r)&&(k=_,_=w,w=k),u(y,b,r)&&(k=y,y=b,b=k),u(x,b,r)&&(k=x,x=b,b=k),u(y,_,r)&&(k=y,y=_,_=k),u(b,_,r)&&(k=b,b=_,_=k),u(x,w,r)&&(k=x,x=w,w=k),u(x,b,r)&&(k=x,x=b,b=k),u(_,w,r)&&(k=_,_=w,w=k);for(var T=r[2*x],E=r[2*x+1],S=r[2*_],L=r[2*_+1],z=2*y,C=2*b,I=2*w,P=2*d,D=2*g,O=2*p,R=0;R<2;++R){var F=r[z+R],j=r[C+R],N=r[I+R];r[P+R]=F,r[D+R]=j,r[O+R]=N}o(m,t,r),o(v,e,r);for(var B=M;B<=A;++B)if(c(B,T,E,r))B!==M&&a(B,M,r),++M;else if(!c(B,S,L,r))for(;;){if(c(A,S,L,r)){c(A,T,E,r)?(s(B,M,A,r),++M,--A):(a(B,A,r),--A);break}if(--A<B)break}l(t,M-1,T,E,r),l(e,A+1,S,L,r),M-2-t<=f?i(t,M-2,r):h(t,M-2,r),e-(A+2)<=f?i(A+2,e,r):h(A+2,e,r),A-M<=f?i(M,A,r):h(M,A,r)}e.exports=n;var f=32},{}],63:[function(t,e,r){\"use strict\";function n(t){var e=h.nextPow2(t);g.length<e&&(c.free(g),g=c.mallocInt32(e)),m.length<e&&(c.free(m),m=c.mallocInt32(e)),v.length<e&&(c.free(v),v=c.mallocInt32(e)),y.length<e&&(c.free(y),y=c.mallocInt32(e)),x.length<e&&(c.free(x),x=c.mallocInt32(e)),b.length<e&&(c.free(b),b=c.mallocInt32(e));var r=8*e;_.length<r&&(c.free(_),_=c.mallocDouble(r))}function i(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function a(t,e,r,n){t[r]=n,e[n]=r}function o(t,e,r,n,o,s,l,u,c,h){for(var p=0,x=2*t,b=t-1,w=x-1,M=r;M<n;++M){var A=s[M],k=x*M;_[p++]=o[k+b],_[p++]=-(A+1),_[p++]=o[k+w],_[p++]=A}for(var M=l;M<u;++M){var A=h[M]+d,T=x*M;_[p++]=c[T+b],_[p++]=-A,_[p++]=c[T+w],_[p++]=A}var E=p>>>1;f(_,E);for(var S=0,L=0,M=0;M<E;++M){var z=0|_[2*M+1];if(z>=d)z=z-d|0,i(v,y,L--,z);else if(z>=0)i(g,m,S--,z);else if(z<=-d){z=-z-d|0;for(var C=0;C<S;++C){var I=e(g[C],z);if(void 0!==I)return I}a(v,y,L++,z)}else{z=-z-1|0;for(var C=0;C<L;++C){var I=e(z,v[C]);if(void 0!==I)return I}a(g,m,S++,z)}}}function s(t,e,r,n,o,s,l,u,c,h){for(var d=0,p=2*t,w=t-1,M=p-1,A=r;A<n;++A){var k=s[A]+1<<1,T=p*A;_[d++]=o[T+w],_[d++]=-k,_[d++]=o[T+M],_[d++]=k}for(var A=l;A<u;++A){var k=h[A]+1<<1,E=p*A;_[d++]=c[E+w],_[d++]=1|-k,_[d++]=c[E+M],_[d++]=1|k}var S=d>>>1;f(_,S);for(var L=0,z=0,C=0,A=0;A<S;++A){var I=0|_[2*A+1],P=1&I;if(A<S-1&&I>>1===_[2*A+3]>>1&&(P=2,A+=1),I<0){for(var D=-(I>>1)-1,O=0;O<C;++O){var R=e(x[O],D);if(void 0!==R)return R}if(0!==P)for(var O=0;O<L;++O){var R=e(g[O],D);if(void 0!==R)return R}if(1!==P)for(var O=0;O<z;++O){var R=e(v[O],D);if(void 0!==R)return R}0===P?a(g,m,L++,D):1===P?a(v,y,z++,D):2===P&&a(x,b,C++,D)}else{var D=(I>>1)-1;0===P?i(g,m,L--,D):1===P?i(v,y,z--,D):2===P&&i(x,b,C--,D)}}}function l(t,e,r,n,o,s,l,u,c,h,p,v){var y=0,x=2*t,b=e,w=e+t,M=1,A=1;n?A=d:M=d;for(var k=o;k<s;++k){var T=k+M,E=x*k;_[y++]=l[E+b],_[y++]=-T,_[y++]=l[E+w],_[y++]=T}for(var k=c;k<h;++k){var T=k+A,S=x*k;_[y++]=p[S+b],_[y++]=-T}var L=y>>>1;f(_,L);for(var z=0,k=0;k<L;++k){var C=0|_[2*k+1];if(C<0){var T=-C,I=!1;if(T>=d?(I=!n,T-=d):(I=!!n,T-=1),I)a(g,m,z++,T);else{var P=v[T],D=x*T,O=p[D+e+1],R=p[D+e+1+t];t:for(var F=0;F<z;++F){var j=g[F],N=x*j;if(!(R<l[N+e+1]||l[N+e+1+t]<O)){for(var B=e+2;B<t;++B)if(p[D+B+t]<l[N+B]||l[N+B+t]<p[D+B])continue t;var U,V=u[j];if(U=n?r(P,V):r(V,P),void 0!==U)return U}}}}else i(g,m,z--,C-M)}}function u(t,e,r,n,i,a,o,s,l,u,c){for(var h=0,p=2*t,m=e,v=e+t,y=n;y<i;++y){var x=y+d,b=p*y;_[h++]=a[b+m],_[h++]=-x,_[h++]=a[b+v],_[h++]=x}for(var y=s;y<l;++y){var x=y+1,w=p*y;_[h++]=u[w+m],_[h++]=-x}var M=h>>>1;f(_,M);for(var A=0,y=0;y<M;++y){var k=0|_[2*y+1];if(k<0){var x=-k;if(x>=d)g[A++]=x-d;else{x-=1;var T=c[x],E=p*x,S=u[E+e+1],L=u[E+e+1+t];t:for(var z=0;z<A;++z){var C=g[z],I=o[C];if(I===T)break;var P=p*C;if(!(L<a[P+e+1]||a[P+e+1+t]<S)){for(var D=e+2;D<t;++D)if(u[E+D+t]<a[P+D]||a[P+D+t]<u[E+D])continue t;var O=r(I,T);if(void 0!==O)return O}}}}else{for(var x=k-d,z=A-1;z>=0;--z)if(g[z]===x){for(var D=z+1;D<A;++D)g[D-1]=g[D];break}--A}}}e.exports={init:n,sweepBipartite:o,sweepComplete:s,scanBipartite:l,scanComplete:u};var c=t(\"typedarray-pool\"),h=t(\"bit-twiddle\"),f=t(\"./sort\"),d=1<<28,p=1024,g=c.mallocInt32(p),m=c.mallocInt32(p),v=c.mallocInt32(p),y=c.mallocInt32(p),x=c.mallocInt32(p),b=c.mallocInt32(p),_=c.mallocDouble(8*p)},{\"./sort\":62,\"bit-twiddle\":54,\"typedarray-pool\":496}],64:[function(t,e,r){(function(e){\"use strict\";function n(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&\"function\"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}function i(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(i()<e)throw new RangeError(\"Invalid typed array length\");return o.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=o.prototype):(null===t&&(t=new o(e)),t.length=e),t}function o(t,e,r){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(t,e,r);if(\"number\"==typeof t){if(\"string\"==typeof e)throw new Error(\"If encoding is specified then the first argument must be a string\");return c(this,t)}return s(this,t,e,r)}function s(t,e,r,n){if(\"number\"==typeof e)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?d(t,e,r,n):\"string\"==typeof e?h(t,e,r):p(t,e)}function l(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be a number');if(t<0)throw new RangeError('\"size\" argument must not be negative')}function u(t,e,r,n){return l(e),e<=0?a(t,e):void 0!==r?\"string\"==typeof n?a(t,e).fill(r,n):a(t,e).fill(r):a(t,e)}function c(t,e){if(l(e),t=a(t,e<0?0:0|g(e)),!o.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}function h(t,e,r){if(\"string\"==typeof r&&\"\"!==r||(r=\"utf8\"),!o.isEncoding(r))throw new TypeError('\"encoding\" must be a valid string encoding');var n=0|v(e,r);t=a(t,n);var i=t.write(e,r);return i!==n&&(t=t.slice(0,i)),t}function f(t,e){var r=e.length<0?0:0|g(e.length);t=a(t,r);for(var n=0;n<r;n+=1)t[n]=255&e[n];return t}function d(t,e,r,n){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError(\"'offset' is out of bounds\");if(e.byteLength<r+(n||0))throw new RangeError(\"'length' is out of bounds\");return e=void 0===r&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,r):new Uint8Array(e,r,n),o.TYPED_ARRAY_SUPPORT?(t=e,t.__proto__=o.prototype):t=f(t,e),t}function p(t,e){if(o.isBuffer(e)){var r=0|g(e.length);return t=a(t,r),0===t.length?t:(e.copy(t,0,0,r),t)}if(e){if(\"undefined\"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||\"length\"in e)return\"number\"!=typeof e.length||Q(e.length)?a(t,0):f(t,e);if(\"Buffer\"===e.type&&J(e.data))return f(t,e.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function g(t){if(t>=i())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+i().toString(16)+\" bytes\");return 0|t}function m(t){return+t!=t&&(t=0),o.alloc(+t)}function v(t,e){if(o.isBuffer(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return G(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return W(t).length;default:if(n)return G(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function y(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if(r>>>=0,e>>>=0,r<=e)return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return P(this,e,r);case\"utf8\":case\"utf-8\":return L(this,e,r);case\"ascii\":return C(this,e,r);case\"latin1\":case\"binary\":return I(this,e,r);case\"base64\":return S(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return D(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function x(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function b(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=o.from(e,n)),o.isBuffer(e))return 0===e.length?-1:_(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,o.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):_(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function _(t,e,r,n,i){function a(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var o=1,s=t.length,l=e.length;if(void 0!==n&&(n=String(n).toLowerCase(),\"ucs2\"===n||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}var u;if(i){var c=-1;for(u=r;u<s;u++)if(a(t,u)===a(e,c===-1?0:u-c)){if(c===-1&&(c=u),u-c+1===l)return c*o}else c!==-1&&(u-=u-c),c=-1}else for(r+l>s&&(r=s-l),u=r;u>=0;u--){for(var h=!0,f=0;f<l;f++)if(a(t,u+f)!==a(e,f)){h=!1;break}if(h)return u}return-1}function w(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;var a=e.length;if(a%2!==0)throw new TypeError(\"Invalid hex string\");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(isNaN(s))return o;t[r+o]=s}return o}function M(t,e,r,n){return Z(G(e,t.length-r),t,r,n)}function A(t,e,r,n){return Z(X(e),t,r,n)}function k(t,e,r,n){return A(t,e,r,n)}function T(t,e,r,n){return Z(W(e),t,r,n)}function E(t,e,r,n){return Z(Y(e,t.length-r),t,r,n)}function S(t,e,r){return 0===e&&r===t.length?K.fromByteArray(t):K.fromByteArray(t.slice(e,r))}function L(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a=t[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var l,u,c,h;switch(s){case 1:a<128&&(o=a);break;case 2:l=t[i+1],128===(192&l)&&(h=(31&a)<<6|63&l,h>127&&(o=h));break;case 3:l=t[i+1],u=t[i+2],128===(192&l)&&128===(192&u)&&(h=(15&a)<<12|(63&l)<<6|63&u,h>2047&&(h<55296||h>57343)&&(o=h));break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128===(192&l)&&128===(192&u)&&128===(192&c)&&(h=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c,h>65535&&h<1114112&&(o=h))}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return z(n)}function z(t){var e=t.length;if(e<=tt)return String.fromCharCode.apply(String,t);for(var r=\"\",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=tt));return r}function C(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function I(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function P(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",a=e;a<r;++a)i+=H(t[a]);return i}function D(t,e,r){for(var n=t.slice(e,r),i=\"\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function O(t,e,r){if(t%1!==0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function R(t,e,r,n,i,a){if(!o.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\"Index out of range\")}function F(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,a=Math.min(t.length-r,2);i<a;++i)t[r+i]=(e&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function j(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,a=Math.min(t.length-r,4);i<a;++i)t[r+i]=e>>>8*(n?i:3-i)&255}function N(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function B(t,e,r,n,i){return i||N(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(t,e,r,n,23,4),r+4}function U(t,e,r,n,i){return i||N(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(t,e,r,n,52,8),r+8}function V(t){if(t=q(t).replace(et,\"\"),t.length<2)return\"\";for(;t.length%4!==0;)t+=\"=\";return t}function q(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}function H(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function G(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o<n;++o){if(r=t.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function X(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}function Y(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function W(t){return K.toByteArray(V(t))}function Z(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function Q(t){return t!==t}var K=t(\"base64-js\"),$=t(\"ieee754\"),J=t(\"isarray\");r.Buffer=o,r.SlowBuffer=m,r.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:n(),r.kMaxLength=i(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,e,r){return s(null,t,e,r)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,e,r){return u(null,t,e,r)},o.allocUnsafe=function(t){return c(null,t)},o.allocUnsafeSlow=function(t){return c(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,e){if(!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError(\"Arguments must be Buffers\");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},o.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},o.concat=function(t,e){if(!J(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return o.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=o.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(!o.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;e<t;e+=2)x(this,e,e+1);return this},o.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)x(this,e,e+3),x(this,e+1,e+2);return this},o.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)x(this,e,e+7),x(this,e+1,e+6),x(this,e+2,e+5),x(this,e+3,e+4);return this},o.prototype.toString=function(){var t=0|this.length;return 0===t?\"\":0===arguments.length?L(this,0,t):y.apply(this,arguments)},o.prototype.equals=function(t){if(!o.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===o.compare(this,t)},o.prototype.inspect=function(){var t=\"\",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\"hex\",0,e).match(/.{2}/g).join(\" \"),this.length>e&&(t+=\" ... \")),\"<Buffer \"+t+\">\"},o.prototype.compare=function(t,e,r,n,i){if(!o.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,s=r-e,l=Math.min(a,s),u=this.slice(n,i),c=t.slice(e,r),h=0;h<l;++h)if(u[h]!==c[h]){a=u[h],s=c[h];break}return a<s?-1:s<a?1:0},o.prototype.includes=function(t,e,r){return this.indexOf(t,e,r)!==-1},o.prototype.indexOf=function(t,e,r){return b(this,t,e,r,!0)},o.prototype.lastIndexOf=function(t,e,r){return b(this,t,e,r,!1)},o.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e|=0,isFinite(r)?(r|=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return w(this,t,e,r);case\"utf8\":case\"utf-8\":return M(this,t,e,r);case\"ascii\":return A(this,t,e,r);case\"latin1\":case\"binary\":return k(this,t,e,r);case\"base64\":return T(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return E(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},o.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var tt=4096;o.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e<t&&(e=t);var n;if(o.TYPED_ARRAY_SUPPORT)n=this.subarray(t,e),n.__proto__=o.prototype;else{var i=e-t;n=new o(i,void 0);for(var a=0;a<i;++a)n[a]=this[a+t]}return n},o.prototype.readUIntLE=function(t,e,r){t|=0,e|=0,r||O(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},o.prototype.readUIntBE=function(t,e,r){t|=0,e|=0,r||O(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},o.prototype.readUInt8=function(t,e){return e||O(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return e||O(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return e||O(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||O(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},o.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||O(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*e)),a},o.prototype.readInt8=function(t,e){return e||O(t,1,this.length),128&this[t]?(255-this[t]+1)*-1:this[t]},o.prototype.readInt16LE=function(t,e){e||O(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt16BE=function(t,e){e||O(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt32LE=function(t,e){return e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return e||O(t,4,this.length),$.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return e||O(t,4,this.length),$.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return e||O(t,8,this.length),$.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return e||O(t,8,this.length),$.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e|=0,r|=0,!n){var i=Math.pow(2,8*r)-1;R(this,t,e,r,i,0)}var a=1,o=0;for(this[e]=255&t;++o<r&&(a*=256);)this[e+o]=t/a&255;return e+r},o.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e|=0,r|=0,!n){var i=Math.pow(2,8*r)-1;R(this,t,e,r,i,0)}var a=r-1,o=1;for(this[e+a]=255&t;--a>=0&&(o*=256);)this[e+a]=t/o&255;return e+r},o.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,1,255,0),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):F(this,t,e,!0),e+2},o.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):F(this,t,e,!1),e+2},o.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):j(this,t,e,!0),e+4},o.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):j(this,t,e,!1),e+4},o.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);R(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},o.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);R(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},o.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,1,127,-128),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):F(this,t,e,!0),e+2},o.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):F(this,t,e,!1),e+2},o.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):j(this,t,e,!0),e+4},o.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||R(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):j(this,t,e,!1),e+4},o.prototype.writeFloatLE=function(t,e,r){return B(this,t,e,!0,r)},o.prototype.writeFloatBE=function(t,e,r){return B(this,t,e,!1,r)},o.prototype.writeDoubleLE=function(t,e,r){return U(this,t,e,!0,r)},o.prototype.writeDoubleBE=function(t,e,r){return U(this,t,e,!1,r)},o.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,a=n-r;if(this===t&&r<e&&e<n)for(i=a-1;i>=0;--i)t[i+e]=this[i+r];else if(a<1e3||!o.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},o.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!o.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n)}else\"number\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\"Out of range index\");if(r<=e)return this;e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0);var a;if(\"number\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var s=o.isBuffer(t)?t:G(new o(t,n).toString()),l=s.length;for(a=0;a<r-e;++a)this[a+e]=s[a%l]}return this};var et=/[^+\\/0-9A-Za-z-_]/g}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"base64-js\":65,ieee754:253,isarray:66}],65:[function(t,e,r){\"use strict\";function n(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");return\"=\"===t[e-2]?2:\"=\"===t[e-1]?1:0}function i(t){return 3*t.length/4-n(t)}function a(t){var e,r,i,a,o,s,l=t.length;o=n(t),s=new h(3*l/4-o),i=o>0?l-4:l;var u=0;for(e=0,r=0;e<i;e+=4,r+=3)a=c[t.charCodeAt(e)]<<18|c[t.charCodeAt(e+1)]<<12|c[t.charCodeAt(e+2)]<<6|c[t.charCodeAt(e+3)],s[u++]=a>>16&255,s[u++]=a>>8&255,s[u++]=255&a;return 2===o?(a=c[t.charCodeAt(e)]<<2|c[t.charCodeAt(e+1)]>>4,s[u++]=255&a):1===o&&(a=c[t.charCodeAt(e)]<<10|c[t.charCodeAt(e+1)]<<4|c[t.charCodeAt(e+2)]>>2,s[u++]=a>>8&255,s[u++]=255&a),s}function o(t){return u[t>>18&63]+u[t>>12&63]+u[t>>6&63]+u[63&t]}function s(t,e,r){for(var n,i=[],a=e;a<r;a+=3)n=(t[a]<<16)+(t[a+1]<<8)+t[a+2],i.push(o(n));return i.join(\"\")}function l(t){for(var e,r=t.length,n=r%3,i=\"\",a=[],o=16383,l=0,c=r-n;l<c;l+=o)a.push(s(t,l,l+o>c?c:l+o));return 1===n?(e=t[r-1],i+=u[e>>2],i+=u[e<<4&63],i+=\"==\"):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=u[e>>10],i+=u[e>>4&63],i+=u[e<<2&63],i+=\"=\"),a.push(i),a.join(\"\")}r.byteLength=i,r.toByteArray=a,r.fromByteArray=l;for(var u=[],c=[],h=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",d=0,p=f.length;d<p;++d)u[d]=f[d],c[f.charCodeAt(d)]=d;c[\"-\".charCodeAt(0)]=62,c[\"_\".charCodeAt(0)]=63},{}],66:[function(t,e,r){var n={}.toString;e.exports=Array.isArray||function(t){return\"[object Array]\"==n.call(t)}},{}],67:[function(t,e,r){\"use strict\";function n(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function i(t,e){return t[0]-e[0]||t[1]-e[1]}function a(t){return t.map(n).sort(i)}function o(t,e,r){return e in t?t[e]:r}function s(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var n=!!o(r,\"delaunay\",!0),i=!!o(r,\"interior\",!0),s=!!o(r,\"exterior\",!0),f=!!o(r,\"infinity\",!1);if(!i&&!s||0===t.length)return[];var d=l(t,e);if(n||i!==s||f){for(var p=u(t.length,a(e)),g=0;g<d.length;++g){var m=d[g];p.addTriangle(m[0],m[1],m[2])}return n&&c(t,p),s?i?f?h(p,0,f):p.cells():h(p,1,f):h(p,-1)}return d}var l=t(\"./lib/monotone\"),u=t(\"./lib/triangulation\"),c=t(\"./lib/delaunay\"),h=t(\"./lib/filter\");e.exports=s},{\"./lib/delaunay\":68,\"./lib/filter\":69,\"./lib/monotone\":70,\"./lib/triangulation\":71}],68:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,o){var s=e.opposite(n,i);if(!(s<0)){if(i<n){var l=n;n=i,i=l,l=o,o=s,s=l}e.isConstraint(n,i)||a(t[n],t[i],t[o],t[s])<0&&r.push(n,i)}}function i(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],u=1;u<l.length;u+=2){var c=l[u];if(!(c<s||e.isConstraint(s,c))){\nfor(var h=l[u-1],f=-1,d=1;d<l.length;d+=2)if(l[d-1]===c){f=l[d];break}f<0||a(t[s],t[c],t[h],t[f])<0&&r.push(s,c)}}for(;r.length>0;){for(var c=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],p=1;p<l.length;p+=2){var g=l[p-1],m=l[p];g===c?f=m:m===c&&(h=g)}h<0||f<0||a(t[s],t[c],t[h],t[f])>=0||(e.flip(s,c),n(t,e,r,h,s,f),n(t,e,r,s,f,h),n(t,e,r,f,c,h),n(t,e,r,c,h,f))}}var a=t(\"robust-in-sphere\")[4];t(\"binary-search-bounds\");e.exports=i},{\"binary-search-bounds\":72,\"robust-in-sphere\":463}],69:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function i(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}function a(t,e){for(var r=t.cells(),a=r.length,o=0;o<a;++o){var s=r[o],l=s[0],u=s[1],c=s[2];u<c?u<l&&(s[0]=u,s[1]=c,s[2]=l):c<l&&(s[0]=c,s[1]=l,s[2]=u)}r.sort(i);for(var h=new Array(a),o=0;o<h.length;++o)h[o]=0;var f=[],d=[],p=new Array(3*a),g=new Array(3*a),m=null;e&&(m=[]);for(var v=new n(r,p,g,h,f,d,m),o=0;o<a;++o)for(var s=r[o],y=0;y<3;++y){var l=s[y],u=s[(y+1)%3],x=p[3*o+y]=v.locate(u,l,t.opposite(u,l)),b=g[3*o+y]=t.isConstraint(l,u);x<0&&(b?d.push(o):(f.push(o),h[o]=1),e&&m.push([u,l,-1]))}return v}function o(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}function s(t,e,r){var n=a(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;for(var i=1,s=n.active,l=n.next,u=n.flags,c=n.cells,h=n.constraint,f=n.neighbor;s.length>0||l.length>0;){for(;s.length>0;){var d=s.pop();if(u[d]!==-i){u[d]=i;for(var p=(c[d],0);p<3;++p){var g=f[3*d+p];g>=0&&0===u[g]&&(h[3*d+p]?l.push(g):(s.push(g),u[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=o(c,u,e);return r?v.concat(n.boundary):v}var l=t(\"binary-search-bounds\");e.exports=s;var u=n.prototype;u.locate=function(){var t=[0,0,0];return function(e,r,n){var a=e,o=r,s=n;return r<n?r<e&&(a=r,o=n,s=e):n<e&&(a=n,o=e,s=r),a<0?-1:(t[0]=a,t[1]=o,t[2]=s,l.eq(this.cells,t,i))}}()},{\"binary-search-bounds\":72}],70:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function i(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function a(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r?r:t.type!==p&&(r=d(t.a,t.b,e.b))?r:t.idx-e.idx}function o(t,e){return d(t.a,t.b,e)}function s(t,e,r,n,i){for(var a=f.lt(e,n,o),s=f.gt(e,n,o),l=a;l<s;++l){for(var u=e[l],c=u.lowerIds,h=c.length;h>1&&d(r[c[h-2]],r[c[h-1]],n)>0;)t.push([c[h-1],c[h-2],i]),h-=1;c.length=h,c.push(i);for(var p=u.upperIds,h=p.length;h>1&&d(r[p[h-2]],r[p[h-1]],n)<0;)t.push([p[h-2],p[h-1],i]),h-=1;p.length=h,p.push(i)}}function l(t,e){var r;return(r=t.a[0]<e.a[0]?d(t.a,t.b,e.a):d(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?d(t.a,t.b,e.b):d(e.b,e.a,t.b),r||t.idx-e.idx)}function u(t,e,r){var i=f.le(t,r,l),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new n(r.a,r.b,r.idx,[s],o))}function c(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=f.eq(t,r,l),a=t[i],o=t[i-1];o.upperIds=a.upperIds,t.splice(i,1)}function h(t,e){for(var r=t.length,o=e.length,l=[],h=0;h<r;++h)l.push(new i(t[h],null,p,h));for(var h=0;h<o;++h){var f=e[h],d=t[f[0]],v=t[f[1]];d[0]<v[0]?l.push(new i(d,v,m,h),new i(v,d,g,h)):d[0]>v[0]&&l.push(new i(v,d,m,h),new i(d,v,g,h))}l.sort(a);for(var y=l[0].a[0]-(1+Math.abs(l[0].a[0]))*Math.pow(2,-52),x=[new n([y,1],[y,0],-1,[],[],[],[])],b=[],h=0,_=l.length;h<_;++h){var w=l[h],M=w.type;M===p?s(b,x,t,w.a,w.idx):M===m?u(x,t,w):c(x,t,w)}return b}var f=t(\"binary-search-bounds\"),d=t(\"robust-orientation\")[3],p=0,g=1,m=2;e.exports=h},{\"binary-search-bounds\":72,\"robust-orientation\":465}],71:[function(t,e,r){\"use strict\";function n(t,e){this.stars=t,this.edges=e}function i(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}function a(t,e){for(var r=new Array(t),i=0;i<t;++i)r[i]=[];return new n(r,e)}var o=t(\"binary-search-bounds\");e.exports=a;var s=n.prototype;s.isConstraint=function(){function t(t,e){return t[0]-e[0]||t[1]-e[1]}var e=[0,0];return function(r,n){return e[0]=Math.min(r,n),e[1]=Math.max(r,n),o.eq(this.edges,e,t)>=0}}(),s.removeTriangle=function(t,e,r){var n=this.stars;i(n[t],e,r),i(n[e],r,t),i(n[r],t,e)},s.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},s.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},s.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},s.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},s.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\"binary-search-bounds\":72}],72:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",i?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a[m]\"];return i?e.indexOf(\"c\")<0?a.push(\";if(x===y){return m}else if(x<=y){\"):a.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):a.push(\";if(\",e,\"){i=m;\"),r?a.push(\"l=m+1}else{h=m-1}\"):a.push(\"h=m-1}else{l=m+1}\"),a.push(\"}\"),i?a.push(\"return -1};\"):a.push(\"return i};\"),a.join(\"\")}function i(t,e,r,i){var a=new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],i),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],i),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch\",r].join(\"\"));return a()}e.exports={ge:i(\">=\",!1,\"GE\"),gt:i(\">\",!1,\"GT\"),lt:i(\"<\",!0,\"LT\"),le:i(\"<=\",!0,\"LE\"),eq:i(\"-\",!0,\"EQ\",!0)}},{}],73:[function(t,e,r){\"use strict\";function n(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}e.exports=n},{}],74:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function i(t){var e=t.length;if(0===e)return[];var r=(t[0].length,o([t.length+1,t.length+1],1)),i=o([t.length+1],1);r[e][e]=0;for(var a=0;a<e;++a){for(var l=0;l<=a;++l)r[l][a]=r[a][l]=2*n(t[a],t[l]);i[a]=n(t[a],t[a])}for(var u=s(r,i),c=0,h=u[e+1],a=0;a<h.length;++a)c+=h[a];for(var f=new Array(e),a=0;a<e;++a){for(var h=u[a],d=0,l=0;l<h.length;++l)d+=h[l];f[a]=d/c}return f}function a(t){if(0===t.length)return[];for(var e=t[0].length,r=o([e]),n=i(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*n[a];return r}var o=t(\"dup\"),s=t(\"robust-linear-solve\");a.barycenetric=i,e.exports=a},{dup:98,\"robust-linear-solve\":464}],75:[function(t,e,r){function n(t){for(var e=i(t),r=0,n=0;n<t.length;++n)for(var a=t[n],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)}e.exports=n;var i=t(\"circumcenter\")},{circumcenter:74}],76:[function(t,e,r){\"use strict\";function n(t){var e=b(t),r=x(y(e),t);return r<0?[e,w(e,1/0)]:r>0?[w(e,-(1/0)),e]:[e,e]}function i(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[Math.min(a[0],o[0]),Math.min(a[1],o[1]),Math.max(a[0],o[0]),Math.max(a[1],o[1])]}return r}function a(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[n[0],n[1],n[0],n[1]]}return e}function o(t,e,r){var n=[];return m(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&&a[0]!==o[1]&&a[1]!==o[0]&&a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],u=t[o[0]],c=t[o[1]];v(s,l,u,c)&&n.push([r,i])}}),n}function s(t,e,r,n){var i=[];return m(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];v(s,l,o,o)&&i.push([r,n])}}),i}function l(t,e,r,n,i){function a(e){if(e>=t.length)return o[e-t.length];var r=t[e];return[y(r[0]),y(r[1])]}for(var o=[],s=0;s<r.length;++s){var l=r[s],u=l[0],c=l[1],h=e[u],f=e[c],d=M(_(t[h[0]]),_(t[h[1]]),_(t[f[0]]),_(t[f[1]]));if(d){var p=o.length+t.length;o.push(d),n.push([u,p],[c,p])}}n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=a(t[1]),n=a(e[1]);return x(r[0],n[0])||x(r[1],n[1])});for(var s=n.length-1;s>=0;--s){var g=n[s],u=g[0],m=e[u],v=m[0],b=m[1],w=t[v],A=t[b];if((w[0]-A[0]||w[1]-A[1])<0){var k=v;v=b,b=k}m[0]=v;var T,E=m[1]=g[1];for(i&&(T=m[2]);s>0&&n[s-1][0]===u;){var g=n[--s],S=g[1];i?e.push([E,S,T]):e.push([E,S]),E=S}i?e.push([E,b,T]):e.push([E,b])}return o}function u(t,e,r){for(var i=t.length+e.length,a=new g(i),o=r,s=0;s<e.length;++s){var l=e[s],u=n(l[0]),c=n(l[1]);o.push([u[0],c[0],u[1],c[1]]),t.push([b(l[0]),b(l[1])])}m(o,function(t,e){a.link(t,e)});for(var h=0,f=!0,d=new Array(i),s=0;s<i;++s){var p=a.find(s);p===s?(d[s]=h,t[h++]=t[s]):(f=!1,d[s]=-1)}if(t.length=h,f)return null;for(var s=0;s<i;++s)d[s]<0&&(d[s]=d[a.find(s)]);return d}function c(t,e){return t[0]-e[0]||t[1]-e[1]}function h(t,e){var r=t[0]-e[0]||t[1]-e[1];return r?r:t[2]<e[2]?-1:t[2]>e[2]?1:0}function f(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=t[n],a=e[i[0]],o=e[i[1]];i[0]=Math.min(a,o),i[1]=Math.max(a,o)}else for(var n=0;n<t.length;++n){var i=t[n],a=i[0],o=i[1];i[0]=Math.min(a,o),i[1]=Math.max(a,o)}r?t.sort(h):t.sort(c);for(var s=1,n=1;n<t.length;++n){var l=t[n-1],u=t[n];(u[0]!==l[0]||u[1]!==l[1]||r&&u[2]!==l[2])&&(t[s++]=u)}t.length=s}}function d(t,e,r){var n=i(t,e),c=o(t,e,n),h=a(t),d=s(t,e,n,h),p=l(t,e,c,d,r),g=u(t,p,h);return f(e,g,r),!!g||(c.length>0||d.length>0)}function p(t,e,r){var n,i=!1;if(r){n=e;for(var a=new Array(e.length),o=0;o<e.length;++o){var s=e[o];a[o]=[s[0],s[1],r[o]]}e=a}for(;d(t,e,!!r);)i=!0;if(r&&i){n.length=0,r.length=0;for(var o=0;o<e.length;++o){var s=e[o];n.push([s[0],s[1]]),r.push(s[2])}}return i}e.exports=p;var g=t(\"union-find\"),m=t(\"box-intersect\"),v=(t(\"compare-cell\"),t(\"robust-segment-intersect\")),y=t(\"big-rat\"),x=t(\"big-rat/cmp\"),b=t(\"big-rat/to-float\"),_=t(\"rat-vec\"),w=t(\"nextafter\"),M=t(\"./lib/rat-seg-intersect\")},{\"./lib/rat-seg-intersect\":77,\"big-rat\":40,\"big-rat/cmp\":38,\"big-rat/to-float\":52,\"box-intersect\":57,\"compare-cell\":82,nextafter:428,\"rat-vec\":453,\"robust-segment-intersect\":468,\"union-find\":497}],77:[function(t,e,r){\"use strict\";function n(t,e){return s(a(t[0],e[1]),a(t[1],e[0]))}function i(t,e,r,i){var a=u(e,t),s=u(i,r),f=n(a,s);if(0===l(f))return null;var d=u(t,r),p=n(s,d),g=o(p,f);return c(t,h(a,g))}e.exports=i;var a=t(\"big-rat/mul\"),o=t(\"big-rat/div\"),s=t(\"big-rat/sub\"),l=t(\"big-rat/sign\"),u=t(\"rat-vec/sub\"),c=t(\"rat-vec/add\"),h=t(\"rat-vec/muls\");t(\"big-rat/to-float\")},{\"big-rat/div\":39,\"big-rat/mul\":49,\"big-rat/sign\":50,\"big-rat/sub\":51,\"big-rat/to-float\":52,\"rat-vec/add\":452,\"rat-vec/muls\":454,\"rat-vec/sub\":455}],78:[function(t,e,r){(function(t){var r=function(){\"use strict\";function e(r,n,i,a){function s(r,i){if(null===r)return null;if(0==i)return r;var l,f;if(\"object\"!=typeof r)return r;if(e.__isArray(r))l=[];else if(e.__isRegExp(r))l=new RegExp(r.source,o(r)),r.lastIndex&&(l.lastIndex=r.lastIndex);else if(e.__isDate(r))l=new Date(r.getTime());else{if(h&&t.isBuffer(r))return l=new t(r.length),r.copy(l),l;\"undefined\"==typeof a?(f=Object.getPrototypeOf(r),l=Object.create(f)):(l=Object.create(a),f=a)}if(n){var d=u.indexOf(r);if(d!=-1)return c[d];u.push(r),c.push(l)}for(var p in r){var g;f&&(g=Object.getOwnPropertyDescriptor(f,p)),g&&null==g.set||(l[p]=s(r[p],i-1))}return l}var l;\"object\"==typeof n&&(i=n.depth,a=n.prototype,l=n.filter,n=n.circular);var u=[],c=[],h=\"undefined\"!=typeof t;return\"undefined\"==typeof n&&(n=!0),\"undefined\"==typeof i&&(i=1/0),s(r,i)}function r(t){return Object.prototype.toString.call(t)}function n(t){return\"object\"==typeof t&&\"[object Date]\"===r(t)}function i(t){return\"object\"==typeof t&&\"[object Array]\"===r(t)}function a(t){return\"object\"==typeof t&&\"[object RegExp]\"===r(t)}function o(t){var e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),e}return e.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},e.__objToStr=r,e.__isDate=n,e.__isArray=i,e.__isRegExp=a,e.__getRegExpFlags=o,e}();\"object\"==typeof e&&e.exports&&(e.exports=r)}).call(this,t(\"buffer\").Buffer)},{buffer:64}],79:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:0,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],80:[function(t,e,r){\"use strict\";function n(t){var e,r,n,u,c,h,f,d,p,g,m,v,y,x=[],b=[],_=[],w=[];if(o.isPlainObject(t)||(t={}),p=t.nshades||72,d=t.format||\"hex\",f=t.colormap,f||(f=\"jet\"),\"string\"==typeof f){if(f=f.toLowerCase(),!l[f])throw Error(f+\" not a supported colorscale\");h=s(l[f])}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);h=s(f)}if(h.length>p)throw new Error(f+\" map requires nshades to be at least size \"+h.length);for(m=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:s(t.alpha):\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=h.map(function(t){return Math.round(t.index*p)}),m[0]<0&&(m[0]=0),m[1]<0&&(m[0]=0),m[0]>1&&(m[0]=1),m[1]>1&&(m[0]=1),y=0;y<e.length;++y)v=h[y].index,r=h[y].rgb,4===r.length&&r[3]>=0&&r[3]<=1||(r[3]=m[0]+(m[1]-m[0])*v);for(y=0;y<e.length-1;++y)c=e[y+1]-e[y],n=h[y].rgb,u=h[y+1].rgb,x=x.concat(o.linspace(n[0],u[0],c)),b=b.concat(o.linspace(n[1],u[1],c)),_=_.concat(o.linspace(n[2],u[2],c)),w=w.concat(o.linspace(n[3],u[3],c));return x=x.map(Math.round),b=b.map(Math.round),_=_.map(Math.round),g=o.zip(x,b,_,w),\"hex\"===d&&(g=g.map(i)),\"rgbaString\"===d&&(g=g.map(a)),g}function i(t){for(var e,r=\"#\",n=0;n<3;++n)e=t[n],e=e.toString(16),r+=(\"00\"+e).substr(e.length);return r}function a(t){return\"rgba(\"+t.join(\",\")+\")\"}var o=t(\"arraytools\"),s=t(\"clone\"),l=t(\"./colorScales\");e.exports=n},{\"./colorScales\":79,arraytools:33,clone:78}],81:[function(t,e,r){\"use strict\";function n(t,e,r){var n=s(t[0],-e[0]),i=s(t[1],-e[1]),a=s(r[0],-e[0]),o=s(r[1],-e[1]),c=u(l(n,a),l(i,o));return c[c.length-1]>=0}function i(t,e,r,i){var s=a(e,r,i);if(0===s){var l=o(a(t,e,r)),u=o(a(t,e,i));if(l===u){if(0===l){var c=n(t,e,r),h=n(t,e,i);return c===h?0:c?1:-1}return 0}return 0===u?l>0?-1:n(t,e,i)?-1:1:0===l?u>0?1:n(t,e,r)?1:-1:o(u-l)}var f=a(t,e,r);if(f>0)return s>0&&a(t,e,i)>0?1:-1;if(f<0)return s>0||a(t,e,i)>0?1:-1;var d=a(t,e,i);return d>0?1:n(t,e,r)?1:-1}e.exports=i;var a=t(\"robust-orientation\"),o=t(\"signum\"),s=t(\"two-sum\"),l=t(\"robust-product\"),u=t(\"robust-sum\")},{\"robust-orientation\":465,\"robust-product\":466,\"robust-sum\":470,signum:472,\"two-sum\":495}],82:[function(t,e,r){function n(t,e){return t-e}function i(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||a(t[0],t[1])-a(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=a(t[0],t[1]),u=a(e[0],e[1]);return a(l,t[2])-a(u,e[2])||a(l+t[2],o)-a(u+e[2],s);case 4:var c=t[0],h=t[1],f=t[2],d=t[3],p=e[0],g=e[1],m=e[2],v=e[3];return c+h+f+d-(p+g+m+v)||a(c,h,f,d)-a(p,g,m,v,p)||a(c+h,c+f,c+d,h+f,h+d,f+d)-a(p+g,p+m,p+v,g+m,g+v,m+v)||a(c+h+f,c+h+d,c+f+d,h+f+d)-a(p+g+m,p+g+v,p+m+v,g+m+v);default:for(var y=t.slice().sort(n),x=e.slice().sort(n),b=0;b<r;++b)if(i=y[b]-x[b])return i;return 0}}e.exports=i;var a=Math.min},{}],83:[function(t,e,r){\"use strict\";function n(t,e){return i(t,e)||a(t)-a(e)}var i=t(\"compare-cell\"),a=t(\"cell-orientation\");e.exports=n},{\"cell-orientation\":73,\"compare-cell\":82}],84:[function(t,e,r){\"use strict\";function n(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?i(t):2===r?a(t):o(t,r)}var i=t(\"./lib/ch1d\"),a=t(\"./lib/ch2d\"),o=t(\"./lib/chnd\");e.exports=n},{\"./lib/ch1d\":85,\"./lib/ch2d\":86,\"./lib/chnd\":87}],85:[function(t,e,r){\"use strict\";function n(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}e.exports=n},{}],86:[function(t,e,r){\"use strict\";function n(t){var e=i(t),r=e.length;if(r<=2)return[];for(var n=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];n[o]=[a,s],a=s}return n}e.exports=n;var i=t(\"monotone-convex-hull-2d\")},{\"monotone-convex-hull-2d\":412}],87:[function(t,e,r){\"use strict\";function n(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}function i(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}function a(t,e){try{return o(t,!0)}catch(u){var r=s(t);if(r.length<=e)return[];var a=n(t,r),l=o(a,!0);return i(l,r)}}e.exports=a;var o=t(\"incremental-convex-hull\"),s=t(\"affine-hull\")},{\"affine-hull\":30,\"incremental-convex-hull\":254}],88:[function(t,e,r){e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CPV:\"verde\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bdr|\\\\bdr.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bdr)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|\\xe7)ao\",CYP:\"cyprus\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",CSK:\"czechoslovakia\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"ireland\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat).*\\\\bkorea|^(?=.*people).*\\\\bkorea|^(?=.*north).*\\\\bkorea|dprk\",KOR:\"^(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MKD:\"macedonia|fyrom\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"micronesia\",MDA:\"moldov|b(a|e)ssarabia\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",REU:\"r(e|\\xe9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xe9)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|\\xe3)o.?tom(e|\\xe9)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"\\\\bs\\\\w*.?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",TZA:\"tanzania\",THA:\"thailand|\\\\bsiam\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",USA:\"united.?states|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|\\\\bu\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",\nYUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},{}],89:[function(t,e,r){function n(t){return t=Math.round(t),t<0?0:t>255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return n(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function o(t){return i(\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}function l(t){var e=t.replace(/ /g,\"\").toLowerCase();if(e in u)return u[e].slice();if(\"#\"===e[0]){if(4===e.length){var r=parseInt(e.substr(1),16);return r>=0&&r<=4095?[(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,1]:null}if(7===e.length){var r=parseInt(e.substr(1),16);return r>=0&&r<=16777215?[(16711680&r)>>16,(65280&r)>>8,255&r,1]:null}return null}var i=e.indexOf(\"(\"),l=e.indexOf(\")\");if(i!==-1&&l+1===e.length){var c=e.substr(0,i),h=e.substr(i+1,l-(i+1)).split(\",\"),f=1;switch(c){case\"rgba\":if(4!==h.length)return null;f=o(h.pop());case\"rgb\":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case\"hsla\":if(4!==h.length)return null;f=o(h.pop());case\"hsl\":if(3!==h.length)return null;var d=(parseFloat(h[0])%360+360)%360/360,p=o(h[1]),g=o(h[2]),m=g<=.5?g*(p+1):g+p-g*p,v=2*g-m;return[n(255*s(v,m,d+1/3)),n(255*s(v,m,d)),n(255*s(v,m,d-1/3)),f];default:return null}}return null}var u={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{r.parseCSSColor=l}catch(t){}},{}],90:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}function i(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var d=t.length-1;d>=0;--d)a[d]=u*t[d]+c*e[d]+h*r[d]+f*n[d];return a}return u*t+c*e+h*r+f*n}e.exports=i,e.exports.derivative=n},{}],91:[function(t,e,r){\"use strict\";function n(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=\"\",this.pre=null,this.body=null,this.post=null,this.debug=!1}function i(t){var e=new n;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i<r.length;++i){var o=r[i];if(\"array\"===o||\"object\"==typeof o&&o.blockIndices){if(e.argTypes[i]=\"array\",e.arrayArgs.push(i),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push(\"array\"+i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error(\"cwise: pre() block may not reference array args\");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error(\"cwise: post() block may not reference array args\")}else if(\"scalar\"===o)e.scalarArgs.push(i),e.shimArgs.push(\"scalar\"+i);else if(\"index\"===o){if(e.indexArgs.push(i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error(\"cwise: pre() block may not reference array index\");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error(\"cwise: body() block may not write to array index\");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error(\"cwise: post() block may not reference array index\")}else if(\"shape\"===o){if(e.shapeArgs.push(i),i<e.pre.args.length&&e.pre.args[i].lvalue)throw new Error(\"cwise: pre() block may not write to array shape\");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error(\"cwise: body() block may not write to array shape\");if(i<e.post.args.length&&e.post.args[i].lvalue)throw new Error(\"cwise: post() block may not write to array shape\")}else{if(\"object\"!=typeof o||!o.offset)throw new Error(\"cwise: Unknown argument type \"+r[i]);e.argTypes[i]=\"offset\",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length<=0)throw new Error(\"cwise: No array arguments specified\");if(e.pre.args.length>r.length)throw new Error(\"cwise: Too many arguments in pre() block\");if(e.body.args.length>r.length)throw new Error(\"cwise: Too many arguments in body() block\");if(e.post.args.length>r.length)throw new Error(\"cwise: Too many arguments in post() block\");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||\"cwise\",e.blockSize=t.blockSize||64,a(e)}var a=t(\"./lib/thunk.js\");e.exports=i},{\"./lib/thunk.js\":93}],92:[function(t,e,r){\"use strict\";function n(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],u=[],c=0,h=0;for(n=0;n<a;++n)u.push([\"i\",n,\"=0\"].join(\"\"));for(i=0;i<o;++i)for(n=0;n<a;++n)h=c,c=t[n],0===n?u.push([\"d\",i,\"s\",n,\"=t\",i,\"p\",c].join(\"\")):u.push([\"d\",i,\"s\",n,\"=(t\",i,\"p\",c,\"-s\",h,\"*t\",i,\"p\",h,\")\"].join(\"\"));for(l.push(\"var \"+u.join(\",\")),n=a-1;n>=0;--n)c=t[n],l.push([\"for(i\",n,\"=0;i\",n,\"<s\",c,\";++i\",n,\"){\"].join(\"\"));for(l.push(r),n=0;n<a;++n){for(h=c,c=t[n],i=0;i<o;++i)l.push([\"p\",i,\"+=d\",i,\"s\",n].join(\"\"));s&&(n>0&&l.push([\"index[\",h,\"]-=s\",h].join(\"\")),l.push([\"++index[\",c,\"]\"].join(\"\"))),l.push(\"}\")}return l.join(\"\\n\")}function i(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,u=[],c=0;c<o;++c)u.push([\"var offset\",c,\"=p\",c].join(\"\"));for(var c=t;c<a;++c)u.push([\"for(var j\"+c+\"=SS[\",e[c],\"]|0;j\",c,\">0;){\"].join(\"\")),u.push([\"if(j\",c,\"<\",s,\"){\"].join(\"\")),u.push([\"s\",e[c],\"=j\",c].join(\"\")),u.push([\"j\",c,\"=0\"].join(\"\")),u.push([\"}else{s\",e[c],\"=\",s].join(\"\")),u.push([\"j\",c,\"-=\",s,\"}\"].join(\"\")),l&&u.push([\"index[\",e[c],\"]=j\",c].join(\"\"));for(var c=0;c<o;++c){for(var h=[\"offset\"+c],f=t;f<a;++f)h.push([\"j\",f,\"*t\",c,\"p\",e[f]].join(\"\"));u.push([\"p\",c,\"=(\",h.join(\"+\"),\")\"].join(\"\"))}u.push(n(e,r,i));for(var c=t;c<a;++c)u.push(\"}\");return u.join(\"\\n\")}function a(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}function o(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\"g\"),u=\"\",c=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\"offset\":var h=e.offsetArgIndex.indexOf(o),f=e.offsetArgs[h];c=f.array,u=\"+q\"+h;case\"array\":u=\"p\"+c+u;var d=\"l\"+o,p=\"a\"+c;if(0===e.arrayBlockIndices[c])1===s.count?\"generic\"===r[c]?s.lvalue?(i.push([\"var \",d,\"=\",p,\".get(\",u,\")\"].join(\"\")),n=n.replace(l,d),a.push([p,\".set(\",u,\",\",d,\")\"].join(\"\"))):n=n.replace(l,[p,\".get(\",u,\")\"].join(\"\")):n=n.replace(l,[p,\"[\",u,\"]\"].join(\"\")):\"generic\"===r[c]?(i.push([\"var \",d,\"=\",p,\".get(\",u,\")\"].join(\"\")),n=n.replace(l,d),s.lvalue&&a.push([p,\".set(\",u,\",\",d,\")\"].join(\"\"))):(i.push([\"var \",d,\"=\",p,\"[\",u,\"]\"].join(\"\")),n=n.replace(l,d),s.lvalue&&a.push([p,\"[\",u,\"]=\",d].join(\"\")));else{for(var g=[s.name],m=[u],v=0;v<Math.abs(e.arrayBlockIndices[c]);v++)g.push(\"\\\\s*\\\\[([^\\\\]]+)\\\\]\"),m.push(\"$\"+(v+1)+\"*t\"+c+\"b\"+v);if(l=new RegExp(g.join(\"\"),\"g\"),u=m.join(\"+\"),\"generic\"===r[c])throw new Error(\"cwise: Generic arrays not supported in combination with blocks!\");n=n.replace(l,[p,\"[\",u,\"]\"].join(\"\"))}break;case\"scalar\":n=n.replace(l,\"Y\"+e.scalarArgs.indexOf(o));break;case\"index\":n=n.replace(l,\"index\");break;case\"shape\":n=n.replace(l,\"shape\")}}}return[i.join(\"\\n\"),n,a.join(\"\\n\")].join(\"\\n\").trim()}function s(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\d+/);a=a?a[0]:\"\",0===i.charAt(0)?e[n]=\"u\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\"\")}function l(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,l=new Array(t.arrayArgs.length),c=new Array(t.arrayArgs.length),h=0;h<t.arrayArgs.length;++h)c[h]=e[2*h],l[h]=e[2*h+1];for(var f=[],d=[],p=[],g=[],m=[],h=0;h<t.arrayArgs.length;++h){t.arrayBlockIndices[h]<0?(p.push(0),g.push(r),f.push(r),d.push(r+t.arrayBlockIndices[h])):(p.push(t.arrayBlockIndices[h]),g.push(t.arrayBlockIndices[h]+r),f.push(0),d.push(t.arrayBlockIndices[h]));for(var v=[],y=0;y<l[h].length;y++)p[h]<=l[h][y]&&l[h][y]<g[h]&&v.push(l[h][y]-p[h]);m.push(v)}for(var x=[\"SS\"],b=[\"'use strict'\"],_=[],y=0;y<r;++y)_.push([\"s\",y,\"=SS[\",y,\"]\"].join(\"\"));for(var h=0;h<t.arrayArgs.length;++h){x.push(\"a\"+h),x.push(\"t\"+h),x.push(\"p\"+h);for(var y=0;y<r;++y)_.push([\"t\",h,\"p\",y,\"=t\",h,\"[\",p[h]+y,\"]\"].join(\"\"));for(var y=0;y<Math.abs(t.arrayBlockIndices[h]);++y)_.push([\"t\",h,\"b\",y,\"=t\",h,\"[\",f[h]+y,\"]\"].join(\"\"))}for(var h=0;h<t.scalarArgs.length;++h)x.push(\"Y\"+h);if(t.shapeArgs.length>0&&_.push(\"shape=SS.slice(0)\"),t.indexArgs.length>0){for(var w=new Array(r),h=0;h<r;++h)w[h]=\"0\";_.push([\"index=[\",w.join(\",\"),\"]\"].join(\"\"))}for(var h=0;h<t.offsetArgs.length;++h){for(var M=t.offsetArgs[h],A=[],y=0;y<M.offset.length;++y)0!==M.offset[y]&&(1===M.offset[y]?A.push([\"t\",M.array,\"p\",y].join(\"\")):A.push([M.offset[y],\"*t\",M.array,\"p\",y].join(\"\")));0===A.length?_.push(\"q\"+h+\"=0\"):_.push([\"q\",h,\"=\",A.join(\"+\")].join(\"\"))}var k=u([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));_=_.concat(k),b.push(\"var \"+_.join(\",\"));for(var h=0;h<t.arrayArgs.length;++h)b.push(\"p\"+h+\"|=0\");t.pre.body.length>3&&b.push(o(t.pre,t,c));var T=o(t.body,t,c),E=a(m);E<r?b.push(i(E,m[0],t,T)):b.push(n(m[0],t,T)),t.post.body.length>3&&b.push(o(t.post,t,c)),t.debug&&console.log(\"-----Generated cwise routine for \",e,\":\\n\"+b.join(\"\\n\")+\"\\n----------\");var S=[t.funcName||\"unnamed\",\"_cwise_loop_\",l[0].join(\"s\"),\"m\",E,s(c)].join(\"\"),L=new Function([\"function \",S,\"(\",x.join(\",\"),\"){\",b.join(\"\\n\"),\"} return \",S].join(\"\"));return L()}var u=t(\"uniq\");e.exports=l},{uniq:498}],93:[function(t,e,r){\"use strict\";function n(t){var e=[\"'use strict'\",\"var CACHED={}\"],r=[],n=t.funcName+\"_cwise_thunk\";e.push([\"return function \",n,\"(\",t.shimArgs.join(\",\"),\"){\"].join(\"\"));for(var a=[],o=[],s=[[\"array\",t.arrayArgs[0],\".shape.slice(\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\",\"+t.arrayBlockIndices[0]+\")\":\")\"].join(\"\")],l=[],u=[],c=0;c<t.arrayArgs.length;++c){var h=t.arrayArgs[c];r.push([\"t\",h,\"=array\",h,\".dtype,\",\"r\",h,\"=array\",h,\".order\"].join(\"\")),a.push(\"t\"+h),a.push(\"r\"+h),o.push(\"t\"+h),o.push(\"r\"+h+\".join()\"),s.push(\"array\"+h+\".data\"),s.push(\"array\"+h+\".stride\"),s.push(\"array\"+h+\".offset|0\"),c>0&&(l.push(\"array\"+t.arrayArgs[0]+\".shape.length===array\"+h+\".shape.length+\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),u.push(\"array\"+t.arrayArgs[0]+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[0])+\"]===array\"+h+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[c])+\"]\"))}t.arrayArgs.length>1&&(e.push(\"if (!(\"+l.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same dimensionality!')\"),e.push(\"for(var shapeIndex=array\"+t.arrayArgs[0]+\".shape.length-\"+Math.abs(t.arrayBlockIndices[0])+\"; shapeIndex-->0;) {\"),e.push(\"if (!(\"+u.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same shape!')\"),e.push(\"}\"));for(var c=0;c<t.scalarArgs.length;++c)s.push(\"scalar\"+t.scalarArgs[c]);r.push([\"type=[\",o.join(\",\"),\"].join()\"].join(\"\")),r.push(\"proc=CACHED[type]\"),e.push(\"var \"+r.join(\",\")),e.push([\"if(!proc){\",\"CACHED[type]=proc=compile([\",a.join(\",\"),\"])}\",\"return proc(\",s.join(\",\"),\")}\"].join(\"\")),t.debug&&console.log(\"-----Generated thunk:\\n\"+e.join(\"\\n\")+\"\\n----------\");var f=new Function(\"compile\",e.join(\"\\n\"));return f(i.bind(void 0,t))}var i=t(\"./compile.js\");e.exports=n},{\"./compile.js\":92}],94:[function(t,e,r){e.exports=t(\"cwise-compiler\")},{\"cwise-compiler\":91}],95:[function(e,r,n){!function(){function e(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function i(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function a(t){return null===t?NaN:+t}function o(t){return!isNaN(t)}function s(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}function l(t){return t.length}function u(t){for(var e=1;t*e%1;)e*=10;return e}function c(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function h(){this._=Object.create(null)}function f(t){return(t+=\"\")===_o||t[0]===wo?wo+t:t}function d(t){return(t+=\"\")[0]===wo?t.slice(1):t}function p(t){return f(t)in this._}function g(t){return(t=f(t))in this._&&delete this._[t]}function m(){var t=[];for(var e in this._)t.push(d(e));return t}function v(){var t=0;for(var e in this._)++t;return t}function y(){for(var t in this._)return!1;return!0}function x(){this._=Object.create(null)}function b(t){return t}function _(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function w(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=Mo.length;r<n;++r){var i=Mo[r]+e;if(i in t)return i}}function M(){}function A(){}function k(t){function e(){for(var e,n=r,i=-1,a=n.length;++i<a;)(e=n[i].on)&&e.apply(this,arguments);return t}var r=[],n=new h;return e.on=function(e,i){var a,o=n.get(e);return arguments.length<2?o&&o.on:(o&&(o.on=null,r=r.slice(0,a=r.indexOf(o)).concat(r.slice(a+1)),n.remove(e)),i&&r.push(n.set(e,{on:i})),t)},e}function T(){uo.event.preventDefault()}function E(){for(var t,e=uo.event;t=e.sourceEvent;)e=t;return e}function S(t){for(var e=new A,r=0,n=arguments.length;++r<n;)e[arguments[r]]=k(e);return e.of=function(r,n){return function(i){try{var a=i.sourceEvent=uo.event;i.target=t,uo.event=i,e[i.type].apply(r,n)}finally{uo.event=a}}},e}function L(t){return ko(t,Lo),t}function z(t){return\"function\"==typeof t?t:function(){return To(t,this)}}function C(t){return\"function\"==typeof t?t:function(){return Eo(t,this)}}function I(t,e){function r(){this.removeAttribute(t)}function n(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function a(){this.setAttributeNS(t.space,t.local,e)}function o(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}function s(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}return t=uo.ns.qualify(t),null==e?t.local?n:r:\"function\"==typeof e?t.local?s:o:t.local?a:i}function P(t){return t.trim().replace(/\\s+/g,\" \")}function D(t){return new RegExp(\"(?:^|\\\\s+)\"+uo.requote(t)+\"(?:\\\\s+|$)\",\"g\")}function O(t){return(t+\"\").trim().split(/^|\\s+/)}function R(t,e){function r(){for(var r=-1;++r<i;)t[r](this,e)}function n(){for(var r=-1,n=e.apply(this,arguments);++r<i;)t[r](this,n)}t=O(t).map(F);var i=t.length;return\"function\"==typeof e?n:r}function F(t){var e=D(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\"class\")||\"\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\"class\",P(i+\" \"+t))):r.setAttribute(\"class\",P(i.replace(e,\" \")))}}function j(t,e,r){function n(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,r)}function a(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}return null==e?n:\"function\"==typeof e?a:i}function N(t,e){function r(){delete this[t]}function n(){this[t]=e}function i(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}return null==e?r:\"function\"==typeof e?i:n}function B(t){function e(){var e=this.ownerDocument,r=this.namespaceURI;return r===zo&&e.documentElement.namespaceURI===zo?e.createElement(t):e.createElementNS(r,t)}function r(){return this.ownerDocument.createElementNS(t.space,t.local)}return\"function\"==typeof t?t:(t=uo.ns.qualify(t)).local?r:e}function U(){var t=this.parentNode;t&&t.removeChild(this)}function V(t){return{__data__:t}}function q(t){return function(){return So(this,t)}}function H(t){return arguments.length||(t=i),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function G(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function X(t){return ko(t,Io),t}function Y(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&&(r=a,e=0),i>=e&&(e=i+1);!(o=s[e])&&++e<l;);return o}}function W(t,e,r){function n(){var e=this[o];e&&(this.removeEventListener(t,e,e.$),delete this[o])}function i(){var i=l(e,ho(arguments));n.call(this),this.addEventListener(t,this[o]=i,i.$=r),i._=e}function a(){var e,r=new RegExp(\"^__on([^.]+)\"+uo.requote(t)+\"$\");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}var o=\"__on\"+t,s=t.indexOf(\".\"),l=Z;s>0&&(t=t.slice(0,s));var u=Po.get(t);return u&&(t=u,l=Q),s?e?i:n:e?M:a}function Z(t,e){return function(r){var n=uo.event;uo.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{uo.event=n}}}function Q(t,e){var r=Z(t,e);return function(t){var e=this,n=t.relatedTarget;n&&(n===e||8&n.compareDocumentPosition(e))||r.call(e,t)}}function K(t){var r=\".dragsuppress-\"+ ++Oo,i=\"click\"+r,a=uo.select(n(t)).on(\"touchmove\"+r,T).on(\"dragstart\"+r,T).on(\"selectstart\"+r,T);if(null==Do&&(Do=!(\"onselectstart\"in t)&&w(t.style,\"userSelect\")),Do){var o=e(t).style,s=o[Do];o[Do]=\"none\"}return function(t){if(a.on(r,null),Do&&(o[Do]=s),t){var e=function(){a.on(i,null)};a.on(i,function(){T(),e()},!0),setTimeout(e,0)}}}function $(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(Ro<0){var a=n(t);if(a.scrollX||a.scrollY){r=uo.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var o=r[0][0].getScreenCTM();Ro=!(o.f||o.e),r.remove()}}return Ro?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function J(){return uo.event.changedTouches[0].identifier}function tt(t){return t>0?1:t<0?-1:0}function et(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function rt(t){return t>1?0:t<-1?No:Math.acos(t)}function nt(t){return t>1?Vo:t<-1?-Vo:Math.asin(t)}function it(t){return((t=Math.exp(t))-1/t)/2}function at(t){return((t=Math.exp(t))+1/t)/2}function ot(t){return((t=Math.exp(2*t))-1)/(t+1)}function st(t){return(t=Math.sin(t/2))*t}function lt(){}function ut(t,e,r){return this instanceof ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof ut?new ut(t.h,t.s,t.l):Mt(\"\"+t,At,ut):new ut(t,e,r)}function ct(t,e,r){function n(t){return t>360?t-=360:t<0&&(t+=360),t<60?a+(o-a)*t/60:t<180?o:t<240?a+(o-a)*(240-t)/60:a}function i(t){return Math.round(255*n(t))}var a,o;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,r=r<0?0:r>1?1:r,o=r<=.5?r*(1+e):r+e-r*e,a=2*r-o,new xt(i(t+120),i(t),i(t-120))}function ht(t,e,r){return this instanceof ht?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof ht?new ht(t.h,t.c,t.l):t instanceof dt?gt(t.l,t.a,t.b):gt((t=kt((t=uo.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new ht(t,e,r)}function ft(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new dt(r,Math.cos(t*=qo)*e,Math.sin(t)*e)}function dt(t,e,r){return this instanceof dt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof dt?new dt(t.l,t.a,t.b):t instanceof ht?ft(t.h,t.c,t.l):kt((t=xt(t)).r,t.g,t.b):new dt(t,e,r)}function pt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return i=mt(i)*ts,n=mt(n)*es,a=mt(a)*rs,new xt(yt(3.2404542*i-1.5371385*n-.4985314*a),yt(-.969266*i+1.8760108*n+.041556*a),yt(.0556434*i-.2040259*n+1.0572252*a))}function gt(t,e,r){return t>0?new ht(Math.atan2(r,e)*Ho,Math.sqrt(e*e+r*r),t):new ht(NaN,NaN,t)}function mt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function vt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function yt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function xt(t,e,r){return this instanceof xt?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof xt?new xt(t.r,t.g,t.b):Mt(\"\"+t,xt,ct):new xt(t,e,r)}function bt(t){return new xt(t>>16,t>>8&255,255&t)}function _t(t){return bt(t)+\"\"}function wt(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function Mt(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(Et(i[0]),Et(i[1]),Et(i[2]))}return(a=as.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function At(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new ut(n,i,l)}function kt(t,e,r){t=Tt(t),e=Tt(e),r=Tt(r);var n=vt((.4124564*t+.3575761*e+.1804375*r)/ts),i=vt((.2126729*t+.7151522*e+.072175*r)/es),a=vt((.0193339*t+.119192*e+.9503041*r)/rs);return dt(116*i-16,500*(n-i),200*(i-a))}function Tt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Et(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}function St(t){return\"function\"==typeof t?t:function(){return t}}function Lt(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),zt(e,r,t,n)}}function zt(t,e,r,n){function i(){var t,e=l.status;if(!e&&It(l)||e>=200&&e<300||304===e){try{t=r.call(a,l)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,l)}var a={},o=uo.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),s={},l=new XMLHttpRequest,u=null;return!this.XDomainRequest||\"withCredentials\"in l||!/^(http(s)?:)?\\/\\//.test(t)||(l=new XDomainRequest),\"onload\"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(t){var e=uo.event;uo.event=t;try{o.progress.call(a,l)}finally{uo.event=e}},a.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?s[t]:(null==e?delete s[t]:s[t]=e+\"\",a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+\"\",a):e},a.responseType=function(t){return arguments.length?(u=t,a):u},a.response=function(t){return r=t,a},[\"get\",\"post\"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(ho(arguments)))}}),a.send=function(r,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),l.open(r,t,!0),null==e||\"accept\"in s||(s.accept=e+\",*/*\"),l.setRequestHeader)for(var c in s)l.setRequestHeader(c,s[c]);return null!=e&&l.overrideMimeType&&l.overrideMimeType(e),null!=u&&(l.responseType=u),null!=i&&a.on(\"error\",i).on(\"load\",function(t){i(null,t)}),o.beforesend.call(a,l),l.send(null==n?null:n),a},a.abort=function(){return l.abort(),a},uo.rebind(a,o,\"on\"),null==n?a:a.get(Ct(n))}function Ct(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}function It(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}function Pt(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i=r+e,a={c:t,t:i,n:null};return ss?ss.n=a:os=a,ss=a,ls||(us=clearTimeout(us),ls=1,cs(Dt)),a}function Dt(){var t=Ot(),e=Rt()-t;e>24?(isFinite(e)&&(clearTimeout(us),us=setTimeout(Dt,e)),ls=0):(ls=1,cs(Dt))}function Ot(){for(var t=Date.now(),e=os;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Rt(){for(var t,e=os,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:os=e.n;return ss=t,r}function Ft(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function jt(t,e){var r=Math.pow(10,3*bo(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}}function Nt(t){var e=t.decimal,r=t.thousands,n=t.grouping,i=t.currency,a=n&&r?function(t,e){for(var i=t.length,a=[],o=0,s=n[0],l=0;i>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>e));)s=n[o=(o+1)%n.length];return a.reverse().join(r)}:b;return function(t){var r=fs.exec(t),n=r[1]||\" \",o=r[2]||\">\",s=r[3]||\"-\",l=r[4]||\"\",u=r[5],c=+r[6],h=r[7],f=r[8],d=r[9],p=1,g=\"\",m=\"\",v=!1,y=!0;switch(f&&(f=+f.substring(1)),(u||\"0\"===n&&\"=\"===o)&&(u=n=\"0\",o=\"=\"),d){case\"n\":h=!0,d=\"g\";break;case\"%\":p=100,m=\"%\",d=\"f\";break;case\"p\":p=100,m=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===l&&(g=\"0\"+d.toLowerCase());case\"c\":y=!1;case\"d\":v=!0,f=0;break;case\"s\":p=-1,d=\"r\"}\"$\"===l&&(g=i[0],m=i[1]),\"r\"!=d||f||(d=\"g\"),null!=f&&(\"g\"==d?f=Math.max(1,Math.min(21,f)):\"e\"!=d&&\"f\"!=d||(f=Math.max(0,Math.min(20,f)))),d=ds.get(d)||Bt;var x=u&&h;return function(t){var r=m;if(v&&t%1)return\"\";var i=t<0||0===t&&1/t<0?(t=-t,\"-\"):\"-\"===s?\"\":s;if(p<0){var l=uo.formatPrefix(t,f);t=l.scale(t),r=l.symbol+m}else t*=p;t=d(t,f);var b,_,w=t.lastIndexOf(\".\");if(w<0){var M=y?t.lastIndexOf(\"e\"):-1;M<0?(b=t,_=\"\"):(b=t.substring(0,M),_=t.substring(M))}else b=t.substring(0,w),_=e+t.substring(w+1);!u&&h&&(b=a(b,1/0));var A=g.length+b.length+_.length+(x?0:i.length),k=A<c?new Array(A=c-A+1).join(n):\"\";return x&&(b=a(k+b,k.length?c-_.length:1/0)),i+=g,t=b+_,(\"<\"===o?i+t+k:\">\"===o?k+i+t:\"^\"===o?k.substring(0,A>>=1)+i+t+k.substring(A):i+(x?t:k+t))+r}}}function Bt(t){return t+\"\"}function Ut(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Vt(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new gs(r-1)),1),r}function a(t,r){return e(t=new gs(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}function s(t,e,r){try{gs=Ut;var n=new Ut;return n._=t,o(n,e,r)}finally{gs=Date}}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var l=t.utc=qt(t);return l.floor=l,l.round=qt(n),l.ceil=qt(i),l.offset=qt(a),l.range=s,t}function qt(t){return function(e,r){try{gs=Ut;var n=new Ut;return n._=e,t(n,r)._}finally{gs=Date}}}function Ht(t){function e(t){function e(e){for(var r,i,a,o=[],s=-1,l=0;++s<n;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=vs[r=t.charAt(++s)])&&(r=t.charAt(++s)),(a=S[r])&&(r=a(e,null==i?\"e\"===r?\" \":\"0\":i)),o.push(r),l=s+1);return o.push(t.slice(l,s)),o.join(\"\")}var n=t.length;return e.parse=function(e){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=r(n,t,e,0);if(i!=e.length)return null;\"p\"in n&&(n.H=n.H%12+12*n.p);var a=null!=n.Z&&gs!==Ut,o=new(a?Ut:gs);return\"j\"in n?o.setFullYear(n.y,0,n.j):\"W\"in n||\"U\"in n?(\"w\"in n||(n.w=\"W\"in n?1:0),o.setFullYear(n.y,0,1),o.setFullYear(n.y,0,\"W\"in n?(n.w+6)%7+7*n.W-(o.getDay()+5)%7:n.w+7*n.U-(o.getDay()+6)%7)):o.setFullYear(n.y,n.m,n.d),o.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),a?o._:o},e.toString=function(){return t},e}function r(t,e,r,n){for(var i,a,o,s=0,l=e.length,u=r.length;s<l;){if(n>=u)return-1;if(i=e.charCodeAt(s++),37===i){if(o=e.charAt(s++),a=L[o in vs?e.charAt(s++):o],!a||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}function n(t,e,r){w.lastIndex=0;var n=w.exec(e.slice(r));return n?(t.w=M.get(n[0].toLowerCase()),r+n[0].length):-1}function i(t,e,r){b.lastIndex=0;var n=b.exec(e.slice(r));return n?(t.w=_.get(n[0].toLowerCase()),r+n[0].length):-1}function a(t,e,r){T.lastIndex=0;var n=T.exec(e.slice(r));return n?(t.m=E.get(n[0].toLowerCase()),r+n[0].length):-1}function o(t,e,r){A.lastIndex=0;var n=A.exec(e.slice(r));return n?(t.m=k.get(n[0].toLowerCase()),r+n[0].length):-1}function s(t,e,n){return r(t,S.c.toString(),e,n)}function l(t,e,n){return r(t,S.x.toString(),e,n)}function u(t,e,n){return r(t,S.X.toString(),e,n)}function c(t,e,r){var n=x.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,g=t.days,m=t.shortDays,v=t.months,y=t.shortMonths;e.utc=function(t){function r(t){try{gs=Ut;var e=new gs;return e._=t,n(e)}finally{gs=Date}}var n=e(t);return r.parse=function(t){try{gs=Ut;var e=n.parse(t);return e&&e._}finally{gs=Date}},r.toString=n.toString,r},e.multi=e.utc.multi=ce;var x=uo.map(),b=Xt(g),_=Yt(g),w=Xt(m),M=Yt(m),A=Xt(v),k=Yt(v),T=Xt(y),E=Yt(y);p.forEach(function(t,e){x.set(t.toLowerCase(),e)});var S={a:function(t){return m[t.getDay()]},A:function(t){return g[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return v[t.getMonth()]},c:e(h),d:function(t,e){return Gt(t.getDate(),e,2)},e:function(t,e){return Gt(t.getDate(),e,2)},H:function(t,e){return Gt(t.getHours(),e,2)},I:function(t,e){return Gt(t.getHours()%12||12,e,2)},j:function(t,e){return Gt(1+ps.dayOfYear(t),e,3)},L:function(t,e){return Gt(t.getMilliseconds(),e,3);\n},m:function(t,e){return Gt(t.getMonth()+1,e,2)},M:function(t,e){return Gt(t.getMinutes(),e,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,e){return Gt(t.getSeconds(),e,2)},U:function(t,e){return Gt(ps.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Gt(ps.mondayOfYear(t),e,2)},x:e(f),X:e(d),y:function(t,e){return Gt(t.getFullYear()%100,e,2)},Y:function(t,e){return Gt(t.getFullYear()%1e4,e,4)},Z:le,\"%\":function(){return\"%\"}},L={a:n,A:i,b:a,B:o,c:s,d:re,e:re,H:ie,I:ie,j:ne,L:se,m:ee,M:ae,p:c,S:oe,U:Zt,w:Wt,W:Qt,x:l,X:u,y:$t,Y:Kt,Z:Jt,\"%\":ue};return e}function Gt(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function Xt(t){return new RegExp(\"^(?:\"+t.map(uo.requote).join(\"|\")+\")\",\"i\")}function Yt(t){for(var e=new h,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Wt(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Zt(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Qt(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Kt(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function $t(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+2));return n?(t.y=te(+n[0]),r+n[0].length):-1}function Jt(t,e,r){return/^[+-]\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function te(t){return t+(t>68?1900:2e3)}function ee(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function re(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function ne(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function ie(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function ae(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function oe(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function se(t,e,r){ys.lastIndex=0;var n=ys.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function le(t){var e=t.getTimezoneOffset(),r=e>0?\"-\":\"+\",n=bo(e)/60|0,i=bo(e)%60;return r+Gt(n,\"0\",2)+Gt(i,\"0\",2)}function ue(t,e,r){xs.lastIndex=0;var n=xs.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function ce(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}function he(){}function fe(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function de(t,e){t&&Ms.hasOwnProperty(t.type)&&Ms[t.type](t,e)}function pe(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function ge(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)pe(t[r],e,1);e.polygonEnd()}function me(){function t(t,e){t*=qo,e=e*qo/2+No/4;var r=t-n,o=r>=0?1:-1,s=o*r,l=Math.cos(e),u=Math.sin(e),c=a*u,h=i*l+c*Math.cos(s),f=c*o*Math.sin(s);ks.add(Math.atan2(f,h)),n=t,i=l,a=u}var e,r,n,i,a;Ts.point=function(o,s){Ts.point=t,n=(e=o)*qo,i=Math.cos(s=(r=s)*qo/2+No/4),a=Math.sin(s)},Ts.lineEnd=function(){t(e,r)}}function ve(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function ye(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function xe(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function be(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function _e(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function we(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Me(t){return[Math.atan2(t[1],t[0]),nt(t[2])]}function Ae(t,e){return bo(t[0]-e[0])<Fo&&bo(t[1]-e[1])<Fo}function ke(t,e){t*=qo;var r=Math.cos(e*=qo);Te(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Te(t,e,r){++Es,Ls+=(t-Ls)/Es,zs+=(e-zs)/Es,Cs+=(r-Cs)/Es}function Ee(){function t(t,i){t*=qo;var a=Math.cos(i*=qo),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(i),u=Math.atan2(Math.sqrt((u=r*l-n*s)*u+(u=n*o-e*l)*u+(u=e*s-r*o)*u),e*o+r*s+n*l);Ss+=u,Is+=u*(e+(e=o)),Ps+=u*(r+(r=s)),Ds+=u*(n+(n=l)),Te(e,r,n)}var e,r,n;js.point=function(i,a){i*=qo;var o=Math.cos(a*=qo);e=o*Math.cos(i),r=o*Math.sin(i),n=Math.sin(a),js.point=t,Te(e,r,n)}}function Se(){js.point=ke}function Le(){function t(t,e){t*=qo;var r=Math.cos(e*=qo),o=r*Math.cos(t),s=r*Math.sin(t),l=Math.sin(e),u=i*l-a*s,c=a*o-n*l,h=n*s-i*o,f=Math.sqrt(u*u+c*c+h*h),d=n*o+i*s+a*l,p=f&&-rt(d)/f,g=Math.atan2(f,d);Os+=p*u,Rs+=p*c,Fs+=p*h,Ss+=g,Is+=g*(n+(n=o)),Ps+=g*(i+(i=s)),Ds+=g*(a+(a=l)),Te(n,i,a)}var e,r,n,i,a;js.point=function(o,s){e=o,r=s,js.point=t,o*=qo;var l=Math.cos(s*=qo);n=l*Math.cos(o),i=l*Math.sin(o),a=Math.sin(s),Te(n,i,a)},js.lineEnd=function(){t(e,r),js.lineEnd=Se,js.point=ke}}function ze(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return r=e.invert(r,n),r&&t.invert(r[0],r[1])}),r}function Ce(){return!0}function Ie(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Ae(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);return void i.lineEnd()}var l=new De(r,t,null,!0),u=new De(r,null,l,!1);l.o=u,a.push(l),o.push(u),l=new De(n,t,null,!1),u=new De(n,null,l,!0),l.o=u,a.push(l),o.push(u)}}),o.sort(e),Pe(a),Pe(o),a.length){for(var s=0,l=r,u=o.length;s<u;++s)o[s].e=l=!l;for(var c,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var s=0,u=c.length;s<u;++s)i.point((h=c[s])[0],h[1]);else n(d.x,d.n.x,1,i);d=d.n}else{if(p){c=d.p.z;for(var s=c.length-1;s>=0;--s)i.point((h=c[s])[0],h[1])}else n(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,p=!p}while(!d.v);i.lineEnd()}}}function Pe(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function De(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function Oe(t,e,r,n){return function(i,a){function o(e,r){var n=i(e,r);t(e=n[0],r=n[1])&&a.point(e,r)}function s(t,e){var r=i(t,e);m.point(r[0],r[1])}function l(){y.point=s,m.lineStart()}function u(){y.point=o,m.lineEnd()}function c(t,e){g.push([t,e]);var r=i(t,e);b.point(r[0],r[1])}function h(){b.lineStart(),g=[]}function f(){c(g[0][0],g[0][1]),b.lineEnd();var t,e=b.clean(),r=x.buffer(),n=r.length;if(g.pop(),p.push(g),g=null,n)if(1&e){t=r[0];var i,n=t.length-1,o=-1;if(n>0){for(_||(a.polygonStart(),_=!0),a.lineStart();++o<n;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),d.push(r.filter(Re))}var d,p,g,m=e(a),v=i.invert(n[0],n[1]),y={point:o,lineStart:l,lineEnd:u,polygonStart:function(){y.point=c,y.lineStart=h,y.lineEnd=f,d=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=l,y.lineEnd=u,d=uo.merge(d);var t=Ve(v,p);d.length?(_||(a.polygonStart(),_=!0),Ie(d,je,t,r,a)):t&&(_||(a.polygonStart(),_=!0),a.lineStart(),r(null,null,1,a),a.lineEnd()),_&&(a.polygonEnd(),_=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),r(null,null,1,a),a.lineEnd(),a.polygonEnd()}},x=Fe(),b=e(x),_=!1;return y}}function Re(t){return t.length>1}function Fe(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:M,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function je(t,e){return((t=t.x)[0]<0?t[1]-Vo-Fo:Vo-t[1])-((e=e.x)[0]<0?e[1]-Vo-Fo:Vo-e[1])}function Ne(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?No:-No,l=bo(a-r);bo(l-No)<Fo?(t.point(r,n=(n+o)/2>0?Vo:-Vo),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=No&&(bo(r-i)<Fo&&(r-=i*Fo),bo(a-s)<Fo&&(a-=s*Fo),n=Be(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}function Be(t,e,r,n){var i,a,o=Math.sin(t-r);return bo(o)>Fo?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}function Ue(t,e,r,n){var i;if(null==t)i=r*Vo,n.point(-No,i),n.point(0,i),n.point(No,i),n.point(No,0),n.point(No,-i),n.point(0,-i),n.point(-No,-i),n.point(-No,0),n.point(-No,i);else if(bo(t[0]-e[0])>Fo){var a=t[0]<e[0]?No:-No;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])}function Ve(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;ks.reset();for(var s=0,l=e.length;s<l;++s){var u=e[s],c=u.length;if(c)for(var h=u[0],f=h[0],d=h[1]/2+No/4,p=Math.sin(d),g=Math.cos(d),m=1;;){m===c&&(m=0),t=u[m];var v=t[0],y=t[1]/2+No/4,x=Math.sin(y),b=Math.cos(y),_=v-f,w=_>=0?1:-1,M=w*_,A=M>No,k=p*x;if(ks.add(Math.atan2(k*w*Math.sin(M),g*b+k*Math.cos(M))),a+=A?_+w*Bo:_,A^f>=r^v>=r){var T=xe(ve(h),ve(t));we(T);var E=xe(i,T);we(E);var S=(A^_>=0?-1:1)*nt(E[2]);(n>S||n===S&&(T[0]||T[1]))&&(o+=A^_>=0?1:-1)}if(!m++)break;f=v,p=x,g=b,h=t}}return(a<-Fo||a<Fo&&ks<-Fo)^1&o}function qe(t){function e(t,e){return Math.cos(t)*Math.cos(e)>a}function r(t){var r,a,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(h,f){var d,p=[h,f],g=e(h,f),m=o?g?0:i(h,f):g?i(h+(h<0?No:-No),f):0;if(!r&&(u=l=g)&&t.lineStart(),g!==l&&(d=n(r,p),(Ae(r,d)||Ae(p,d))&&(p[0]+=Fo,p[1]+=Fo,g=e(p[0],p[1]))),g!==l)c=0,g?(t.lineStart(),d=n(p,r),t.point(d[0],d[1])):(d=n(r,p),t.point(d[0],d[1]),t.lineEnd()),r=d;else if(s&&r&&o^g){var v;m&a||!(v=n(p,r,!0))||(c=0,o?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||r&&Ae(r,p)||t.point(p[0],p[1]),r=p,l=g,a=m},lineEnd:function(){l&&t.lineEnd(),r=null},clean:function(){return c|(u&&l)<<1}}}function n(t,e,r){var n=ve(t),i=ve(e),o=[1,0,0],s=xe(n,i),l=ye(s,s),u=s[0],c=l-u*u;if(!c)return!r&&t;var h=a*l/c,f=-a*u/c,d=xe(o,s),p=_e(o,h),g=_e(s,f);be(p,g);var m=d,v=ye(p,m),y=ye(m,m),x=v*v-y*(ye(p,p)-1);if(!(x<0)){var b=Math.sqrt(x),_=_e(m,(-v-b)/y);if(be(_,p),_=Me(_),!r)return _;var w,M=t[0],A=e[0],k=t[1],T=e[1];A<M&&(w=M,M=A,A=w);var E=A-M,S=bo(E-No)<Fo,L=S||E<Fo;if(!S&&T<k&&(w=k,k=T,T=w),L?S?k+T>0^_[1]<(bo(_[0]-M)<Fo?k:T):k<=_[1]&&_[1]<=T:E>No^(M<=_[0]&&_[0]<=A)){var z=_e(m,(-v+b)/y);return be(z,p),[_,Me(z)]}}}function i(e,r){var n=o?t:No-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}var a=Math.cos(t),o=a>0,s=bo(a)>Fo,l=mr(t,6*qo);return Oe(e,r,l,o?[0,-t]:[-No,t-No])}function He(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=s.x,h=s.y,f=0,d=1,p=c-l,g=h-u;if(a=t-l,p||!(a>0)){if(a/=p,p<0){if(a<f)return;a<d&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=r-l,p||!(a<0)){if(a/=p,p<0){if(a>d)return;a>f&&(f=a)}else if(p>0){if(a<f)return;a<d&&(d=a)}if(a=e-u,g||!(a>0)){if(a/=g,g<0){if(a<f)return;a<d&&(d=a)}else if(g>0){if(a>d)return;a>f&&(f=a)}if(a=n-u,g||!(a<0)){if(a/=g,g<0){if(a>d)return;a>f&&(f=a)}else if(g>0){if(a<f)return;a<d&&(d=a)}return f>0&&(i.a={x:l+f*p,y:u+f*g}),d<1&&(i.b={x:l+d*p,y:u+d*g}),i}}}}}}function Ge(t,e,r,n){function i(n,i){return bo(n[0]-t)<Fo?i>0?0:3:bo(n[0]-r)<Fo?i>0?2:1:bo(n[1]-e)<Fo?i>0?1:0:i>0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(s){function l(t){for(var e=0,r=m.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=m[i],l=s.length,u=s[0];o<l;++o)a=s[o],u[1]<=n?a[1]>n&&et(u,a,t)>0&&++e:a[1]<=n&&et(u,a,t)<0&&--e,u=a;return 0!==e}function u(a,s,l,u){var c=0,h=0;if(null==a||(c=i(a,l))!==(h=i(s,l))||o(a,s)<0^l>0){do u.point(0===c||3===c?t:r,c>1?n:e);while((c=(c+l+4)%4)!==h)}else u.point(s[0],s[1])}function c(i,a){return t<=i&&i<=r&&e<=a&&a<=n}function h(t,e){c(t,e)&&s.point(t,e)}function f(){L.point=p,m&&m.push(v=[]),A=!0,M=!1,_=w=NaN}function d(){g&&(p(y,x),b&&M&&E.rejoin(),g.push(E.buffer())),L.point=h,M&&s.lineEnd()}function p(t,e){t=Math.max(-Bs,Math.min(Bs,t)),e=Math.max(-Bs,Math.min(Bs,e));var r=c(t,e);if(m&&v.push([t,e]),A)y=t,x=e,b=r,A=!1,r&&(s.lineStart(),s.point(t,e));else if(r&&M)s.point(t,e);else{var n={a:{x:_,y:w},b:{x:t,y:e}};S(n)?(M||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),k=!1):r&&(s.lineStart(),s.point(t,e),k=!1)}_=t,w=e,M=r}var g,m,v,y,x,b,_,w,M,A,k,T=s,E=Fe(),S=He(t,e,r,n),L={point:h,lineStart:f,lineEnd:d,polygonStart:function(){s=E,g=[],m=[],k=!0},polygonEnd:function(){s=T,g=uo.merge(g);var e=l([t,n]),r=k&&e,i=g.length;(r||i)&&(s.polygonStart(),r&&(s.lineStart(),u(null,null,1,s),s.lineEnd()),i&&Ie(g,a,e,u,s),s.polygonEnd()),g=m=v=null}};return L}}function Xe(t){var e=0,r=No/3,n=lr(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*No/180,r=t[1]*No/180):[e/No*180,r/No*180]},i}function Ye(t,e){function r(t,e){var r=Math.sqrt(a-2*i*Math.sin(e))/i;return[r*Math.sin(t*=i),o-r*Math.cos(t)]}var n=Math.sin(t),i=(n+Math.sin(e))/2,a=1+n*(2*i-n),o=Math.sqrt(a)/i;return r.invert=function(t,e){var r=o-e;return[Math.atan2(t,r)/i,nt((a-(t*t+r*r)*i*i)/(2*i))]},r}function We(){function t(t,e){Vs+=i*t-n*e,n=t,i=e}var e,r,n,i;Ys.point=function(a,o){Ys.point=t,e=n=a,r=i=o},Ys.lineEnd=function(){t(e,r)}}function Ze(t,e){t<qs&&(qs=t),t>Gs&&(Gs=t),e<Hs&&(Hs=e),e>Xs&&(Xs=e)}function Qe(){function t(t,e){o.push(\"M\",t,\",\",e,a)}function e(t,e){o.push(\"M\",t,\",\",e),s.point=r}function r(t,e){o.push(\"L\",t,\",\",e)}function n(){s.point=t}function i(){o.push(\"Z\")}var a=Ke(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:n,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=n,s.point=t},pointRadius:function(t){return a=Ke(t),s},result:function(){if(o.length){var t=o.join(\"\");return o=[],t}}};return s}function Ke(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}function $e(t,e){Ls+=t,zs+=e,++Cs}function Je(){function t(t,n){var i=t-e,a=n-r,o=Math.sqrt(i*i+a*a);Is+=o*(e+t)/2,Ps+=o*(r+n)/2,Ds+=o,$e(e=t,r=n)}var e,r;Zs.point=function(n,i){Zs.point=t,$e(e=n,r=i)}}function tr(){Zs.point=$e}function er(){function t(t,e){var r=t-n,a=e-i,o=Math.sqrt(r*r+a*a);Is+=o*(n+t)/2,Ps+=o*(i+e)/2,Ds+=o,o=i*t-n*e,Os+=o*(n+t),Rs+=o*(i+e),Fs+=3*o,$e(n=t,i=e)}var e,r,n,i;Zs.point=function(a,o){Zs.point=t,$e(e=n=a,r=i=o)},Zs.lineEnd=function(){t(e,r)}}function rr(t){function e(e,r){t.moveTo(e+o,r),t.arc(e,r,o,0,Bo)}function r(e,r){t.moveTo(e,r),s.point=n}function n(e,r){t.lineTo(e,r)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=r},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:M};return s}function nr(t){function e(t){return(s?n:r)(t)}function r(e){return or(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})}function n(e){function r(r,n){r=t(r,n),e.point(r[0],r[1])}function n(){x=NaN,A.point=a,e.lineStart()}function a(r,n){var a=ve([r,n]),o=t(r,n);i(x,b,y,_,w,M,x=o[0],b=o[1],y=r,_=a[0],w=a[1],M=a[2],s,e),e.point(x,b)}function o(){A.point=r,e.lineEnd()}function l(){n(),A.point=u,A.lineEnd=c}function u(t,e){a(h=t,f=e),d=x,p=b,g=_,m=w,v=M,A.point=a}function c(){i(x,b,y,_,w,M,d,p,h,g,m,v,s,e),A.lineEnd=o,o()}var h,f,d,p,g,m,v,y,x,b,_,w,M,A={point:r,lineStart:n,lineEnd:o,polygonStart:function(){e.polygonStart(),A.lineStart=l},polygonEnd:function(){e.polygonEnd(),A.lineStart=n}};return A}function i(e,r,n,s,l,u,c,h,f,d,p,g,m,v){var y=c-e,x=h-r,b=y*y+x*x;if(b>4*a&&m--){var _=s+d,w=l+p,M=u+g,A=Math.sqrt(_*_+w*w+M*M),k=Math.asin(M/=A),T=bo(bo(M)-1)<Fo||bo(n-f)<Fo?(n+f)/2:Math.atan2(w,_),E=t(T,k),S=E[0],L=E[1],z=S-e,C=L-r,I=x*z-y*C;(I*I/b>a||bo((y*z+x*C)/b-.5)>.3||s*d+l*p+u*g<o)&&(i(e,r,n,s,l,u,S,L,T,_/=A,w/=A,M,m,v),v.point(S,L),i(S,L,T,_,w,M,c,h,f,d,p,g,m,v))}}var a=.5,o=Math.cos(30*qo),s=16;return e.precision=function(t){return arguments.length?(s=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function ir(t){var e=nr(function(e,r){return t([e*Ho,r*Ho])});return function(t){return ur(e(t))}}function ar(t){this.stream=t}function or(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function sr(t){return lr(function(){return t})()}function lr(t){function e(t){return t=s(t[0]*qo,t[1]*qo),[t[0]*f+l,u-t[1]*f]}function r(t){return t=s.invert((t[0]-l)/f,(u-t[1])/f),t&&[t[0]*Ho,t[1]*Ho]}function n(){s=ze(o=fr(v,y,x),a);var t=a(g,m);return l=d-t[0]*f,u=p+t[1]*f,i()}function i(){return c&&(c.valid=!1,c=null),e}var a,o,s,l,u,c,h=nr(function(t,e){return t=a(t,e),[t[0]*f+l,u-t[1]*f]}),f=150,d=480,p=250,g=0,m=0,v=0,y=0,x=0,_=Ns,w=b,M=null,A=null;return e.stream=function(t){return c&&(c.valid=!1),c=ur(_(o,h(w(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(_=null==t?(M=t,Ns):qe((M=+t)*qo),i()):M},e.clipExtent=function(t){return arguments.length?(A=t,w=t?Ge(t[0][0],t[0][1],t[1][0],t[1][1]):b,i()):A},e.scale=function(t){return arguments.length?(f=+t,n()):f},e.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],n()):[d,p]},e.center=function(t){return arguments.length?(g=t[0]%360*qo,m=t[1]%360*qo,n()):[g*Ho,m*Ho]},e.rotate=function(t){return arguments.length?(v=t[0]%360*qo,y=t[1]%360*qo,x=t.length>2?t[2]%360*qo:0,n()):[v*Ho,y*Ho,x*Ho]},uo.rebind(e,h,\"precision\"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&r,n()}}function ur(t){return or(t,function(e,r){t.point(e*qo,r*qo)})}function cr(t,e){return[t,e]}function hr(t,e){return[t>No?t-Bo:t<-No?t+Bo:t,e]}function fr(t,e,r){return t?e||r?ze(pr(t),gr(e,r)):pr(t):e||r?gr(e,r):hr}function dr(t){return function(e,r){return e+=t,[e>No?e-Bo:e<-No?e+Bo:e,r]}}function pr(t){var e=dr(t);return e.invert=dr(-t),e}function gr(t,e){function r(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,u=Math.sin(e),c=u*n+s*i;return[Math.atan2(l*a-c*o,s*n-u*i),nt(c*a+l*o)]}var n=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return r.invert=function(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,u=Math.sin(e),c=u*a-l*o;return[Math.atan2(l*a+u*o,s*n+c*i),nt(c*n-s*i)]},r}function mr(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=vr(r,i),a=vr(r,a),(o>0?i<a:i>a)&&(i+=o*Bo)):(i=t+o*Bo,a=t-.5*l);for(var u,c=i;o>0?c>a:c<a;c-=l)s.point((u=Me([r,-n*Math.cos(c),-n*Math.sin(c)]))[0],u[1])}}function vr(t,e){var r=ve(e);r[0]-=t,we(r);var n=rt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-Fo)%(2*Math.PI)}function yr(t,e,r){var n=uo.range(t,e-Fo,r).concat(e);return function(t){return n.map(function(e){return[t,e]})}}function xr(t,e,r){var n=uo.range(t,e-Fo,r).concat(e);return function(t){return n.map(function(e){return[e,t]})}}function br(t){return t.source}function _r(t){return t.target}function wr(t,e,r,n){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),l=i*Math.cos(t),u=i*Math.sin(t),c=o*Math.cos(r),h=o*Math.sin(r),f=2*Math.asin(Math.sqrt(st(n-e)+i*o*st(r-t))),d=1/Math.sin(f),p=f?function(t){var e=Math.sin(t*=f)*d,r=Math.sin(f-t)*d,n=r*l+e*c,i=r*u+e*h,o=r*a+e*s;return[Math.atan2(i,n)*Ho,Math.atan2(o,Math.sqrt(n*n+i*i))*Ho]}:function(){return[t*Ho,e*Ho]};return p.distance=f,p}function Mr(){function t(t,i){var a=Math.sin(i*=qo),o=Math.cos(i),s=bo((t*=qo)-e),l=Math.cos(s);Qs+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=n*a-r*o*l)*s),r*a+n*o*l),e=t,r=a,n=o}var e,r,n;Ks.point=function(i,a){e=i*qo,r=Math.sin(a*=qo),n=Math.cos(a),Ks.point=t},Ks.lineEnd=function(){Ks.point=Ks.lineEnd=M}}function Ar(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}function kr(t,e){function r(t,e){o>0?e<-Vo+Fo&&(e=-Vo+Fo):e>Vo-Fo&&(e=Vo-Fo);var r=o/Math.pow(i(e),a);return[r*Math.sin(a*t),o-r*Math.cos(a*t)]}var n=Math.cos(t),i=function(t){return Math.tan(No/4+t/2)},a=t===e?Math.sin(t):Math.log(n/Math.cos(e))/Math.log(i(e)/i(t)),o=n*Math.pow(i(t),a)/a;return a?(r.invert=function(t,e){var r=o-e,n=tt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(o/n,1/a))-Vo]},r):Er}function Tr(t,e){function r(t,e){var r=a-e;return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}var n=Math.cos(t),i=t===e?Math.sin(t):(n-Math.cos(e))/(e-t),a=n/i+t;return bo(i)<Fo?cr:(r.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/i,a-tt(i)*Math.sqrt(t*t+r*r)]},r)}function Er(t,e){return[t,Math.log(Math.tan(No/4+e/2))]}function Sr(t){var e,r=sr(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=No*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}function Lr(t,e){return[Math.log(Math.tan(No/4+e/2)),-t]}function zr(t){return t[0]}function Cr(t){return t[1]}function Ir(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&et(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function Pr(t,e){return t[0]-e[0]||t[1]-e[1]}function Dr(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function Or(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],u=r[1],c=e[1]-l,h=n[1]-u,f=(s*(l-u)-h*(i-a))/(h*o-s*c);return[i+f*o,l+f*c]}function Rr(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}function Fr(){an(this),this.edge=this.site=this.circle=null}function jr(t){var e=ul.pop()||new Fr;return e.site=t,e}function Nr(t){Zr(t),ol.remove(t),ul.push(t),an(t)}function Br(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];Nr(t);for(var l=a;l.circle&&bo(r-l.circle.x)<Fo&&bo(n-l.circle.cy)<Fo;)a=l.P,s.unshift(l),Nr(l),l=a;s.unshift(l),Zr(l);for(var u=o;u.circle&&bo(r-u.circle.x)<Fo&&bo(n-u.circle.cy)<Fo;)o=u.N,s.push(u),Nr(u),u=o;s.push(u),Zr(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],en(u.edge,l.site,u.site,i);l=s[0],u=s[h-1],u.edge=Jr(l.site,u.site,null,i),Wr(l),Wr(u)}function Ur(t){for(var e,r,n,i,a=t.x,o=t.y,s=ol._;s;)if(n=Vr(s,o)-a,n>Fo)s=s.L;else{if(i=a-qr(s,o),!(i>Fo)){n>-Fo?(e=s.P,r=s):i>-Fo?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=jr(t);if(ol.insert(e,l),e||r){if(e===r)return Zr(e),r=jr(e.site),ol.insert(l,r),l.edge=r.edge=Jr(e.site,l.site),Wr(e),void Wr(r);if(!r)return void(l.edge=Jr(e.site,l.site));Zr(e),Zr(r);var u=e.site,c=u.x,h=u.y,f=t.x-c,d=t.y-h,p=r.site,g=p.x-c,m=p.y-h,v=2*(f*m-d*g),y=f*f+d*d,x=g*g+m*m,b={x:(m*y-d*x)/v+c,y:(f*x-g*y)/v+h};en(r.edge,u,p,b),l.edge=Jr(u,t,null,b),r.edge=Jr(t,p,null,b),Wr(e),Wr(r)}}function Vr(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-(1/0);r=o.site;var s=r.x,l=r.y,u=l-e;if(!u)return s;var c=s-n,h=1/a-1/u,f=c/u;return h?(-f+Math.sqrt(f*f-2*h*(c*c/(-2*u)-l+u/2+i-a/2)))/h+n:(n+s)/2}function qr(t,e){var r=t.N;if(r)return Vr(r,e);var n=t.site;return n.y===e?n.x:1/0}function Hr(t){this.site=t,this.edges=[]}function Gr(t){for(var e,r,n,i,a,o,s,l,u,c,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],g=al,m=g.length;m--;)if(a=g[m],a&&a.prepare())for(s=a.edges,l=s.length,o=0;o<l;)c=s[o].end(),n=c.x,i=c.y,u=s[++o%l].start(),e=u.x,r=u.y,(bo(n-e)>Fo||bo(i-r)>Fo)&&(s.splice(o,0,new rn(tn(a.site,c,bo(n-h)<Fo&&p-i>Fo?{x:h,y:bo(e-h)<Fo?r:p}:bo(i-p)<Fo&&f-n>Fo?{x:bo(r-p)<Fo?e:f,y:p}:bo(n-f)<Fo&&i-d>Fo?{x:f,y:bo(e-f)<Fo?r:d}:bo(i-d)<Fo&&n-h>Fo?{x:bo(r-d)<Fo?e:h,y:d}:null),a.site,null)),++l)}function Xr(t,e){return e.angle-t.angle}function Yr(){an(this),this.x=this.y=this.arc=this.site=this.cy=null}function Wr(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,h=a.y-s,f=2*(l*h-u*c);if(!(f>=-jo)){var d=l*l+u*u,p=c*c+h*h,g=(h*d-u*p)/f,m=(l*p-c*d)/f,h=m+s,v=cl.pop()||new Yr;v.arc=t,v.site=i,v.x=g+o,v.y=h+Math.sqrt(g*g+m*m),v.cy=h,t.circle=v;for(var y=null,x=ll._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}ll.insert(y,v),y||(sl=v)}}}}function Zr(t){var e=t.circle;e&&(e.P||(sl=e.N),ll.remove(e),cl.push(e),an(e),t.circle=null)}function Qr(t){for(var e,r=il,n=He(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)e=r[i],(!Kr(e,t)||!n(e)||bo(e.a.x-e.b.x)<Fo&&bo(e.a.y-e.b.y)<Fo)&&(e.a=e.b=null,r.splice(i,1))}function Kr(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],u=e[1][1],c=t.l,h=t.r,f=c.x,d=c.y,p=h.x,g=h.y,m=(f+p)/2,v=(d+g)/2;if(g===d){if(m<o||m>=s)return;if(f>p){if(a){if(a.y>=u)return}else a={x:m,y:l};r={x:m,y:u}}else{if(a){if(a.y<l)return}else a={x:m,y:u};r={x:m,y:l}}}else if(n=(f-p)/(g-d),i=v-n*m,n<-1||n>1)if(f>p){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y<l)return}else a={x:(u-i)/n,y:u};r={x:(l-i)/n,y:l}}else if(d<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function $r(t,e){this.l=t,this.r=e,this.a=this.b=null}function Jr(t,e,r,n){var i=new $r(t,e);return il.push(i),r&&en(i,t,e,r),n&&en(i,e,t,n),al[t.i].edges.push(new rn(i,t,e)),al[e.i].edges.push(new rn(i,e,t)),i}function tn(t,e,r){var n=new $r(t,null);return n.a=e,n.b=r,il.push(n),n}function en(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function rn(t,e,r){var n=t.a,i=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function nn(){this._=null}function an(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function on(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function sn(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function ln(t){for(;t.L;)t=t.L;return t}function un(t,e){var r,n,i,a=t.sort(cn).pop();for(il=[],al=new Array(t.length),ol=new nn,ll=new nn;;)if(i=sl,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(al[a.i]=new Hr(a),Ur(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;Br(i.arc)}e&&(Qr(e),Gr(e));var o={cells:al,edges:il};return ol=ll=il=al=null,o}function cn(t,e){return e.y-t.y||e.x-t.x}function hn(t,e,r){return(t.x-r.x)*(e.y-t.y)-(t.x-e.x)*(r.y-t.y)}function fn(t){return t.x}function dn(t){return t.y}function pn(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function gn(t,e,r,n,i,a){if(!t(e,r,n,i,a)){var o=.5*(r+i),s=.5*(n+a),l=e.nodes;l[0]&&gn(t,l[0],r,n,o,s),l[1]&&gn(t,l[1],o,n,i,s),l[2]&&gn(t,l[2],r,s,o,a),l[3]&&gn(t,l[3],o,s,i,a)}}function mn(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,h,f,d){if(!(c>a||h>o||f<n||d<i)){if(p=u.point){var p,g=e-u.x,m=r-u.y,v=g*g+m*m;if(v<l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=p}}for(var x=u.nodes,b=.5*(c+f),_=.5*(h+d),w=e>=b,M=r>=_,A=M<<1|w,k=A+4;A<k;++A)if(u=x[3&A])switch(3&A){case 0:t(u,c,h,b,_);break;case 1:t(u,b,h,f,_);break;case 2:t(u,c,_,b,d);break;case 3:t(u,b,_,f,d)}}}(t,n,i,a,o),s}function vn(t,e){t=uo.rgb(t),e=uo.rgb(e);var r=t.r,n=t.g,i=t.b,a=e.r-r,o=e.g-n,s=e.b-i;return function(t){return\"#\"+wt(Math.round(r+a*t))+wt(Math.round(n+o*t))+wt(Math.round(i+s*t))}}function yn(t,e){var r,n={},i={};for(r in t)r in e?n[r]=_n(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function xn(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function bn(t,e){var r,n,i,a=fl.lastIndex=dl.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=fl.exec(t))&&(n=dl.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xn(r,n)})),a=dl.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+\"\"}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}function _n(t,e){for(var r,n=uo.interpolators.length;--n>=0&&!(r=uo.interpolators[n](t,e)););return r}function wn(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(_n(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}function Mn(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function An(t){return function(e){return 1-t(1-e)}}function kn(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Tn(t){return t*t}function En(t){return t*t*t}function Sn(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Ln(t){return function(e){return Math.pow(e,t)}}function zn(t){return 1-Math.cos(t*Vo)}function Cn(t){return Math.pow(2,10*(t-1))}function In(t){return 1-Math.sqrt(1-t*t)}function Pn(t,e){var r;return arguments.length<2&&(e=.45),arguments.length?r=e/Bo*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Bo/e)}}function Dn(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function On(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Rn(t,e){t=uo.hcl(t),e=uo.hcl(e);var r=t.h,n=t.c,i=t.l,a=e.h-r,o=e.c-n,s=e.l-i;return isNaN(o)&&(o=0,n=isNaN(n)?e.c:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a>180?a-=360:a<-180&&(a+=360),function(t){return ft(r+a*t,n+o*t,i+s*t)+\"\"}}function Fn(t,e){t=uo.hsl(t),e=uo.hsl(e);var r=t.h,n=t.s,i=t.l,a=e.h-r,o=e.s-n,s=e.l-i;return isNaN(o)&&(o=0,n=isNaN(n)?e.s:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a>180?a-=360:a<-180&&(a+=360),function(t){return ct(r+a*t,n+o*t,i+s*t)+\"\"}}function jn(t,e){t=uo.lab(t),e=uo.lab(e);var r=t.l,n=t.a,i=t.b,a=e.l-r,o=e.a-n,s=e.b-i;return function(t){return pt(r+a*t,n+o*t,i+s*t)+\"\"}}function Nn(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Bn(t){var e=[t.a,t.b],r=[t.c,t.d],n=Vn(e),i=Un(e,r),a=Vn(qn(r,e,-i))||0;e[0]*r[1]<r[0]*e[1]&&(e[0]*=-1,e[1]*=-1,n*=-1,i*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-r[0],r[1]))*Ho,this.translate=[t.e,t.f],this.scale=[n,a],this.skew=a?Math.atan2(i,a)*Ho:0}function Un(t,e){return t[0]*e[0]+t[1]*e[1]}function Vn(t){var e=Math.sqrt(Un(t,t));return e&&(t[0]/=e,t[1]/=e),e}function qn(t,e,r){return t[0]+=r*e[0],t[1]+=r*e[1],t}function Hn(t){return t.length?t.pop()+\",\":\"\"}function Gn(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:xn(t[0],e[0])},{i:i-2,x:xn(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}function Xn(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Hn(r)+\"rotate(\",null,\")\")-2,x:xn(t,e)})):e&&r.push(Hn(r)+\"rotate(\"+e+\")\")}function Yn(t,e,r,n){t!==e?n.push({i:r.push(Hn(r)+\"skewX(\",null,\")\")-2,x:xn(t,e)}):e&&r.push(Hn(r)+\"skewX(\"+e+\")\")}function Wn(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Hn(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:xn(t[0],e[0])},{i:i-2,x:xn(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Hn(r)+\"scale(\"+e+\")\")}function Zn(t,e){var r=[],n=[];return t=uo.transform(t),e=uo.transform(e),Gn(t.translate,e.translate,r,n),Xn(t.rotate,e.rotate,r,n),Yn(t.skew,e.skew,r,n),Wn(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i<a;)r[(e=n[i]).i]=e.x(t);return r.join(\"\")}}function Qn(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function Kn(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function $n(t){for(var e=t.source,r=t.target,n=ti(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function Jn(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ti(t,e){if(t===e)return t;for(var r=Jn(t),n=Jn(e),i=r.pop(),a=n.pop(),o=null;i===a;)o=i,i=r.pop(),a=n.pop();return o}function ei(t){t.fixed|=2}function ri(t){t.fixed&=-7}function ni(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ii(t){t.fixed&=-5}function ai(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l<s;)a=o[l],null!=a&&(ai(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var u=e*r[t.point.index];\nt.charge+=t.pointCharge=u,n+=u*t.point.x,i+=u*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}function oi(t,e){return uo.rebind(t,e,\"sort\",\"children\",\"value\"),t.nodes=t,t.links=fi,t}function si(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function li(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function ui(t){return t.children}function ci(t){return t.value}function hi(t,e){return e.value-t.value}function fi(t){return uo.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function di(t){return t.x}function pi(t){return t.y}function gi(t,e,r){t.y0=e,t.y=r}function mi(t){return uo.range(t.length)}function vi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function yi(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function xi(t){return t.reduce(bi,0)}function bi(t,e){return t+e[1]}function _i(t,e){return wi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wi(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Mi(t){return[uo.min(t),uo.max(t)]}function Ai(t,e){return t.value-e.value}function ki(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ti(t,e){t._pack_next=e,e._pack_prev=t}function Ei(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Si(t){function e(t){c=Math.min(t.x-t.r,c),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((r=t.children)&&(u=r.length)){var r,n,i,a,o,s,l,u,c=1/0,h=-(1/0),f=1/0,d=-(1/0);if(r.forEach(Li),n=r[0],n.x=-n.r,n.y=0,e(n),u>1&&(i=r[1],i.x=i.r,i.y=0,e(i),u>2))for(a=r[2],Ii(n,i,a),e(a),ki(n,a),n._pack_prev=a,ki(a,i),i=n._pack_next,o=3;o<u;o++){Ii(n,i,a=r[o]);var p=0,g=1,m=1;for(s=i._pack_next;s!==i;s=s._pack_next,g++)if(Ei(s,a)){p=1;break}if(1==p)for(l=n._pack_prev;l!==s._pack_prev&&!Ei(l,a);l=l._pack_prev,m++);p?(g<m||g==m&&i.r<n.r?Ti(n,i=s):Ti(n=l,i),o--):(ki(n,a),i=a,e(a))}var v=(c+h)/2,y=(f+d)/2,x=0;for(o=0;o<u;o++)a=r[o],a.x-=v,a.y-=y,x=Math.max(x,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=x,r.forEach(zi)}}function Li(t){t._pack_next=t._pack_prev=t}function zi(t){delete t._pack_next,delete t._pack_prev}function Ci(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a<o;)Ci(i[a],e,r,n)}function Ii(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a;o*=o,n*=n;var l=.5+(n-o)/(2*s),u=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+u*a,r.y=t.y+l*a-u*i}else r.x=t.x+n,r.y=t.y}function Pi(t,e){return t.parent==e.parent?1:2}function Di(t){var e=t.children;return e.length?e[0]:t.t}function Oi(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Ri(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Fi(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)e=i[a],e.z+=r,e.m+=r,r+=e.s+(n+=e.c)}function ji(t,e,r){return t.a.parent===e.parent?t.a:r}function Ni(t){return 1+uo.max(t,function(t){return t.y})}function Bi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Ui(t){var e=t.children;return e&&e.length?Ui(e[0]):t}function Vi(t){var e,r=t.children;return r&&(e=r.length)?Vi(r[e-1]):t}function qi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Hi(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Gi(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function Xi(t){return t.rangeExtent?t.rangeExtent():Gi(t.range())}function Yi(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function Wi(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Zi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:Al}function Qi(t,e,r,n){var i=[],a=[],o=0,s=Math.min(t.length,e.length)-1;for(t[s]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<=s;)i.push(r(t[o-1],t[o])),a.push(n(e[o-1],e[o]));return function(e){var r=uo.bisect(t,e,1,s)-1;return a[r](i[r](e))}}function Ki(t,e,r,n){function i(){var i=Math.min(t.length,e.length)>2?Qi:Yi,l=n?Kn:Qn;return o=i(t,e,l,r),s=i(e,t,l,_n),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Nn)},a.clamp=function(t){return arguments.length?(n=t,i()):n},a.interpolate=function(t){return arguments.length?(r=t,i()):r},a.ticks=function(e){return ea(t,e)},a.tickFormat=function(e,r){return ra(t,e,r)},a.nice=function(e){return Ji(t,e),i()},a.copy=function(){return Ki(t,e,r,n)},i()}function $i(t,e){return uo.rebind(t,e,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Ji(t,e){return Wi(t,Zi(ta(t,e)[2])),Wi(t,Zi(ta(t,e)[2])),t}function ta(t,e){null==e&&(e=10);var r=Gi(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function ea(t,e){return uo.range.apply(uo,ta(t,e))}function ra(t,e,r){var n=ta(t,e);if(r){var i=fs.exec(r);if(i.shift(),\"s\"===i[8]){var a=uo.formatPrefix(Math.max(bo(n[0]),bo(n[1])));return i[7]||(i[7]=\".\"+na(a.scale(n[2]))),i[8]=\"f\",r=uo.format(i.join(\"\")),function(t){return r(a.scale(t))+a.symbol}}i[7]||(i[7]=\".\"+ia(i[8],n)),r=i.join(\"\")}else r=\",.\"+na(n[2])+\"f\";return uo.format(r)}function na(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ia(t,e){var r=na(e[2]);return t in kl?Math.abs(r-na(Math.max(bo(e[0]),bo(e[1]))))+ +(\"e\"!==t):r-2*(\"%\"===t)}function aa(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Wi(n.map(i),r?Math:El);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Gi(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),h=e%1?2:e;if(isFinite(c-u)){if(r){for(;u<c;u++)for(var f=1;f<h;f++)o.push(a(u)*f);o.push(a(u))}else for(o.push(a(u));u++<c;)for(var f=h-1;f>0;f--)o.push(a(u)*f);for(u=0;o[u]<s;u++);for(c=o.length;o[c-1]>l;c--);o=o.slice(u,c)}return o},o.tickFormat=function(t,r){if(!arguments.length)return Tl;arguments.length<2?r=Tl:\"function\"!=typeof r&&(r=uo.format(r));var n=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e<e-.5&&(o*=e),o<=n?r(t):\"\"}},o.copy=function(){return aa(t.copy(),e,r,n)},$i(o,t)}function oa(t,e,r){function n(e){return t(i(e))}var i=sa(e),a=sa(1/e);return n.invert=function(e){return a(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(i)),n):r},n.ticks=function(t){return ea(r,t)},n.tickFormat=function(t,e){return ra(r,t,e)},n.nice=function(t){return n.domain(Ji(r,t))},n.exponent=function(o){return arguments.length?(i=sa(e=o),a=sa(1/e),t.domain(r.map(i)),n):e},n.copy=function(){return oa(t.copy(),e,r)},$i(n,t)}function sa(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function la(t,e){function r(r){return a[((i.get(r)||(\"range\"===e.t?i.set(r,t.push(r)):NaN))-1)%a.length]}function n(e,r){return uo.range(t.length).map(function(t){return e+r*t})}var i,a,o;return r.domain=function(n){if(!arguments.length)return t;t=[],i=new h;for(var a,o=-1,s=n.length;++o<s;)i.has(a=n[o])||i.set(a,t.push(a));return r[e.t].apply(r,e.a)},r.range=function(t){return arguments.length?(a=t,o=0,e={t:\"range\",a:arguments},r):a},r.rangePoints=function(i,s){arguments.length<2&&(s=0);var l=i[0],u=i[1],c=t.length<2?(l=(l+u)/2,0):(u-l)/(t.length-1+s);return a=n(l+c*s/2,c),o=0,e={t:\"rangePoints\",a:arguments},r},r.rangeRoundPoints=function(i,s){arguments.length<2&&(s=0);var l=i[0],u=i[1],c=t.length<2?(l=u=Math.round((l+u)/2),0):(u-l)/(t.length-1+s)|0;return a=n(l+Math.round(c*s/2+(u-l-(t.length-1+s)*c)/2),c),o=0,e={t:\"rangeRoundPoints\",a:arguments},r},r.rangeBands=function(i,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var u=i[1]<i[0],c=i[u-0],h=i[1-u],f=(h-c)/(t.length-s+2*l);return a=n(c+f*l,f),u&&a.reverse(),o=f*(1-s),e={t:\"rangeBands\",a:arguments},r},r.rangeRoundBands=function(i,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var u=i[1]<i[0],c=i[u-0],h=i[1-u],f=Math.floor((h-c)/(t.length-s+2*l));return a=n(c+Math.round((h-c-(t.length-s)*f)/2),f),u&&a.reverse(),o=Math.round(f*(1-s)),e={t:\"rangeRoundBands\",a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){return Gi(e.a[0])},r.copy=function(){return la(t,e)},r.domain(t)}function ua(t,e){function r(){var r=0,i=e.length;for(s=[];++r<i;)s[r-1]=uo.quantile(t,r/i);return n}function n(t){if(!isNaN(t=+t))return e[uo.bisect(s,t)]}var s;return n.domain=function(e){return arguments.length?(t=e.map(a).filter(o).sort(i),r()):t},n.range=function(t){return arguments.length?(e=t,r()):e},n.quantiles=function(){return s},n.invertExtent=function(r){return r=e.indexOf(r),r<0?[NaN,NaN]:[r>0?s[r-1]:t[0],r<s.length?s[r]:t[t.length-1]]},n.copy=function(){return ua(t,e)},r()}function ca(t,e,r){function n(e){return r[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=r.length/(e-t),o=r.length-1,n}var a,o;return n.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],i()):[t,e]},n.range=function(t){return arguments.length?(r=t,i()):r},n.invertExtent=function(e){return e=r.indexOf(e),e=e<0?NaN:e/a+t,[e,e+1/a]},n.copy=function(){return ca(t,e,r)},i()}function ha(t,e){function r(r){if(r<=r)return e[uo.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return ha(t,e)},r}function fa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return ea(t,e)},e.tickFormat=function(e,r){return ra(t,e,r)},e.copy=function(){return fa(t)},e}function da(){return 0}function pa(t){return t.innerRadius}function ga(t){return t.outerRadius}function ma(t){return t.startAngle}function va(t){return t.endAngle}function ya(t){return t&&t.padAngle}function xa(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function ba(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,h=t[1]+u,f=e[0]+l,d=e[1]+u,p=(c+f)/2,g=(h+d)/2,m=f-c,v=d-h,y=m*m+v*v,x=r-n,b=c*d-f*h,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,M=(-b*m-v*_)/y,A=(b*v+m*_)/y,k=(-b*m+v*_)/y,T=w-p,E=M-g,S=A-p,L=k-g;return T*T+E*E>S*S+L*L&&(w=A,M=k),[[w-l,M-u],[w*r/x,M*r/x]]}function _a(t){function e(e){function o(){u.push(\"M\",a(t(c),s))}for(var l,u=[],c=[],h=-1,f=e.length,d=St(r),p=St(n);++h<f;)i.call(this,l=e[h],h)?c.push([+d.call(this,l,h),+p.call(this,l,h)]):c.length&&(o(),c=[]);return c.length&&o(),u.length?u.join(\"\"):null}var r=zr,n=Cr,i=Ce,a=wa,o=a.key,s=.7;return e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o=\"function\"==typeof t?a=t:(a=Pl.get(t)||wa).key,e):o},e.tension=function(t){return arguments.length?(s=t,e):s},e}function wa(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function Ma(t){return t.join(\"L\")+\"Z\"}function Aa(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);return r>1&&i.push(\"H\",n[0]),i.join(\"\")}function ka(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"V\",(n=t[e])[1],\"H\",n[0]);return i.join(\"\")}function Ta(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"H\",(n=t[e])[0],\"V\",n[1]);return i.join(\"\")}function Ea(t,e){return t.length<4?wa(t):t[1]+za(t.slice(1,-1),Ca(t,e))}function Sa(t,e){return t.length<3?Ma(t):t[0]+za((t.push(t[0]),t),Ca([t[t.length-2]].concat(t,[t[1]]),e))}function La(t,e){return t.length<3?wa(t):t[0]+za(t,Ca(t,e))}function za(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return wa(t);var r=t.length!=e.length,n=\"\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\"Q\"+(a[0]-2*o[0]/3)+\",\"+(a[1]-2*o[1]/3)+\",\"+a[0]+\",\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var u=2;u<e.length;u++,l++)a=t[l],s=e[u],n+=\"S\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1]}if(r){var c=t[l];n+=\"Q\"+(a[0]+2*s[0]/3)+\",\"+(a[1]+2*s[1]/3)+\",\"+c[0]+\",\"+c[1]}return n}function Ca(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Ia(t){if(t.length<3)return wa(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\",\",a,\"L\",Ra(Rl,o),\",\",Ra(Rl,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Fa(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function Pa(t){if(t.length<4)return wa(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ra(Rl,a)+\",\"+Ra(Rl,o)),--n;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Fa(r,a,o);return r.join(\"\")}function Da(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ra(Rl,o),\",\",Ra(Rl,s)],--n;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Fa(e,o,s);return e.join(\"\")}function Oa(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,u=-1;++u<=r;)n=t[u],i=u/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Ia(t)}function Ra(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Fa(t,e,r){t.push(\"C\",Ra(Dl,e),\",\",Ra(Dl,r),\",\",Ra(Ol,e),\",\",Ra(Ol,r),\",\",Ra(Rl,e),\",\",Ra(Rl,r))}function ja(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Na(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=ja(i,a);++e<r;)n[e]=(o+(o=ja(i=a,a=t[e+1])))/2;return n[e]=o,n}function Ba(t){for(var e,r,n,i,a=[],o=Na(t),s=-1,l=t.length-1;++s<l;)e=ja(t[s],t[s+1]),bo(e)<Fo?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,i=r*r+n*n,i>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}function Ua(t){return t.length<3?wa(t):t[0]+za(t,Ba(t))}function Va(t){for(var e,r,n,i=-1,a=t.length;++i<a;)e=t[i],r=e[0],n=e[1]-Vo,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function qa(t){function e(e){function l(){g.push(\"M\",s(t(v),h),c,u(t(m.reverse()),h),\"Z\")}for(var f,d,p,g=[],m=[],v=[],y=-1,x=e.length,b=St(r),_=St(i),w=r===n?function(){return d}:St(n),M=i===a?function(){return p}:St(a);++y<x;)o.call(this,f=e[y],y)?(m.push([d=+b.call(this,f,y),p=+_.call(this,f,y)]),v.push([+w.call(this,f,y),+M.call(this,f,y)])):m.length&&(l(),m=[],v=[]);return m.length&&l(),g.length?g.join(\"\"):null}var r=zr,n=zr,i=0,a=Cr,o=Ce,s=wa,l=s.key,u=s,c=\"L\",h=.7;return e.x=function(t){return arguments.length?(r=n=t,e):n},e.x0=function(t){return arguments.length?(r=t,e):r},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l=\"function\"==typeof t?s=t:(s=Pl.get(t)||wa).key,u=s.reverse||s,c=s.closed?\"M\":\"L\",e):l},e.tension=function(t){return arguments.length?(h=t,e):h},e}function Ha(t){return t.radius}function Ga(t){return[t.x,t.y]}function Xa(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Vo;return[r*Math.cos(n),r*Math.sin(n)]}}function Ya(){return 64}function Wa(){return\"circle\"}function Za(t){var e=Math.sqrt(t/No);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}function Qa(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function Ka(t,e,r){return ko(t,ql),t.namespace=e,t.id=r,t}function $a(t,e,r,n){var i=t.id,a=t.namespace;return G(t,\"function\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function Ja(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function to(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function eo(t,e,r,n,i){function a(t){var e=g.delay;return u.t=e+l,e<=t?o(t-e):void(u.c=o)}function o(r){var i=p.active,a=p[i];a&&(a.timer.c=null,a.timer.t=NaN,--p.count,delete p[i],a.event&&a.event.interrupt.call(t,t.__data__,a.index));for(var o in p)if(+o<n){var h=p[o];h.timer.c=null,h.timer.t=NaN,--p.count,delete p[o]}u.c=s,Pt(function(){return u.c&&s(r||1)&&(u.c=null,u.t=NaN),1},0,l),p.active=n,g.event&&g.event.start.call(t,t.__data__,e),d=[],g.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&d.push(n)}),f=g.ease,c=g.duration}function s(i){for(var a=i/c,o=f(a),s=d.length;s>0;)d[--s].call(t,o);if(a>=1)return g.event&&g.event.end.call(t,t.__data__,e),--p.count?delete p[n]:delete t[r],1}var l,u,c,f,d,p=t[r]||(t[r]={active:0,count:0}),g=p[n];g||(l=i.time,u=Pt(a,0,l),g=p[n]={tween:new h,time:l,timer:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++p.count)}function ro(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"})}function no(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"})}function io(t){return t.toISOString()}function ao(t,e,r){function n(e){return t(e)}function i(t,r){var n=t[1]-t[0],i=n/r,a=uo.bisect($l,i);return a==$l.length?[e.year,ta(t.map(function(t){return t/31536e6}),r)[2]]:a?e[i/$l[a-1]<$l[a]/i?a-1:a]:[eu,ta(t,r)[2]]}return n.invert=function(e){return oo(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(oo)},n.nice=function(t,e){function r(r){return!isNaN(r)&&!t.range(r,oo(+r+1),e).length}var a=n.domain(),o=Gi(a),s=null==t?i(o,10):\"number\"==typeof t&&i(o,t);return s&&(t=s[0],e=s[1]),n.domain(Wi(a,e>1?{floor:function(e){for(;r(e=t.floor(e));)e=oo(e-1);return e},ceil:function(e){for(;r(e=t.ceil(e));)e=oo(+e+1);return e}}:t))},n.ticks=function(t,e){var r=Gi(n.domain()),a=null==t?i(r,10):\"number\"==typeof t?i(r,t):!t.range&&[{range:t},e];return a&&(t=a[0],e=a[1]),t.range(r[0],oo(+r[1]+1),e<1?1:e)},n.tickFormat=function(){return r},n.copy=function(){return ao(t.copy(),e,r)},$i(n,t)}function oo(t){return new Date(t)}function so(t){return JSON.parse(t.responseText)}function lo(t){var e=fo.createRange();return e.selectNode(fo.body),e.createContextualFragment(t.responseText)}var uo={version:\"3.5.17\"},co=[].slice,ho=function(t){return co.call(t)},fo=this.document;if(fo)try{ho(fo.documentElement.childNodes)[0].nodeType}catch(t){ho=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),fo)try{fo.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var po=this.Element.prototype,go=po.setAttribute,mo=po.setAttributeNS,vo=this.CSSStyleDeclaration.prototype,yo=vo.setProperty;po.setAttribute=function(t,e){go.call(this,t,e+\"\")},po.setAttributeNS=function(t,e,r){mo.call(this,t,e,r+\"\")},vo.setProperty=function(t,e,r){yo.call(this,t,e+\"\",r)}}uo.ascending=i,uo.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},uo.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},uo.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},uo.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},uo.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)o(r=+t[a])&&(n+=r);else for(;++a<i;)o(r=+e.call(t,t[a],a))&&(n+=r);return n},uo.mean=function(t,e){var r,n=0,i=t.length,s=-1,l=i;if(1===arguments.length)for(;++s<i;)o(r=a(t[s]))?n+=r:--l;else for(;++s<i;)o(r=a(e.call(t,t[s],s)))?n+=r:--l;if(l)return n/l},uo.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},uo.median=function(t,e){var r,n=[],s=t.length,l=-1;if(1===arguments.length)for(;++l<s;)o(r=a(t[l]))&&n.push(r);else for(;++l<s;)o(r=a(e.call(t,t[l],l)))&&n.push(r);if(n.length)return uo.quantile(n.sort(i),.5)},uo.variance=function(t,e){var r,n,i=t.length,s=0,l=0,u=-1,c=0;if(1===arguments.length)for(;++u<i;)o(r=a(t[u]))&&(n=r-s,s+=n/++c,l+=n*(r-s));else for(;++u<i;)o(r=a(e.call(t,t[u],u)))&&(n=r-s,s+=n/++c,l+=n*(r-s));if(c>1)return l/(c-1)},uo.deviation=function(){var t=uo.variance.apply(this,arguments);return t?Math.sqrt(t):t};var xo=s(i);uo.bisectLeft=xo.left,uo.bisect=uo.bisectRight=xo.right,uo.bisector=function(t){return s(1===t.length?function(e,r){return i(t(e),r)}:t)},uo.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},uo.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},uo.pairs=function(t){for(var e,r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=[e=i,i=t[++r]];return a},uo.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=uo.min(t,l),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n},uo.zip=function(){return uo.transpose(arguments)},uo.keys=function(t){var e=[];for(var r in t)e.push(r);return e},uo.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},uo.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},uo.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(n=t[i],e=n.length;--e>=0;)r[--o]=n[e];return r};var bo=Math.abs;uo.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r===1/0)throw new Error(\"infinite range\");var n,i=[],a=u(bo(r)),o=-1;if(t*=a,e*=a,r*=a,r<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},uo.map=function(t,e){var r=new h;if(t instanceof h)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _o=\"__proto__\",wo=\"\\0\";c(h,{has:p,get:function(t){return this._[f(t)]},set:function(t,e){return this._[f(t)]=e},remove:g,keys:m,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:d(e),value:this._[e]});return t},size:v,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e),this._[e])}}),uo.nest=function(){function t(e,o,s){if(s>=a.length)return n?n.call(i,o):r?o.sort(r):o;for(var l,u,c,f,d=-1,p=o.length,g=a[s++],m=new h;++d<p;)(f=m.get(l=g(u=o[d])))?f.push(u):m.set(l,[u]);return e?(u=e(),c=function(r,n){u.set(r,t(e,n,s))}):(u={},c=function(r,n){u[r]=t(e,n,s)}),m.forEach(c),u}function e(t,r){if(r>=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(uo.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},uo.set=function(t){var e=new x;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},c(x,{has:p,add:function(t){return this._[f(t+=\"\")]=!0,t},remove:g,values:m,size:v,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e))}}),uo.behavior={},uo.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=_(t,e,e[r]);return t};var Mo=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];uo.dispatch=function(){for(var t=new A,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=k(t);return t},A.prototype.on=function(t,e){var r=t.indexOf(\".\"),n=\"\";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},uo.event=null,uo.requote=function(t){return t.replace(Ao,\"\\\\$&\")};var Ao=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,ko={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},To=function(t,e){return e.querySelector(t)},Eo=function(t,e){return e.querySelectorAll(t)},So=function(t,e){var r=t.matches||t[w(t,\"matchesSelector\")];return(So=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(To=function(t,e){return Sizzle(t,e)[0]||null},Eo=Sizzle,So=Sizzle.matchesSelector),uo.selection=function(){return uo.select(fo.documentElement)};var Lo=uo.selection.prototype=[];Lo.select=function(t){var e,r,n,i,a=[];t=z(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,u=n.length;++l<u;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\"__data__\"in i&&(r.__data__=i.__data__)):e.push(null)}return L(a)},Lo.selectAll=function(t){var e,r,n=[];t=C(t);for(var i=-1,a=this.length;++i<a;)for(var o=this[i],s=-1,l=o.length;++s<l;)(r=o[s])&&(n.push(e=ho(t.call(r,r.__data__,s,i))),e.parentNode=r);return L(n)};var zo=\"http://www.w3.org/1999/xhtml\",Co={svg:\"http://www.w3.org/2000/svg\",xhtml:zo,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};uo.ns={prefix:Co,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),Co.hasOwnProperty(r)?{space:Co[r],local:t}:t}},Lo.attr=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node();return t=uo.ns.qualify(t),t.local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},Lo.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=O(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\"class\");++i<n;)if(!D(t[i]).test(e))return!1;return!0}for(e in t)this.each(R(e,t[e]));return this}return this.each(R(t,e))},Lo.style=function(t,e,r){var i=arguments.length;if(i<3){if(\"string\"!=typeof t){i<2&&(e=\"\");for(r in t)this.each(j(r,t[r],e));return this}if(i<2){var a=this.node();return n(a).getComputedStyle(a,null).getPropertyValue(t)}r=\"\"}return this.each(j(t,e,r))},Lo.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(N(e,t[e]));return this}return this.each(N(t,e))},Lo.text=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?\"\":e}:null==t?function(){this.textContent=\"\"}:function(){this.textContent=t}):this.node().textContent},Lo.html=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?\"\":e}:null==t?function(){this.innerHTML=\"\"}:function(){this.innerHTML=t}):this.node().innerHTML},Lo.append=function(t){return t=B(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Lo.insert=function(t,e){return t=B(t),e=z(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Lo.remove=function(){return this.each(U)},Lo.data=function(t,e){function r(t,r){var n,i,a,o=t.length,c=r.length,f=Math.min(o,c),d=new Array(c),p=new Array(c),g=new Array(o);if(e){var m,v=new h,y=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(v.has(m=e.call(i,i.__data__,n))?g[n]=i:v.set(m,i),y[n]=m);for(n=-1;++n<c;)(i=v.get(m=e.call(r,a=r[n],n)))?i!==!0&&(d[n]=i,i.__data__=a):p[n]=V(a),v.set(m,!0);for(n=-1;++n<o;)n in y&&v.get(y[n])!==!0&&(g[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,d[n]=i):p[n]=V(a);for(;n<c;++n)p[n]=V(r[n]);for(;n<o;++n)g[n]=t[n]}p.update=d,p.parentNode=d.parentNode=g.parentNode=t.parentNode,s.push(p),l.push(d),u.push(g)}var n,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(n=this[0]).length);++a<o;)(i=n[a])&&(t[a]=i.__data__);return t}var s=X([]),l=L([]),u=L([]);if(\"function\"==typeof t)for(;++a<o;)r(n=this[a],t.call(n,n.parentNode.__data__,a));else for(;++a<o;)r(n=this[a],t);return l.enter=function(){return s},l.exit=function(){return u},l},Lo.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Lo.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=q(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return L(i)},Lo.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Lo.sort=function(t){t=H.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Lo.each=function(t){return G(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Lo.call=function(t){var e=ho(arguments);return t.apply(e[0]=this,e),this},Lo.empty=function(){return!this.node()},Lo.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Lo.size=function(){var t=0;return G(this,function(){++t}),t};var Io=[];uo.selection.enter=X,uo.selection.enter.prototype=Io,Io.append=Lo.append,Io.empty=Lo.empty,Io.node=Lo.node,Io.call=Lo.call,Io.size=Lo.size,Io.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var u=-1,c=i.length;++u<c;)(a=i[u])?(e.push(n[u]=r=t.call(i.parentNode,a.__data__,u,s)),r.__data__=a.__data__):e.push(null)}return L(o)},Io.insert=function(t,e){return arguments.length<2&&(e=Y(this)),Lo.insert.call(this,t,e)},uo.select=function(t){var r;return\"string\"==typeof t?(r=[To(t,fo)],r.parentNode=fo.documentElement):(r=[t],r.parentNode=e(t)),L([r])},uo.selectAll=function(t){var e;return\"string\"==typeof t?(e=ho(Eo(t,fo)),e.parentNode=fo.documentElement):(e=ho(t),e.parentNode=null),L([e])},Lo.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){n<2&&(e=!1);for(r in t)this.each(W(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(W(t,e,r))};var Po=uo.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});fo&&Po.forEach(function(t){\"on\"+t in fo&&Po.remove(t)});var Do,Oo=0;uo.mouse=function(t){return $(t,E())};var Ro=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;uo.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=E().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return $(t,n)},uo.behavior.drag=function(){function t(){this.on(\"mousedown.drag\",a).on(\"touchstart.drag\",o)}function e(t,e,n,a,o){return function(){function s(){var t,r,n=e(f,g);n&&(t=n[0]-x[0],r=n[1]-x[1],p|=t|r,\nx=n,d({type:\"drag\",x:n[0]+u[0],y:n[1]+u[1],dx:t,dy:r}))}function l(){e(f,g)&&(v.on(a+m,null).on(o+m,null),y(p),d({type:\"dragend\"}))}var u,c=this,h=uo.event.target.correspondingElement||uo.event.target,f=c.parentNode,d=r.of(c,arguments),p=0,g=t(),m=\".drag\"+(null==g?\"\":\"-\"+g),v=uo.select(n(h)).on(a+m,s).on(o+m,l),y=K(h),x=e(f,g);i?(u=i.apply(c,arguments),u=[u.x-x[0],u.y-x[1]]):u=[0,0],d({type:\"dragstart\"})}}var r=S(t,\"drag\",\"dragstart\",\"dragend\"),i=null,a=e(M,uo.mouse,n,\"mousemove\",\"mouseup\"),o=e(J,uo.touch,b,\"touchmove\",\"touchend\");return t.origin=function(e){return arguments.length?(i=e,t):i},uo.rebind(t,r,\"on\")},uo.touches=function(t,e){return arguments.length<2&&(e=E().touches),e?ho(e).map(function(e){var r=$(t,e);return r.identifier=e.identifier,r}):[]};var Fo=1e-6,jo=Fo*Fo,No=Math.PI,Bo=2*No,Uo=Bo-Fo,Vo=No/2,qo=No/180,Ho=180/No,Go=Math.SQRT2,Xo=2,Yo=4;uo.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<jo)n=Math.log(u/o)/Go,r=function(t){return[i+t*c,a+t*h,o*Math.exp(Go*t*n)]};else{var d=Math.sqrt(f),p=(u*u-o*o+Yo*f)/(2*o*Xo*d),g=(u*u-o*o-Yo*f)/(2*u*Xo*d),m=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/Go,r=function(t){var e=t*n,r=at(m),s=o/(Xo*d)*(r*ot(Go*e+m)-it(m));return[i+s*c,a+s*h,o*r/at(Go*e+m)]}}return r.duration=1e3*n,r},uo.behavior.zoom=function(){function t(t){t.on(C,h).on(Zo+\".zoom\",d).on(\"dblclick.zoom\",p).on(D,f)}function e(t){return[(t[0]-A.x)/A.k,(t[1]-A.y)/A.k]}function r(t){return[t[0]*A.k+A.x,t[1]*A.k+A.y]}function i(t){A.k=Math.max(E[0],Math.min(E[1],t))}function a(t,e){e=r(e),A.x+=t[0]-e[0],A.y+=t[1]-e[1]}function o(e,r,n,o){e.__chart__={x:A.x,y:A.y,k:A.k},i(Math.pow(2,o)),a(m=r,n),e=uo.select(e),L>0&&(e=e.transition().duration(L)),e.call(t.event)}function s(){_&&_.domain(b.range().map(function(t){return(t-A.x)/A.k}).map(b.invert)),M&&M.domain(w.range().map(function(t){return(t-A.y)/A.k}).map(w.invert))}function l(t){z++||t({type:\"zoomstart\"})}function u(t){s(),t({type:\"zoom\",scale:A.k,translate:[A.x,A.y]})}function c(t){--z||(t({type:\"zoomend\"}),m=null)}function h(){function t(){s=1,a(uo.mouse(i),f),u(o)}function r(){h.on(I,null).on(P,null),d(s),c(o)}var i=this,o=O.of(i,arguments),s=0,h=uo.select(n(i)).on(I,t).on(P,r),f=e(uo.mouse(i)),d=K(i);Vl.call(i),l(o)}function f(){function t(){var t=uo.touches(p);return d=A.k,t.forEach(function(t){t.identifier in m&&(m[t.identifier]=e(t))}),t}function r(){var e=uo.event.target;uo.select(e).on(b,n).on(_,s),w.push(e);for(var r=uo.event.changedTouches,i=0,a=r.length;i<a;++i)m[r[i].identifier]=null;var l=t(),u=Date.now();if(1===l.length){if(u-x<500){var c=l[0];o(p,c,m[c.identifier],Math.floor(Math.log(A.k)/Math.LN2)+1),T()}x=u}else if(l.length>1){var c=l[0],h=l[1],f=c[0]-h[0],d=c[1]-h[1];v=f*f+d*d}}function n(){var t,e,r,n,o=uo.touches(p);Vl.call(p);for(var s=0,l=o.length;s<l;++s,n=null)if(r=o[s],n=m[r.identifier]){if(e)break;t=r,e=n}if(n){var c=(c=r[0]-t[0])*c+(c=r[1]-t[1])*c,h=v&&Math.sqrt(c/v);t=[(t[0]+r[0])/2,(t[1]+r[1])/2],e=[(e[0]+n[0])/2,(e[1]+n[1])/2],i(h*d)}x=null,a(t,e),u(g)}function s(){if(uo.event.touches.length){for(var e=uo.event.changedTouches,r=0,n=e.length;r<n;++r)delete m[e[r].identifier];for(var i in m)return void t()}uo.selectAll(w).on(y,null),M.on(C,h).on(D,f),k(),c(g)}var d,p=this,g=O.of(p,arguments),m={},v=0,y=\".zoom-\"+uo.event.changedTouches[0].identifier,b=\"touchmove\"+y,_=\"touchend\"+y,w=[],M=uo.select(p),k=K(p);r(),l(g),M.on(C,null).on(D,r)}function d(){var t=O.of(this,arguments);y?clearTimeout(y):(Vl.call(this),g=e(m=v||uo.mouse(this)),l(t)),y=setTimeout(function(){y=null,c(t)},50),T(),i(Math.pow(2,.002*Wo())*A.k),a(m,g),u(t)}function p(){var t=uo.mouse(this),r=Math.log(A.k)/Math.LN2;o(this,t,e(t),uo.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var g,m,v,y,x,b,_,w,M,A={x:0,y:0,k:1},k=[960,500],E=Qo,L=250,z=0,C=\"mousedown.zoom\",I=\"mousemove.zoom\",P=\"mouseup.zoom\",D=\"touchstart.zoom\",O=S(t,\"zoomstart\",\"zoom\",\"zoomend\");return Zo||(Zo=\"onwheel\"in fo?(Wo=function(){return-uo.event.deltaY*(uo.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in fo?(Wo=function(){return uo.event.wheelDelta},\"mousewheel\"):(Wo=function(){return-uo.event.detail},\"MozMousePixelScroll\")),t.event=function(t){t.each(function(){var t=O.of(this,arguments),e=A;Bl?uo.select(this).transition().each(\"start.zoom\",function(){A=this.__chart__||{x:0,y:0,k:1},l(t)}).tween(\"zoom:zoom\",function(){var r=k[0],n=k[1],i=m?m[0]:r/2,a=m?m[1]:n/2,o=uo.interpolateZoom([(i-A.x)/A.k,(a-A.y)/A.k,r/A.k],[(i-e.x)/e.k,(a-e.y)/e.k,r/e.k]);return function(e){var n=o(e),s=r/n[2];this.__chart__=A={x:i-n[0]*s,y:a-n[1]*s,k:s},u(t)}}).each(\"interrupt.zoom\",function(){c(t)}).each(\"end.zoom\",function(){c(t)}):(this.__chart__=A,l(t),u(t),c(t))})},t.translate=function(e){return arguments.length?(A={x:+e[0],y:+e[1],k:A.k},s(),t):[A.x,A.y]},t.scale=function(e){return arguments.length?(A={x:A.x,y:A.y,k:null},i(+e),s(),t):A.k},t.scaleExtent=function(e){return arguments.length?(E=null==e?Qo:[+e[0],+e[1]],t):E},t.center=function(e){return arguments.length?(v=e&&[+e[0],+e[1]],t):v},t.size=function(e){return arguments.length?(k=e&&[+e[0],+e[1]],t):k},t.duration=function(e){return arguments.length?(L=+e,t):L},t.x=function(e){return arguments.length?(_=e,b=e.copy(),A={x:0,y:0,k:1},t):_},t.y=function(e){return arguments.length?(M=e,w=e.copy(),A={x:0,y:0,k:1},t):M},uo.rebind(t,O,\"on\")};var Wo,Zo,Qo=[0,1/0];uo.color=lt,lt.prototype.toString=function(){return this.rgb()+\"\"},uo.hsl=ut;var Ko=ut.prototype=new lt;Ko.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,this.l/t)},Ko.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,t*this.l)},Ko.rgb=function(){return ct(this.h,this.s,this.l)},uo.hcl=ht;var $o=ht.prototype=new lt;$o.brighter=function(t){return new ht(this.h,this.c,Math.min(100,this.l+Jo*(arguments.length?t:1)))},$o.darker=function(t){return new ht(this.h,this.c,Math.max(0,this.l-Jo*(arguments.length?t:1)))},$o.rgb=function(){return ft(this.h,this.c,this.l).rgb()},uo.lab=dt;var Jo=18,ts=.95047,es=1,rs=1.08883,ns=dt.prototype=new lt;ns.brighter=function(t){return new dt(Math.min(100,this.l+Jo*(arguments.length?t:1)),this.a,this.b)},ns.darker=function(t){return new dt(Math.max(0,this.l-Jo*(arguments.length?t:1)),this.a,this.b)},ns.rgb=function(){return pt(this.l,this.a,this.b)},uo.rgb=xt;var is=xt.prototype=new lt;is.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new xt(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new xt(i,i,i)},is.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new xt(t*this.r,t*this.g,t*this.b)},is.hsl=function(){return At(this.r,this.g,this.b)},is.toString=function(){return\"#\"+wt(this.r)+wt(this.g)+wt(this.b)};var as=uo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});as.forEach(function(t,e){as.set(t,bt(e))}),uo.functor=St,uo.xhr=Lt(b),uo.dsv=function(t,e){function r(t,r,a){arguments.length<3&&(a=r,r=null);var o=zt(t,e,null==r?n:i(r),a);return o.row=function(t){return arguments.length?o.response(null==(r=t)?n:i(t)):r},o}function n(t){return r.parse(t.responseText)}function i(t){return function(e){return r.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return s.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}var s=new RegExp('[\"'+t+\"\\n]\"),l=t.charCodeAt(0);return r.parse=function(t,e){var n;return r.parseRows(t,function(t,r){if(n)return n(t,r-1);var i=new Function(\"d\",\"return {\"+t.map(function(t,e){return JSON.stringify(t)+\": d[\"+e+\"]\"}).join(\",\")+\"}\");n=e?function(t,r){return e(i(t),r)}:i})},r.parseRows=function(t,e){function r(){if(c>=u)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<u;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}c=r+2;var n=t.charCodeAt(r+1);return 13===n?(i=!0,10===t.charCodeAt(r+2)&&++c):10===n&&(i=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;c<u;){var n=t.charCodeAt(c++),s=1;if(10===n)i=!0;else if(13===n)i=!0,10===t.charCodeAt(c)&&(++c,++s);else if(n!==l)continue;return t.slice(e,c-s)}return t.slice(e)}for(var n,i,a={},o={},s=[],u=t.length,c=0,h=0;(n=r())!==o;){for(var f=[];n!==a&&n!==o;)f.push(n),n=r();e&&null==(f=e(f,h++))||s.push(f)}return s},r.format=function(e){if(Array.isArray(e[0]))return r.formatRows(e);var n=new x,i=[];return e.forEach(function(t){for(var e in t)n.has(e)||i.push(n.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join(\"\\n\")},r.formatRows=function(t){return t.map(a).join(\"\\n\")},r},uo.csv=uo.dsv(\",\",\"text/csv\"),uo.tsv=uo.dsv(\"\\t\",\"text/tab-separated-values\");var os,ss,ls,us,cs=this[w(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};uo.timer=function(){Pt.apply(this,arguments)},uo.timer.flush=function(){Ot(),Rt()},uo.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var hs=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(jt);uo.formatPrefix=function(t,e){var r=0;return(t=+t)&&(t<0&&(t*=-1),e&&(t=uo.round(t,Ft(t,e))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,3*Math.floor((r-1)/3)))),hs[8+r/3]};var fs=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,ds=uo.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=uo.round(t,Ft(t,e))).toFixed(Math.max(0,Math.min(20,Ft(t*(1+1e-15),e))))}}),ps=uo.time={},gs=Date;Ut.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){ms.setUTCDate.apply(this._,arguments)},setDay:function(){ms.setUTCDay.apply(this._,arguments)},setFullYear:function(){ms.setUTCFullYear.apply(this._,arguments)},setHours:function(){ms.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ms.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ms.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ms.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ms.setUTCSeconds.apply(this._,arguments)},setTime:function(){ms.setTime.apply(this._,arguments)}};var ms=Date.prototype;ps.year=Vt(function(t){return t=ps.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),ps.years=ps.year.range,ps.years.utc=ps.year.utc.range,ps.day=Vt(function(t){var e=new gs(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),ps.days=ps.day.range,ps.days.utc=ps.day.utc.range,ps.dayOfYear=function(t){var e=ps.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"].forEach(function(t,e){e=7-e;var r=ps[t]=Vt(function(t){return(t=ps.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=ps.year(t).getDay();return Math.floor((ps.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});ps[t+\"s\"]=r.range,ps[t+\"s\"].utc=r.utc.range,ps[t+\"OfYear\"]=function(t){var r=ps.year(t).getDay();return Math.floor((ps.dayOfYear(t)+(r+e)%7)/7)}}),ps.week=ps.sunday,ps.weeks=ps.sunday.range,ps.weeks.utc=ps.sunday.utc.range,ps.weekOfYear=ps.sundayOfYear;var vs={\"-\":\"\",_:\" \",0:\"0\"},ys=/^\\s*\\d+/,xs=/^%/;uo.locale=function(t){return{numberFormat:Nt(t),timeFormat:Ht(t)}};var bs=uo.locale({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],dateTime:\"%a %b %e %X %Y\",date:\"%m/%d/%Y\",time:\"%H:%M:%S\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});uo.format=bs.numberFormat,uo.geo={},he.prototype={s:0,t:0,add:function(t){fe(t,this.t,_s),fe(_s.s,this.s,this),this.s?this.t+=_s.t:this.s=_s.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var _s=new he;uo.geo.stream=function(t,e){t&&ws.hasOwnProperty(t.type)?ws[t.type](t,e):de(t,e)};var ws={Feature:function(t,e){de(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)de(r[n].geometry,e)}},Ms={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){pe(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)pe(r[n],e,0)},Polygon:function(t,e){ge(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)ge(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)de(r[n],e)}};uo.geo.area=function(t){return As=0,uo.geo.stream(t,Ts),As};var As,ks=new he,Ts={sphere:function(){As+=4*No},point:M,lineStart:M,lineEnd:M,polygonStart:function(){ks.reset(),Ts.lineStart=me},polygonEnd:function(){var t=2*ks;As+=t<0?4*No+t:t,Ts.lineStart=Ts.lineEnd=Ts.point=M}};uo.geo.bounds=function(){function t(t,e){x.push(b=[c=t,f=t]),e<h&&(h=e),e>d&&(d=e)}function e(e,r){var n=ve([e*qo,r*qo]);if(v){var i=xe(v,n),a=[i[1],-i[0],0],o=xe(a,i);we(o),o=Me(o);var l=e-p,u=l>0?1:-1,g=o[0]*Ho*u,m=bo(l)>180;if(m^(u*p<g&&g<u*e)){var y=o[1]*Ho;y>d&&(d=y)}else if(g=(g+360)%360-180,m^(u*p<g&&g<u*e)){var y=-o[1]*Ho;y<h&&(h=y)}else r<h&&(h=r),r>d&&(d=r);m?e<p?s(c,e)>s(c,f)&&(f=e):s(e,f)>s(c,f)&&(c=e):f>=c?(e<c&&(c=e),e>f&&(f=e)):e>p?s(c,e)>s(c,f)&&(f=e):s(e,f)>s(c,f)&&(c=e)}else t(e,r);v=n,p=e}function r(){_.point=e}function n(){b[0]=c,b[1]=f,_.point=t,v=null}function i(t,r){if(v){var n=t-p;y+=bo(n)>180?n+(n>0?360:-360):n}else g=t,m=r;Ts.point(t,r),e(t,r)}function a(){Ts.lineStart()}function o(){i(g,m),Ts.lineEnd(),bo(y)>Fo&&(c=-(f=180)),b[0]=c,b[1]=f,v=null}function s(t,e){return(e-=t)<0?e+360:e}function l(t,e){return t[0]-e[0]}function u(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var c,h,f,d,p,g,m,v,y,x,b,_={point:t,lineStart:r,lineEnd:n,polygonStart:function(){_.point=i,_.lineStart=a,_.lineEnd=o,y=0,Ts.polygonStart()},polygonEnd:function(){Ts.polygonEnd(),_.point=t,_.lineStart=r,_.lineEnd=n,ks<0?(c=-(f=180),h=-(d=90)):y>Fo?d=90:y<-Fo&&(h=-90),b[0]=c,b[1]=f}};return function(t){d=f=-(c=h=1/0),x=[],uo.geo.stream(t,_);var e=x.length;if(e){x.sort(l);for(var r,n=1,i=x[0],a=[i];n<e;++n)r=x[n],u(r[0],i)||u(r[1],i)?(s(i[0],r[1])>s(i[0],i[1])&&(i[1]=r[1]),s(r[0],i[1])>s(i[0],i[1])&&(i[0]=r[0])):a.push(i=r);for(var o,r,p=-(1/0),e=a.length-1,n=0,i=a[e];n<=e;i=r,++n)r=a[n],(o=s(i[1],r[0]))>p&&(p=o,c=r[0],f=i[1])}return x=b=null,c===1/0||h===1/0?[[NaN,NaN],[NaN,NaN]]:[[c,h],[f,d]]}}(),uo.geo.centroid=function(t){Es=Ss=Ls=zs=Cs=Is=Ps=Ds=Os=Rs=Fs=0,uo.geo.stream(t,js);var e=Os,r=Rs,n=Fs,i=e*e+r*r+n*n;return i<jo&&(e=Is,r=Ps,n=Ds,Ss<Fo&&(e=Ls,r=zs,n=Cs),i=e*e+r*r+n*n,i<jo)?[NaN,NaN]:[Math.atan2(r,e)*Ho,nt(n/Math.sqrt(i))*Ho]};var Es,Ss,Ls,zs,Cs,Is,Ps,Ds,Os,Rs,Fs,js={sphere:M,point:ke,lineStart:Ee,lineEnd:Se,polygonStart:function(){js.lineStart=Le},polygonEnd:function(){js.lineStart=Ee}},Ns=Oe(Ce,Ne,Ue,[-No,-No/2]),Bs=1e9;uo.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(s){return arguments.length?(a=Ge(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(uo.geo.conicEqualArea=function(){return Xe(Ye)}).raw=Ye,uo.geo.albers=function(){return uo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},uo.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}var e,r,n,i,a=uo.geo.albers(),o=uo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=uo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};return t.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var u=a.scale(),c=+e[0],h=+e[1];return r=a.translate(e).clipExtent([[c-.455*u,h-.238*u],[c+.455*u,h+.238*u]]).stream(l).point,n=o.translate([c-.307*u,h+.201*u]).clipExtent([[c-.425*u+Fo,h+.12*u+Fo],[c-.214*u-Fo,h+.234*u-Fo]]).stream(l).point,i=s.translate([c-.205*u,h+.212*u]).clipExtent([[c-.214*u+Fo,h+.166*u+Fo],[c-.115*u-Fo,h+.234*u-Fo]]).stream(l).point,t},t.scale(1070)};var Us,Vs,qs,Hs,Gs,Xs,Ys={point:M,lineStart:M,lineEnd:M,polygonStart:function(){Vs=0,Ys.lineStart=We},polygonEnd:function(){Ys.lineStart=Ys.lineEnd=Ys.point=M,Us+=bo(Vs/2)}},Ws={point:Ze,lineStart:M,lineEnd:M,polygonStart:M,polygonEnd:M},Zs={point:$e,lineStart:Je,lineEnd:tr,polygonStart:function(){Zs.lineStart=er},polygonEnd:function(){Zs.point=$e,Zs.lineStart=Je,Zs.lineEnd=tr}};uo.geo.path=function(){function t(t){return t&&(\"function\"==typeof s&&a.pointRadius(+s.apply(this,arguments)),o&&o.valid||(o=i(a)),uo.geo.stream(t,o)),a.result()}function e(){return o=null,t}var r,n,i,a,o,s=4.5;return t.area=function(t){return Us=0,uo.geo.stream(t,i(Ys)),Us},t.centroid=function(t){return Ls=zs=Cs=Is=Ps=Ds=Os=Rs=Fs=0,uo.geo.stream(t,i(Zs)),Fs?[Os/Fs,Rs/Fs]:Ds?[Is/Ds,Ps/Ds]:Cs?[Ls/Cs,zs/Cs]:[NaN,NaN]},t.bounds=function(t){return Gs=Xs=-(qs=Hs=1/0),uo.geo.stream(t,i(Ws)),[[qs,Hs],[Gs,Xs]]},t.projection=function(t){return arguments.length?(i=(r=t)?t.stream||ir(t):b,e()):r},t.context=function(t){return arguments.length?(a=null==(n=t)?new Qe:new rr(t),\"function\"!=typeof s&&a.pointRadius(s),e()):n},t.pointRadius=function(e){return arguments.length?(s=\"function\"==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(uo.geo.albersUsa()).context(null)},uo.geo.transform=function(t){return{stream:function(e){var r=new ar(e);for(var n in t)r[n]=t[n];return r}}},ar.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},uo.geo.projection=sr,uo.geo.projectionMutator=lr,(uo.geo.equirectangular=function(){return sr(cr)}).raw=cr.invert=cr,uo.geo.rotation=function(t){function e(e){return e=t(e[0]*qo,e[1]*qo),e[0]*=Ho,e[1]*=Ho,e}return t=fr(t[0]%360*qo,t[1]*qo,t.length>2?t[2]*qo:0),e.invert=function(e){return e=t.invert(e[0]*qo,e[1]*qo),e[0]*=Ho,e[1]*=Ho,e},e},hr.invert=cr,uo.geo.circle=function(){function t(){var t=\"function\"==typeof n?n.apply(this,arguments):n,e=fr(-t[0]*qo,-t[1]*qo,0).invert,i=[];return r(null,null,1,{point:function(t,r){i.push(t=e(t,r)),t[0]*=Ho,t[1]*=Ho}}),{type:\"Polygon\",coordinates:[i]}}var e,r,n=[0,0],i=6;return t.origin=function(e){return arguments.length?(n=e,t):n},t.angle=function(n){return arguments.length?(r=mr((e=+n)*qo,i*qo),t):e},t.precision=function(n){return arguments.length?(r=mr(e*qo,(i=+n)*qo),t):i},t.angle(90)},uo.geo.distance=function(t,e){var r,n=(e[0]-t[0])*qo,i=t[1]*qo,a=e[1]*qo,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),u=Math.cos(i),c=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((r=h*o)*r+(r=u*c-l*h*s)*r),l*c+u*h*s)},uo.geo.graticule=function(){function t(){return{type:\"MultiLineString\",coordinates:e()}}function e(){return uo.range(Math.ceil(a/m)*m,i,m).map(f).concat(uo.range(Math.ceil(u/v)*v,l,v).map(d)).concat(uo.range(Math.ceil(n/p)*p,r,p).filter(function(t){return bo(t%m)>Fo}).map(c)).concat(uo.range(Math.ceil(s/g)*g,o,g).filter(function(t){return bo(t%v)>Fo}).map(h))}var r,n,i,a,o,s,l,u,c,h,f,d,p=10,g=p,m=90,v=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:\"LineString\",coordinates:t}})},t.outline=function(){return{type:\"Polygon\",coordinates:[f(a).concat(d(l).slice(1),f(i).reverse().slice(1),d(u).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],u=+e[0][1],l=+e[1][1],a>i&&(e=a,a=i,i=e),u>l&&(e=u,u=l,l=e),t.precision(y)):[[a,u],[i,l]]},t.minorExtent=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n>r&&(e=n,n=r,r=e),s>o&&(e=s,s=o,o=e),t.precision(y)):[[n,s],[r,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(m=+e[0],v=+e[1],t):[m,v]},t.minorStep=function(e){return arguments.length?(p=+e[0],g=+e[1],t):[p,g]},t.precision=function(e){return arguments.length?(y=+e,c=yr(s,o,90),h=xr(n,r,y),f=yr(u,l,90),d=xr(a,i,y),t):y},t.majorExtent([[-180,-90+Fo],[180,90-Fo]]).minorExtent([[-180,-80-Fo],[180,80+Fo]])},uo.geo.greatArc=function(){function t(){return{type:\"LineString\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}var e,r,n=br,i=_r;return t.distance=function(){return uo.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},t.source=function(r){return arguments.length?(n=r,e=\"function\"==typeof r?null:r,t):n},t.target=function(e){return arguments.length?(i=e,r=\"function\"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},uo.geo.interpolate=function(t,e){return wr(t[0]*qo,t[1]*qo,e[0]*qo,e[1]*qo)},uo.geo.length=function(t){return Qs=0,uo.geo.stream(t,Ks),Qs};var Qs,Ks={sphere:M,point:M,lineStart:Mr,lineEnd:M,polygonStart:M,polygonEnd:M},$s=Ar(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(uo.geo.azimuthalEqualArea=function(){return sr($s)}).raw=$s;var Js=Ar(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},b);(uo.geo.azimuthalEquidistant=function(){return sr(Js)}).raw=Js,(uo.geo.conicConformal=function(){return Xe(kr)}).raw=kr,(uo.geo.conicEquidistant=function(){return Xe(Tr)}).raw=Tr;var tl=Ar(function(t){return 1/t},Math.atan);(uo.geo.gnomonic=function(){return sr(tl)}).raw=tl,Er.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Vo]},(uo.geo.mercator=function(){return Sr(Er)}).raw=Er;var el=Ar(function(){return 1},Math.asin);(uo.geo.orthographic=function(){return sr(el)}).raw=el;var rl=Ar(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(uo.geo.stereographic=function(){return sr(rl)}).raw=rl,Lr.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Vo]},(uo.geo.transverseMercator=function(){var t=Sr(Lr),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):(t=r(),[t[0],t[1],t[2]-90])},r([0,0,90])}).raw=Lr,uo.geom={},uo.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=St(r),a=St(n),o=t.length,s=[],l=[];for(e=0;e<o;e++)s.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(s.sort(Pr),e=0;e<o;e++)l.push([s[e][0],-s[e][1]]);var u=Ir(s),c=Ir(l),h=c[0]===u[0],f=c[c.length-1]===u[u.length-1],d=[];for(e=u.length-1;e>=0;--e)d.push(t[s[u[e]][2]]);for(e=+h;e<c.length-f;++e)d.push(t[s[c[e]][2]]);return d}var r=zr,n=Cr;return arguments.length?e(t):(e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e)},uo.geom.polygon=function(t){return ko(t,nl),t};var nl=uo.geom.polygon.prototype=[];nl.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},nl.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},nl.clip=function(t){for(var e,r,n,i,a,o,s=Rr(t),l=-1,u=this.length-Rr(this),c=this[u-1];++l<u;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)o=e[r],Dr(o,c,i)?(Dr(a,c,i)||t.push(Or(a,o,c,i)),t.push(o)):Dr(a,c,i)&&t.push(Or(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var il,al,ol,sl,ll,ul=[],cl=[];Hr.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)t=e[r].edge,t.b&&t.a||e.splice(r,1);return e.sort(Xr),e.length},rn.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},nn.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=ln(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)n=r.U,r===n.L?(i=n.R,i&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(on(this,r),t=r,r=t.U),r.C=!1,n.C=!0,sn(this,n))):(i=n.L,i&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(sn(this,r),t=r,r=t.U),r.C=!1,n.C=!0,on(this,n))),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?ln(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,on(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,sn(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,on(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,sn(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,on(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,sn(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},uo.geom.voronoi=function(t){function e(t){var e=new Array(t.length),n=s[0][0],i=s[0][1],a=s[1][0],o=s[1][1];return un(r(t),s).cells.forEach(function(r,s){var l=r.edges,u=r.site,c=e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):u.x>=n&&u.x<=a&&u.y>=i&&u.y<=o?[[n,o],[a,o],[a,i],[n,i]]:[];c.point=t[s]}),e}function r(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Fo)*Fo,y:Math.round(o(t,e)/Fo)*Fo,i:e}})}var n=zr,i=Cr,a=n,o=i,s=hl;return t?e(t):(e.links=function(t){return un(r(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return un(r(t)).cells.forEach(function(r,n){for(var i,a,o=r.site,s=r.edges.sort(Xr),l=-1,u=s.length,c=s[u-1].edge,h=c.l===o?c.r:c.l;++l<u;)i=c,a=h,c=s[l].edge,h=c.l===o?c.r:c.l,n<a.i&&n<h.i&&hn(o,a,h)<0&&e.push([t[n],t[a.i],t[h.i]])}),e},e.x=function(t){return arguments.length?(a=St(n=t),e):n},e.y=function(t){return arguments.length?(o=St(i=t),e):i},e.clipExtent=function(t){return arguments.length?(s=null==t?hl:t,e):s===hl?null:s},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):s===hl?null:s&&s[1]},e)};var hl=[[-1e6,-1e6],[1e6,1e6]];uo.geom.delaunay=function(t){return uo.geom.voronoi().triangles(t)},uo.geom.quadtree=function(t,e,r,n,i){function a(t){function a(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(bo(l-r)+bo(c-n)<.01)u(t,e,r,n,i,a,o,s);else{var h=t.point;t.x=t.y=t.point=null,u(t,h,l,c,i,a,o,s),u(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else u(t,e,r,n,i,a,o,s)}function u(t,e,r,n,i,o,s,l){var u=.5*(i+s),c=.5*(o+l),h=r>=u,f=n>=c,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=pn()),h?i=u:s=u,f?o=c:l=c,a(t,e,r,n,i,o,s,l)}var c,h,f,d,p,g,m,v,y,x=St(s),b=St(l);if(null!=e)g=e,m=r,v=n,y=i;else if(v=y=-(g=m=1/0),h=[],f=[],p=t.length,o)for(d=0;d<p;++d)c=t[d],c.x<g&&(g=c.x),c.y<m&&(m=c.y),c.x>v&&(v=c.x),c.y>y&&(y=c.y),h.push(c.x),f.push(c.y);else for(d=0;d<p;++d){var _=+x(c=t[d],d),w=+b(c,d);_<g&&(g=_),w<m&&(m=w),_>v&&(v=_),w>y&&(y=w),h.push(_),f.push(w)}var M=v-g,A=y-m;M>A?y=m+M:v=g+A;var k=pn();if(k.add=function(t){a(k,t,+x(t,++d),+b(t,d),g,m,v,y)},k.visit=function(t){gn(t,k,g,m,v,y)},k.find=function(t){return mn(k,t[0],t[1],g,m,v,y)},d=-1,null==e){for(;++d<p;)a(k,t[d],h[d],f[d],g,m,v,y);--d}else t.forEach(k.add);\nreturn h=f=t=c=null,k}var o,s=zr,l=Cr;return(o=arguments.length)?(s=fn,l=dn,3===o&&(i=r,n=e,r=e=0),a(t)):(a.x=function(t){return arguments.length?(s=t,a):s},a.y=function(t){return arguments.length?(l=t,a):l},a.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),a):null==e?null:[[e,r],[n,i]]},a.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),a):null==e?null:[n-e,i-r]},a)},uo.interpolateRgb=vn,uo.interpolateObject=yn,uo.interpolateNumber=xn,uo.interpolateString=bn;var fl=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,dl=new RegExp(fl.source,\"g\");uo.interpolate=_n,uo.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?as.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?vn:bn:e instanceof lt?vn:Array.isArray(e)?wn:\"object\"===r&&isNaN(e)?yn:xn)(t,e)}],uo.interpolateArray=wn;var pl=function(){return b},gl=uo.map({linear:pl,poly:Ln,quad:function(){return Tn},cubic:function(){return En},sin:function(){return zn},exp:function(){return Cn},circle:function(){return In},elastic:Pn,back:Dn,bounce:function(){return On}}),ml=uo.map({in:b,out:An,\"in-out\":kn,\"out-in\":function(t){return kn(An(t))}});uo.ease=function(t){var e=t.indexOf(\"-\"),r=e>=0?t.slice(0,e):t,n=e>=0?t.slice(e+1):\"in\";return r=gl.get(r)||pl,n=ml.get(n)||b,Mn(n(r.apply(null,co.call(arguments,1))))},uo.interpolateHcl=Rn,uo.interpolateHsl=Fn,uo.interpolateLab=jn,uo.interpolateRound=Nn,uo.transform=function(t){var e=fo.createElementNS(uo.ns.prefix.svg,\"g\");return(uo.transform=function(t){if(null!=t){e.setAttribute(\"transform\",t);var r=e.transform.baseVal.consolidate()}return new Bn(r?r.matrix:vl)})(t)},Bn.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var vl={a:1,b:0,c:0,d:1,e:0,f:0};uo.interpolateTransform=Zn,uo.layout={},uo.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push($n(t[r]));return e}},uo.layout.chord=function(){function t(){var t,u,h,f,d,p={},g=[],m=uo.range(a),v=[];for(r=[],n=[],t=0,f=-1;++f<a;){for(u=0,d=-1;++d<a;)u+=i[f][d];g.push(u),v.push(uo.range(a)),t+=u}for(o&&m.sort(function(t,e){return o(g[t],g[e])}),s&&v.forEach(function(t,e){t.sort(function(t,r){return s(i[e][t],i[e][r])})}),t=(Bo-c*a)/t,u=0,f=-1;++f<a;){for(h=u,d=-1;++d<a;){var y=m[f],x=v[y][d],b=i[y][x],_=u,w=u+=b*t;p[y+\"-\"+x]={index:y,subindex:x,startAngle:_,endAngle:w,value:b}}n[y]={index:y,startAngle:h,endAngle:u,value:g[y]},u+=c}for(f=-1;++f<a;)for(d=f-1;++d<a;){var M=p[f+\"-\"+d],A=p[d+\"-\"+f];(M.value||A.value)&&r.push(M.value<A.value?{source:A,target:M}:{source:M,target:A})}l&&e()}function e(){r.sort(function(t,e){return l((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var r,n,i,a,o,s,l,u={},c=0;return u.matrix=function(t){return arguments.length?(a=(i=t)&&i.length,r=n=null,u):i},u.padding=function(t){return arguments.length?(c=t,r=n=null,u):c},u.sortGroups=function(t){return arguments.length?(o=t,r=n=null,u):o},u.sortSubgroups=function(t){return arguments.length?(s=t,r=null,u):s},u.sortChords=function(t){return arguments.length?(l=t,r&&e(),u):l},u.chords=function(){return r||t(),r},u.groups=function(){return n||t(),n},u},uo.layout.force=function(){function t(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/v<l){if(l<g){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}if(e.point&&l&&l<g){var u=e.pointCharge/l;t.px-=a*u,t.py-=o*u}}return!e.charge}}function e(t){t.px=uo.event.x,t.py=uo.event.y,l.resume()}var r,n,i,a,o,s,l={},u=uo.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],h=.9,f=yl,d=xl,p=-30,g=bl,m=.1,v=.64,y=[],x=[];return l.tick=function(){if((i*=.99)<.005)return r=null,u.end({type:\"end\",alpha:i=0}),!0;var e,n,l,f,d,g,v,b,_,w=y.length,M=x.length;for(n=0;n<M;++n)l=x[n],f=l.source,d=l.target,b=d.x-f.x,_=d.y-f.y,(g=b*b+_*_)&&(g=i*o[n]*((g=Math.sqrt(g))-a[n])/g,b*=g,_*=g,d.x-=b*(v=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=_*v,f.x+=b*(v=1-v),f.y+=_*v);if((v=i*m)&&(b=c[0]/2,_=c[1]/2,n=-1,v))for(;++n<w;)l=y[n],l.x+=(b-l.x)*v,l.y+=(_-l.y)*v;if(p)for(ai(e=uo.geom.quadtree(y),i,s),n=-1;++n<w;)(l=y[n]).fixed||e.visit(t(l));for(n=-1;++n<w;)l=y[n],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*h,l.y-=(l.py-(l.py=l.y))*h);u.tick({type:\"tick\",alpha:i})},l.nodes=function(t){return arguments.length?(y=t,l):y},l.links=function(t){return arguments.length?(x=t,l):x},l.size=function(t){return arguments.length?(c=t,l):c},l.linkDistance=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,l):f},l.distance=l.linkDistance,l.linkStrength=function(t){return arguments.length?(d=\"function\"==typeof t?t:+t,l):d},l.friction=function(t){return arguments.length?(h=+t,l):h},l.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,l):p},l.chargeDistance=function(t){return arguments.length?(g=t*t,l):Math.sqrt(g)},l.gravity=function(t){return arguments.length?(m=+t,l):m},l.theta=function(t){return arguments.length?(v=t*t,l):Math.sqrt(v)},l.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(r.c=null,r.t=NaN,r=null,u.end({type:\"end\",alpha:i=0})):t>0&&(u.start({type:\"start\",alpha:i=t}),r=Pt(l.tick)),l):i},l.start=function(){function t(t,n){if(!r){for(r=new Array(i),l=0;l<i;++l)r[l]=[];for(l=0;l<u;++l){var a=x[l];r[a.source.index].push(a.target),r[a.target.index].push(a.source)}}for(var o,s=r[e],l=-1,c=s.length;++l<c;)if(!isNaN(o=s[l][t]))return o;return Math.random()*n}var e,r,n,i=y.length,u=x.length,h=c[0],g=c[1];for(e=0;e<i;++e)(n=y[e]).index=e,n.weight=0;for(e=0;e<u;++e)n=x[e],\"number\"==typeof n.source&&(n.source=y[n.source]),\"number\"==typeof n.target&&(n.target=y[n.target]),++n.source.weight,++n.target.weight;for(e=0;e<i;++e)n=y[e],isNaN(n.x)&&(n.x=t(\"x\",h)),isNaN(n.y)&&(n.y=t(\"y\",g)),isNaN(n.px)&&(n.px=n.x),isNaN(n.py)&&(n.py=n.y);if(a=[],\"function\"==typeof f)for(e=0;e<u;++e)a[e]=+f.call(this,x[e],e);else for(e=0;e<u;++e)a[e]=f;if(o=[],\"function\"==typeof d)for(e=0;e<u;++e)o[e]=+d.call(this,x[e],e);else for(e=0;e<u;++e)o[e]=d;if(s=[],\"function\"==typeof p)for(e=0;e<i;++e)s[e]=+p.call(this,y[e],e);else for(e=0;e<i;++e)s[e]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){return n||(n=uo.behavior.drag().origin(b).on(\"dragstart.force\",ei).on(\"drag.force\",e).on(\"dragend.force\",ri)),arguments.length?void this.on(\"mouseover.force\",ni).on(\"mouseout.force\",ii).call(n):n},uo.rebind(l,u,\"on\")};var yl=20,xl=1,bl=1/0;uo.layout.hierarchy=function(){function t(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=r.call(t,a,a.depth))&&(l=u.length)){for(var l,u,c;--l>=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;n&&(a.value=0),a.children=u}else n&&(a.value=+n.call(t,a,a.depth)||0),delete a.children;return li(i,function(t){var r,i;e&&(r=t.children)&&r.sort(e),n&&(i=t.parent)&&(i.value+=t.value)}),s}var e=hi,r=ui,n=ci;return t.sort=function(r){return arguments.length?(e=r,t):e},t.children=function(e){return arguments.length?(r=e,t):r},t.value=function(e){return arguments.length?(n=e,t):n},t.revalue=function(e){return n&&(si(e,function(t){t.children&&(t.value=0)}),li(e,function(e){var r;e.children||(e.value=+n.call(t,e,e.depth)||0),(r=e.parent)&&(r.value+=e.value)})),e},t},uo.layout.partition=function(){function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++u<o;)t(s=a[u],r,l=s.value*n,i),r+=l}}function e(t){var r=t.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,e(r[a]));return 1+n}function r(r,a){var o=n.call(this,r,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var n=uo.layout.hierarchy(),i=[1,1];return r.size=function(t){return arguments.length?(i=t,r):i},oi(r,n)},uo.layout.pie=function(){function t(o){var s,l=o.length,u=o.map(function(r,n){return+e.call(t,r,n)}),c=+(\"function\"==typeof n?n.apply(this,arguments):n),h=(\"function\"==typeof i?i.apply(this,arguments):i)-c,f=Math.min(Math.abs(h)/l,+(\"function\"==typeof a?a.apply(this,arguments):a)),d=f*(h<0?-1:1),p=uo.sum(u),g=p?(h-l*d)/p:0,m=uo.range(l),v=[];return null!=r&&m.sort(r===_l?function(t,e){return u[e]-u[t]}:function(t,e){return r(o[t],o[e])}),m.forEach(function(t){v[t]={data:o[t],value:s=u[t],startAngle:c,endAngle:c+=s*g+d,padAngle:f}}),v}var e=Number,r=_l,n=0,i=Bo,a=0;return t.value=function(r){return arguments.length?(e=r,t):e},t.sort=function(e){return arguments.length?(r=e,t):r},t.startAngle=function(e){return arguments.length?(n=e,t):n},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var _l={};uo.layout.stack=function(){function t(s,l){if(!(f=s.length))return s;var u=s.map(function(r,n){return e.call(t,r,n)}),c=u.map(function(e){return e.map(function(e,r){return[a.call(t,e,r),o.call(t,e,r)]})}),h=r.call(t,c,l);u=uo.permute(u,h),c=uo.permute(c,h);var f,d,p,g,m=n.call(t,c,l),v=u[0].length;for(p=0;p<v;++p)for(i.call(t,u[0][p],g=m[p],c[0][p][1]),d=1;d<f;++d)i.call(t,u[d][p],g+=c[d-1][p][1],c[d][p][1]);return s}var e=b,r=mi,n=vi,i=gi,a=di,o=pi;return t.values=function(r){return arguments.length?(e=r,t):e},t.order=function(e){return arguments.length?(r=\"function\"==typeof e?e:wl.get(e)||mi,t):r},t.offset=function(e){return arguments.length?(n=\"function\"==typeof e?e:Ml.get(e)||vi,t):n},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var wl=uo.map({\"inside-out\":function(t){var e,r,n=t.length,i=t.map(yi),a=t.map(xi),o=uo.range(n).sort(function(t,e){return i[t]-i[e]}),s=0,l=0,u=[],c=[];for(e=0;e<n;++e)r=o[e],s<l?(s+=a[r],u.push(r)):(l+=a[r],c.push(r));return c.reverse().concat(u)},reverse:function(t){return uo.range(t.length).reverse()},default:mi}),Ml=uo.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,u,c=t.length,h=t[0],f=h.length,d=[];for(d[0]=l=u=0,r=1;r<f;++r){for(e=0,i=0;e<c;++e)i+=t[e][r][1];for(e=0,a=0,s=h[r][0]-h[r-1][0];e<c;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}d[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<f;++r)d[r]-=u;return d},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:vi});uo.layout.histogram=function(){function t(t,a){for(var o,s,l=[],u=t.map(r,this),c=n.call(this,u,a),h=i.call(this,c,u,a),a=-1,f=u.length,d=h.length-1,p=e?1:1/f;++a<d;)o=l[a]=[],o.dx=h[a+1]-(o.x=h[a]),o.y=0;if(d>0)for(a=-1;++a<f;)s=u[a],s>=c[0]&&s<=c[1]&&(o=l[uo.bisect(h,s,1,d)-1],o.y+=p,o.push(t[a]));return l}var e=!0,r=Number,n=Mi,i=_i;return t.value=function(e){return arguments.length?(r=e,t):r},t.range=function(e){return arguments.length?(n=St(e),t):n},t.bins=function(e){return arguments.length?(i=\"number\"==typeof e?function(t){return wi(t,e)}:St(e),t):i},t.frequency=function(r){return arguments.length?(e=!!r,t):e},t},uo.layout.pack=function(){function t(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],u=i[1],c=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,li(s,function(t){t.r=+c(t.value)}),li(s,Si),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;li(s,function(t){t.r+=h}),li(s,Si),li(s,function(t){t.r-=h})}return Ci(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}var e,r=uo.layout.hierarchy().sort(Ai),n=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(r){return arguments.length?(e=null==r||\"function\"==typeof r?r:+r,t):e},t.padding=function(e){return arguments.length?(n=+e,t):n},oi(t,r)},uo.layout.tree=function(){function t(t,i){var c=o.call(this,t,i),h=c[0],f=e(h);if(li(f,r),f.parent.m=-f.z,si(f,n),u)si(h,a);else{var d=h,p=h,g=h;si(h,function(t){t.x<d.x&&(d=t),t.x>p.x&&(p=t),t.depth>g.depth&&(g=t)});var m=s(d,p)/2-d.x,v=l[0]/(p.x+s(p,d)/2+m),y=l[1]/(g.depth||1);si(h,function(t){t.x=(t.x+m)*v,t.y=t.depth*y})}return c}function e(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}function r(t){var e=t.children,r=t.parent.children,n=t.i?r[t.i-1]:null;if(e.length){Fi(t);var a=(e[0].z+e[e.length-1].z)/2;n?(t.z=n.z+s(t._,n._),t.m=t.z-a):t.z=a}else n&&(t.z=n.z+s(t._,n._));t.parent.A=i(t,n,t.parent.A||r[0])}function n(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,r){if(e){for(var n,i=t,a=t,o=e,l=i.parent.children[0],u=i.m,c=a.m,h=o.m,f=l.m;o=Oi(o),i=Di(i),o&&i;)l=Di(l),a=Oi(a),a.a=t,n=o.z+h-i.z-u+s(o._,i._),n>0&&(Ri(ji(o,t,r),t,n),u+=n,c+=n),h+=o.m,u+=i.m,f+=l.m,c+=a.m;o&&!Oi(a)&&(a.t=o,a.m+=h-c),i&&!Di(l)&&(l.t=i,l.m+=u-f,r=t)}return r}function a(t){t.x*=l[0],t.y=t.depth*l[1]}var o=uo.layout.hierarchy().sort(null).value(null),s=Pi,l=[1,1],u=null;return t.separation=function(e){return arguments.length?(s=e,t):s},t.size=function(e){return arguments.length?(u=null==(l=e)?a:null,t):u?null:l},t.nodeSize=function(e){return arguments.length?(u=null==(l=e)?null:a,t):u?l:null},oi(t,o)},uo.layout.cluster=function(){function t(t,a){var o,s=e.call(this,t,a),l=s[0],u=0;li(l,function(t){var e=t.children;e&&e.length?(t.x=Bi(e),t.y=Ni(e)):(t.x=o?u+=r(t,o):0,t.y=0,o=t)});var c=Ui(l),h=Vi(l),f=c.x-r(c,h)/2,d=h.x+r(h,c)/2;return li(l,i?function(t){t.x=(t.x-l.x)*n[0],t.y=(l.y-t.y)*n[1]}:function(t){t.x=(t.x-f)/(d-f)*n[0],t.y=(1-(l.y?t.y/l.y:1))*n[1]}),s}var e=uo.layout.hierarchy().sort(null).value(null),r=Pi,n=[1,1],i=!1;return t.separation=function(e){return arguments.length?(r=e,t):r},t.size=function(e){return arguments.length?(i=null==(n=e),t):i?null:n},t.nodeSize=function(e){return arguments.length?(i=null!=(n=e),t):i?n:null},oi(t,e)},uo.layout.treemap=function(){function t(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function e(r){var a=r.children;if(a&&a.length){var o,s,l,u=h(r),c=[],f=a.slice(),p=1/0,g=\"slice\"===d?u.dx:\"dice\"===d?u.dy:\"slice-dice\"===d?1&r.depth?u.dy:u.dx:Math.min(u.dx,u.dy);for(t(f,u.dx*u.dy/r.value),c.area=0;(l=f.length)>0;)c.push(o=f[l-1]),c.area+=o.area,\"squarify\"!==d||(s=n(c,g))<=p?(f.pop(),p=s):(c.area-=c.pop().area,i(c,g,u,!1),g=Math.min(u.dx,u.dy),c.length=c.area=0,p=1/0);c.length&&(i(c,g,u,!0),c.length=c.area=0),a.forEach(e)}}function r(e){var n=e.children;if(n&&n.length){var a,o=h(e),s=n.slice(),l=[];for(t(s,o.dx*o.dy/e.value),l.area=0;a=s.pop();)l.push(a),l.area+=a.area,null!=a.z&&(i(l,a.z?o.dx:o.dy,o,!s.length),l.length=l.area=0);n.forEach(r)}}function n(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return n*=n,e*=e,n?Math.max(e*i*p/n,n/(e*a*p)):1/0}function i(t,e,r,n){var i,a=-1,o=t.length,s=r.x,u=r.y,c=e?l(t.area/e):0;if(e==r.dx){for((n||c>r.dy)&&(c=r.dy);++a<o;)i=t[a],i.x=s,i.y=u,i.dy=c,s+=i.dx=Math.min(r.x+r.dx-s,c?l(i.area/c):0);i.z=!0,i.dx+=r.x+r.dx-s,r.y+=c,r.dy-=c}else{for((n||c>r.dx)&&(c=r.dx);++a<o;)i=t[a],i.x=s,i.y=u,i.dx=c,u+=i.dy=Math.min(r.y+r.dy-u,c?l(i.area/c):0);i.z=!1,i.dy+=r.y+r.dy-u,r.x+=c,r.dx-=c}}function a(n){var i=o||s(n),a=i[0];return a.x=a.y=0,a.value?(a.dx=u[0],a.dy=u[1]):a.dx=a.dy=0,o&&s.revalue(a),t([a],a.dx*a.dy/a.value),(o?r:e)(a),f&&(o=i),i}var o,s=uo.layout.hierarchy(),l=Math.round,u=[1,1],c=null,h=qi,f=!1,d=\"squarify\",p=.5*(1+Math.sqrt(5));return a.size=function(t){return arguments.length?(u=t,a):u},a.padding=function(t){function e(e){var r=t.call(a,e,e.depth);return null==r?qi(e):Hi(e,\"number\"==typeof r?[r,r,r,r]:r)}function r(e){return Hi(e,t)}if(!arguments.length)return c;var n;return h=null==(c=t)?qi:\"function\"==(n=typeof t)?e:\"number\"===n?(t=[t,t,t,t],r):r,a},a.round=function(t){return arguments.length?(l=t?Math.round:Number,a):l!=Number},a.sticky=function(t){return arguments.length?(f=t,o=null,a):f},a.ratio=function(t){return arguments.length?(p=t,a):p},a.mode=function(t){return arguments.length?(d=t+\"\",a):d},oi(a,s)},uo.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do r=2*Math.random()-1,n=2*Math.random()-1,i=r*r+n*n;while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=uo.random.normal.apply(uo,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=uo.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},uo.scale={};var Al={floor:b,ceil:b};uo.scale.linear=function(){return Ki([0,1],[0,1],_n,!1)};var kl={s:1,g:1,p:1,r:1,e:1};uo.scale.log=function(){return aa(uo.scale.linear().domain([0,1]),10,!0,[1,10])};var Tl=uo.format(\".0e\"),El={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};uo.scale.pow=function(){return oa(uo.scale.linear(),1,[0,1])},uo.scale.sqrt=function(){return uo.scale.pow().exponent(.5)},uo.scale.ordinal=function(){return la([],{t:\"range\",a:[[]]})},uo.scale.category10=function(){return uo.scale.ordinal().range(Sl)},uo.scale.category20=function(){return uo.scale.ordinal().range(Ll)},uo.scale.category20b=function(){return uo.scale.ordinal().range(zl)},uo.scale.category20c=function(){return uo.scale.ordinal().range(Cl)};var Sl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(_t),Ll=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(_t),zl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(_t),Cl=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(_t);uo.scale.quantile=function(){return ua([],[])},uo.scale.quantize=function(){return ca(0,1,[0,1])},uo.scale.threshold=function(){return ha([.5],[0,1])},uo.scale.identity=function(){return fa([0,1])},uo.svg={},uo.svg.arc=function(){function t(){var t=Math.max(0,+r.apply(this,arguments)),u=Math.max(0,+n.apply(this,arguments)),c=o.apply(this,arguments)-Vo,h=s.apply(this,arguments)-Vo,f=Math.abs(h-c),d=c>h?0:1;if(u<t&&(p=u,u=t,t=p),f>=Uo)return e(u,d)+(t?e(t,1-d):\"\")+\"Z\";var p,g,m,v,y,x,b,_,w,M,A,k,T=0,E=0,S=[];if((v=(+l.apply(this,arguments)||0)/2)&&(m=a===Il?Math.sqrt(t*t+u*u):+a.apply(this,arguments),d||(E*=-1),u&&(E=nt(m/u*Math.sin(v))),t&&(T=nt(m/t*Math.sin(v)))),u){y=u*Math.cos(c+E),x=u*Math.sin(c+E),b=u*Math.cos(h-E),_=u*Math.sin(h-E);var L=Math.abs(h-c-2*E)<=No?0:1;if(E&&xa(y,x,b,_)===d^L){var z=(c+h)/2;y=u*Math.cos(z),x=u*Math.sin(z),b=_=null}}else y=x=0;if(t){w=t*Math.cos(h-T),M=t*Math.sin(h-T),A=t*Math.cos(c+T),k=t*Math.sin(c+T);var C=Math.abs(c-h+2*T)<=No?0:1;if(T&&xa(w,M,A,k)===1-d^C){var I=(c+h)/2;w=t*Math.cos(I),M=t*Math.sin(I),A=k=null}}else w=M=0;if(f>Fo&&(p=Math.min(Math.abs(u-t)/2,+i.apply(this,arguments)))>.001){g=t<u^d?0:1;var P=p,D=p;if(f<No){var O=null==A?[w,M]:null==b?[y,x]:Or([y,x],[A,k],[b,_],[w,M]),R=y-O[0],F=x-O[1],j=b-O[0],N=_-O[1],B=1/Math.sin(Math.acos((R*j+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(j*j+N*N)))/2),U=Math.sqrt(O[0]*O[0]+O[1]*O[1]);D=Math.min(p,(t-U)/(B-1)),P=Math.min(p,(u-U)/(B+1))}if(null!=b){var V=ba(null==A?[w,M]:[A,k],[y,x],u,P,d),q=ba([b,_],[w,M],u,P,d);p===P?S.push(\"M\",V[0],\"A\",P,\",\",P,\" 0 0,\",g,\" \",V[1],\"A\",u,\",\",u,\" 0 \",1-d^xa(V[1][0],V[1][1],q[1][0],q[1][1]),\",\",d,\" \",q[1],\"A\",P,\",\",P,\" 0 0,\",g,\" \",q[0]):S.push(\"M\",V[0],\"A\",P,\",\",P,\" 0 1,\",g,\" \",q[0])}else S.push(\"M\",y,\",\",x);if(null!=A){var H=ba([y,x],[A,k],t,-D,d),G=ba([w,M],null==b?[y,x]:[b,_],t,-D,d);p===D?S.push(\"L\",G[0],\"A\",D,\",\",D,\" 0 0,\",g,\" \",G[1],\"A\",t,\",\",t,\" 0 \",d^xa(G[1][0],G[1][1],H[1][0],H[1][1]),\",\",1-d,\" \",H[1],\"A\",D,\",\",D,\" 0 0,\",g,\" \",H[0]):S.push(\"L\",G[0],\"A\",D,\",\",D,\" 0 0,\",g,\" \",H[0])}else S.push(\"L\",w,\",\",M)}else S.push(\"M\",y,\",\",x),null!=b&&S.push(\"A\",u,\",\",u,\" 0 \",L,\",\",d,\" \",b,\",\",_),S.push(\"L\",w,\",\",M),null!=A&&S.push(\"A\",t,\",\",t,\" 0 \",C,\",\",1-d,\" \",A,\",\",k);return S.push(\"Z\"),S.join(\"\")}function e(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}var r=pa,n=ga,i=da,a=Il,o=ma,s=va,l=ya;return t.innerRadius=function(e){return arguments.length?(r=St(e),t):r},t.outerRadius=function(e){return arguments.length?(n=St(e),t):n},t.cornerRadius=function(e){return arguments.length?(i=St(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Il?Il:St(e),t):a},t.startAngle=function(e){return arguments.length?(o=St(e),t):o},t.endAngle=function(e){return arguments.length?(s=St(e),t):s},t.padAngle=function(e){return arguments.length?(l=St(e),t):l},t.centroid=function(){var t=(+r.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +s.apply(this,arguments))/2-Vo;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Il=\"auto\";uo.svg.line=function(){return _a(b)};var Pl=uo.map({linear:wa,\"linear-closed\":Ma,step:Aa,\"step-before\":ka,\"step-after\":Ta,basis:Ia,\"basis-open\":Pa,\"basis-closed\":Da,bundle:Oa,cardinal:La,\"cardinal-open\":Ea,\"cardinal-closed\":Sa,monotone:Ua});Pl.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Dl=[0,2/3,1/3,0],Ol=[0,1/3,2/3,0],Rl=[0,1/6,2/3,1/6];uo.svg.line.radial=function(){var t=_a(Va);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},ka.reverse=Ta,Ta.reverse=ka,uo.svg.area=function(){return qa(b)},uo.svg.area.radial=function(){var t=qa(Va);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},uo.svg.chord=function(){function t(t,s){var l=e(this,a,t,s),u=e(this,o,t,s);return\"M\"+l.p0+n(l.r,l.p1,l.a1-l.a0)+(r(l,u)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,u.r,u.p0)+n(u.r,u.p1,u.a1-u.a0)+i(u.r,u.p1,l.r,l.p0))+\"Z\"}function e(t,e,r,n){var i=e.call(t,r,n),a=s.call(t,i,n),o=l.call(t,i,n)-Vo,c=u.call(t,i,n)-Vo;return{r:a,a0:o,a1:c,p0:[a*Math.cos(o),a*Math.sin(o)],p1:[a*Math.cos(c),a*Math.sin(c)]}}function r(t,e){return t.a0==e.a0&&t.a1==e.a1}function n(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>No)+\",1 \"+e}function i(t,e,r,n){return\"Q 0,0 \"+n}var a=br,o=_r,s=Ha,l=ma,u=va;return t.radius=function(e){return arguments.length?(s=St(e),t):s},t.source=function(e){return arguments.length?(a=St(e),t):a},t.target=function(e){return arguments.length?(o=St(e),t):o},t.startAngle=function(e){return arguments.length?(l=St(e),t):l},t.endAngle=function(e){return arguments.length?(u=St(e),t):u},t},uo.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=r.call(this,t,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return l=l.map(n),\"M\"+l[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}var e=br,r=_r,n=Ga;return t.source=function(r){return arguments.length?(e=St(r),t):e},t.target=function(e){return arguments.length?(r=St(e),t):r},t.projection=function(e){return arguments.length?(n=e,t):n},t},uo.svg.diagonal.radial=function(){var t=uo.svg.diagonal(),e=Ga,r=t.projection;return t.projection=function(t){return arguments.length?r(Xa(e=t)):e},t},uo.svg.symbol=function(){function t(t,n){return(Fl.get(e.call(this,t,n))||Za)(r.call(this,t,n))}var e=Wa,r=Ya;return t.type=function(r){return arguments.length?(e=St(r),t):e},t.size=function(e){return arguments.length?(r=St(e),t):r},t};var Fl=uo.map({circle:Za,cross:function(t){var e=Math.sqrt(t/5)/2;return\"M\"+-3*e+\",\"+-e+\"H\"+-e+\"V\"+-3*e+\"H\"+e+\"V\"+-e+\"H\"+3*e+\"V\"+e+\"H\"+e+\"V\"+3*e+\"H\"+-e+\"V\"+e+\"H\"+-3*e+\"Z\"},diamond:function(t){var e=Math.sqrt(t/(2*Nl)),r=e*Nl;return\"M0,\"+-e+\"L\"+r+\",0 0,\"+e+\" \"+-r+\",0Z\"},square:function(t){var e=Math.sqrt(t)/2;return\"M\"+-e+\",\"+-e+\"L\"+e+\",\"+-e+\" \"+e+\",\"+e+\" \"+-e+\",\"+e+\"Z\"},\"triangle-down\":function(t){var e=Math.sqrt(t/jl),r=e*jl/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/jl),r=e*jl/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});uo.svg.symbolTypes=Fl.keys();var jl=Math.sqrt(3),Nl=Math.tan(30*qo);Lo.transition=function(t){for(var e,r,n=Bl||++Hl,i=to(t),a=[],o=Ul||{time:Date.now(),ease:Sn,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(r=u[c])&&eo(r,c,i,n,o),e.push(r)}return Ka(a,i,n)},Lo.interrupt=function(t){return this.each(null==t?Vl:Qa(to(t)))};var Bl,Ul,Vl=Qa(to()),ql=[],Hl=0;ql.call=Lo.call,ql.empty=Lo.empty,ql.node=Lo.node,ql.size=Lo.size,uo.transition=function(t,e){return t&&t.transition?Bl?t.transition(e):t:uo.selection().transition(t)},uo.transition.prototype=ql,ql.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=z(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(n=u[c])&&(r=t.call(n,n.__data__,c,s))?(\"__data__\"in n&&(r.__data__=n.__data__),eo(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return Ka(o,a,i)},ql.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=C(t);for(var u=-1,c=this.length;++u<c;)for(var h=this[u],f=-1,d=h.length;++f<d;)if(n=h[f]){a=n[s][o],r=t.call(n,n.__data__,f,u),l.push(e=[]);for(var p=-1,g=r.length;++p<g;)(i=r[p])&&eo(i,p,s,o,a),e.push(i)}return Ka(l,s,o)},ql.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=q(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]);for(var r=this[a],s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return Ka(i,this.namespace,this.id)},ql.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):G(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},ql.attr=function(t,e){function r(){this.removeAttribute(s)}function n(){this.removeAttributeNS(s.space,s.local)}function i(t){return null==t?r:(t+=\"\",function(){var e,r=this.getAttribute(s);return r!==t&&(e=o(r,t),function(t){this.setAttribute(s,e(t))})})}function a(t){return null==t?n:(t+=\"\",function(){var e,r=this.getAttributeNS(s.space,s.local);return r!==t&&(e=o(r,t),function(t){this.setAttributeNS(s.space,s.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var o=\"transform\"==t?Zn:_n,s=uo.ns.qualify(t);return $a(this,\"attr.\"+t,e,s.local?a:i)},ql.attrTween=function(t,e){function r(t,r){var n=e.call(this,t,r,this.getAttribute(i));return n&&function(t){this.setAttribute(i,n(t))}}function n(t,r){var n=e.call(this,t,r,this.getAttributeNS(i.space,i.local));return n&&function(t){this.setAttributeNS(i.space,i.local,n(t))}}var i=uo.ns.qualify(t);return this.tween(\"attr.\"+t,i.local?n:r)},ql.style=function(t,e,r){function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+=\"\",function(){var i,a=n(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(i=_n(a,e),function(e){this.style.setProperty(t,i(e),r)})})}var o=arguments.length;if(o<3){if(\"string\"!=typeof t){o<2&&(e=\"\");for(r in t)this.style(r,t[r],e);return this}r=\"\"}return $a(this,\"style.\"+t,e,a)},ql.styleTween=function(t,e,r){function i(i,a){var o=e.call(this,i,a,n(this).getComputedStyle(this,null).getPropertyValue(t));return o&&function(e){this.style.setProperty(t,o(e),r)}}return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,i)},ql.text=function(t){return $a(this,\"text\",t,Ja)},ql.remove=function(){var t=this.namespace;return this.each(\"end.transition\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},ql.ease=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].ease:(\"function\"!=typeof t&&(t=uo.ease.apply(uo,arguments)),G(this,function(n){n[r][e].ease=t}))},ql.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:G(this,\"function\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},ql.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:G(this,\"function\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ql.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length<2){var i=Ul,a=Bl;try{Bl=r,G(this,function(e,i,a){Ul=e[n][r],t.call(e,e.__data__,i,a)})}finally{Ul=i,Bl=a}}else G(this,function(i){var a=i[n][r];(a.event||(a.event=uo.dispatch(\"start\",\"end\",\"interrupt\"))).on(t,e)});return this},ql.transition=function(){for(var t,e,r,n,i=this.id,a=++Hl,o=this.namespace,s=[],l=0,u=this.length;l<u;l++){s.push(t=[]);for(var e=this[l],c=0,h=e.length;c<h;c++)(r=e[c])&&(n=r[o][i],eo(r,c,o,a,{time:n.time,ease:n.ease,delay:n.delay+n.duration,duration:n.duration})),t.push(r)}return Ka(s,o,a)},uo.svg.axis=function(){function t(t){t.each(function(){var t,u=uo.select(this),c=this.__chart__||r,h=this.__chart__=r.copy(),f=null==l?h.ticks?h.ticks.apply(h,s):h.domain():l,d=null==e?h.tickFormat?h.tickFormat.apply(h,s):b:e,p=u.selectAll(\".tick\").data(f,h),g=p.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Fo),m=uo.transition(p.exit()).style(\"opacity\",Fo).remove(),v=uo.transition(p.order()).style(\"opacity\",1),y=Math.max(i,0)+o,x=Xi(h),_=u.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),uo.transition(_));g.append(\"line\"),g.append(\"text\");var M,A,k,T,E=g.select(\"line\"),S=v.select(\"line\"),L=p.select(\"text\").text(d),z=g.select(\"text\"),C=v.select(\"text\"),I=\"top\"===n||\"left\"===n?-1:1;if(\"bottom\"===n||\"top\"===n?(t=ro,M=\"x\",k=\"y\",A=\"x2\",T=\"y2\",L.attr(\"dy\",I<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+x[0]+\",\"+I*a+\"V0H\"+x[1]+\"V\"+I*a)):(t=no,M=\"y\",k=\"x\",A=\"y2\",T=\"x2\",L.attr(\"dy\",\".32em\").style(\"text-anchor\",I<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+I*a+\",\"+x[0]+\"H0V\"+x[1]+\"H\"+I*a)),E.attr(T,I*i),z.attr(k,I*y),S.attr(A,0).attr(T,I*i),C.attr(M,0).attr(k,I*y),h.rangeBand){var P=h,D=P.rangeBand()/2;c=h=function(t){return P(t)+D}}else c.rangeBand?c=h:m.call(t,h,c);g.call(t,c,h),v.call(t,h,h)})}var e,r=uo.scale.linear(),n=Gl,i=6,a=6,o=3,s=[10],l=null;return t.scale=function(e){return arguments.length?(r=e,t):r},t.orient=function(e){return arguments.length?(n=e in Xl?e+\"\":Gl,t):n},t.ticks=function(){return arguments.length?(s=ho(arguments),t):s},t.tickValues=function(e){return arguments.length?(l=e,t):l},t.tickFormat=function(r){return arguments.length?(e=r,t):e},t.tickSize=function(e){var r=arguments.length;return r?(i=+e,a=+arguments[r-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&&t},t};var Gl=\"bottom\",Xl={top:1,right:1,bottom:1,left:1};uo.svg.brush=function(){function t(n){n.each(function(){var n=uo.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",a).on(\"touchstart.brush\",a),o=n.selectAll(\".background\").data([0]);o.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),n.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var s=n.selectAll(\".resize\").data(g,b);s.exit().remove(),s.enter().append(\"g\").attr(\"class\",function(t){return\"resize \"+t}).style(\"cursor\",function(t){return Yl[t]}).append(\"rect\").attr(\"x\",function(t){return/[ew]$/.test(t)?-3:null}).attr(\"y\",function(t){return/^[ns]/.test(t)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),s.style(\"display\",t.empty()?\"none\":null);var l,h=uo.transition(n),f=uo.transition(o);u&&(l=Xi(u),f.attr(\"x\",l[0]).attr(\"width\",l[1]-l[0]),r(h)),c&&(l=Xi(c),f.attr(\"y\",l[0]).attr(\"height\",l[1]-l[0]),i(h)),e(h)})}function e(t){t.selectAll(\".resize\").attr(\"transform\",function(t){return\"translate(\"+h[+/e$/.test(t)]+\",\"+f[+/^s/.test(t)]+\")\";\n})}function r(t){t.select(\".extent\").attr(\"x\",h[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",h[1]-h[0])}function i(t){t.select(\".extent\").attr(\"y\",f[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",f[1]-f[0])}function a(){function a(){32==uo.event.keyCode&&(L||(x=null,C[0]-=h[1],C[1]-=f[1],L=2),T())}function g(){32==uo.event.keyCode&&2==L&&(C[0]+=h[1],C[1]+=f[1],L=0,T())}function m(){var t=uo.mouse(_),n=!1;b&&(t[0]+=b[0],t[1]+=b[1]),L||(uo.event.altKey?(x||(x=[(h[0]+h[1])/2,(f[0]+f[1])/2]),C[0]=h[+(t[0]<x[0])],C[1]=f[+(t[1]<x[1])]):x=null),E&&v(t,u,0)&&(r(A),n=!0),S&&v(t,c,1)&&(i(A),n=!0),n&&(e(A),M({type:\"brush\",mode:L?\"move\":\"resize\"}))}function v(t,e,r){var n,i,a=Xi(e),l=a[0],u=a[1],c=C[r],g=r?f:h,m=g[1]-g[0];if(L&&(l-=c,u-=m+c),n=(r?p:d)?Math.max(l,Math.min(u,t[r])):t[r],L?i=(n+=c)+m:(x&&(c=Math.max(l,Math.min(u,2*x[r]-n))),c<n?(i=n,n=c):i=c),g[0]!=n||g[1]!=i)return r?s=null:o=null,g[0]=n,g[1]=i,!0}function y(){m(),A.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",t.empty()?\"none\":null),uo.select(\"body\").style(\"cursor\",null),I.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),z(),M({type:\"brushend\"})}var x,b,_=this,w=uo.select(uo.event.target),M=l.of(_,arguments),A=uo.select(_),k=w.datum(),E=!/^(n|s)$/.test(k)&&u,S=!/^(e|w)$/.test(k)&&c,L=w.classed(\"extent\"),z=K(_),C=uo.mouse(_),I=uo.select(n(_)).on(\"keydown.brush\",a).on(\"keyup.brush\",g);if(uo.event.changedTouches?I.on(\"touchmove.brush\",m).on(\"touchend.brush\",y):I.on(\"mousemove.brush\",m).on(\"mouseup.brush\",y),A.interrupt().selectAll(\"*\").interrupt(),L)C[0]=h[0]-C[0],C[1]=f[0]-C[1];else if(k){var P=+/w$/.test(k),D=+/^n/.test(k);b=[h[1-P]-C[0],f[1-D]-C[1]],C[0]=h[P],C[1]=f[D]}else uo.event.altKey&&(x=C.slice());A.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),uo.select(\"body\").style(\"cursor\",w.style(\"cursor\")),M({type:\"brushstart\"}),m()}var o,s,l=S(t,\"brushstart\",\"brush\",\"brushend\"),u=null,c=null,h=[0,0],f=[0,0],d=!0,p=!0,g=Wl[0];return t.event=function(t){t.each(function(){var t=l.of(this,arguments),e={x:h,y:f,i:o,j:s},r=this.__chart__||e;this.__chart__=e,Bl?uo.select(this).transition().each(\"start.brush\",function(){o=r.i,s=r.j,h=r.x,f=r.y,t({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var r=wn(h,e.x),n=wn(f,e.y);return o=s=null,function(i){h=e.x=r(i),f=e.y=n(i),t({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){o=e.i,s=e.j,t({type:\"brush\",mode:\"resize\"}),t({type:\"brushend\"})}):(t({type:\"brushstart\"}),t({type:\"brush\",mode:\"resize\"}),t({type:\"brushend\"}))})},t.x=function(e){return arguments.length?(u=e,g=Wl[!u<<1|!c],t):u},t.y=function(e){return arguments.length?(c=e,g=Wl[!u<<1|!c],t):c},t.clamp=function(e){return arguments.length?(u&&c?(d=!!e[0],p=!!e[1]):u?d=!!e:c&&(p=!!e),t):u&&c?[d,p]:u?d:c?p:null},t.extent=function(e){var r,n,i,a,l;return arguments.length?(u&&(r=e[0],n=e[1],c&&(r=r[0],n=n[0]),o=[r,n],u.invert&&(r=u(r),n=u(n)),n<r&&(l=r,r=n,n=l),r==h[0]&&n==h[1]||(h=[r,n])),c&&(i=e[0],a=e[1],u&&(i=i[1],a=a[1]),s=[i,a],c.invert&&(i=c(i),a=c(a)),a<i&&(l=i,i=a,a=l),i==f[0]&&a==f[1]||(f=[i,a])),t):(u&&(o?(r=o[0],n=o[1]):(r=h[0],n=h[1],u.invert&&(r=u.invert(r),n=u.invert(n)),n<r&&(l=r,r=n,n=l))),c&&(s?(i=s[0],a=s[1]):(i=f[0],a=f[1],c.invert&&(i=c.invert(i),a=c.invert(a)),a<i&&(l=i,i=a,a=l))),u&&c?[[r,i],[n,a]]:u?[r,n]:c&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],o=s=null),t},t.empty=function(){return!!u&&h[0]==h[1]||!!c&&f[0]==f[1]},uo.rebind(t,l,\"on\")};var Yl={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Wl=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],Zl=ps.format=bs.timeFormat,Ql=Zl.utc,Kl=Ql(\"%Y-%m-%dT%H:%M:%S.%LZ\");Zl.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?io:Kl,io.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},io.toString=Kl.toString,ps.second=Vt(function(t){return new gs(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),ps.seconds=ps.second.range,ps.seconds.utc=ps.second.utc.range,ps.minute=Vt(function(t){return new gs(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),ps.minutes=ps.minute.range,ps.minutes.utc=ps.minute.utc.range,ps.hour=Vt(function(t){var e=t.getTimezoneOffset()/60;return new gs(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),ps.hours=ps.hour.range,ps.hours.utc=ps.hour.utc.range,ps.month=Vt(function(t){return t=ps.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),ps.months=ps.month.range,ps.months.utc=ps.month.utc.range;var $l=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Jl=[[ps.second,1],[ps.second,5],[ps.second,15],[ps.second,30],[ps.minute,1],[ps.minute,5],[ps.minute,15],[ps.minute,30],[ps.hour,1],[ps.hour,3],[ps.hour,6],[ps.hour,12],[ps.day,1],[ps.day,2],[ps.week,1],[ps.month,1],[ps.month,3],[ps.year,1]],tu=Zl.multi([[\".%L\",function(t){return t.getMilliseconds()}],[\":%S\",function(t){return t.getSeconds()}],[\"%I:%M\",function(t){return t.getMinutes()}],[\"%I %p\",function(t){return t.getHours()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%B\",function(t){return t.getMonth()}],[\"%Y\",Ce]]),eu={range:function(t,e,r){return uo.range(Math.ceil(t/r)*r,+e,r).map(oo)},floor:b,ceil:b};Jl.year=ps.year,ps.scale=function(){return ao(uo.scale.linear(),Jl,tu)};var ru=Jl.map(function(t){return[t[0].utc,t[1]]}),nu=Ql.multi([[\".%L\",function(t){return t.getUTCMilliseconds()}],[\":%S\",function(t){return t.getUTCSeconds()}],[\"%I:%M\",function(t){return t.getUTCMinutes()}],[\"%I %p\",function(t){return t.getUTCHours()}],[\"%a %d\",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[\"%b %d\",function(t){return 1!=t.getUTCDate()}],[\"%B\",function(t){return t.getUTCMonth()}],[\"%Y\",Ce]]);ru.year=ps.year.utc,ps.scale.utc=function(){return ao(uo.scale.linear(),ru,nu)},uo.text=Lt(function(t){return t.responseText}),uo.json=function(t,e){return zt(t,\"application/json\",so,e)},uo.html=function(t,e){return zt(t,\"text/html\",lo,e)},uo.xml=Lt(function(t){return t.responseXML}),\"function\"==typeof t&&t.amd?(this.d3=uo,t(uo)):\"object\"==typeof r&&r.exports?r.exports=uo:this.d3=uo}()},{}],96:[function(t,e,r){\"use strict\";function n(t,e){this.point=t,this.index=e}function i(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}function a(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&&i.push([-1,i[0][1]],[i[t-1][1],-1]),i}function o(t,e){var r=t.length;if(0===r)return[];var o=t[0].length;if(o<1)return[];if(1===o)return a(r,t,e);for(var u=new Array(r),c=1,h=0;h<r;++h){for(var f=t[h],d=new Array(o+1),p=0,g=0;g<o;++g){var m=f[g];d[g]=m,p+=m*m}d[o]=p,u[h]=new n(d,h),c=Math.max(p,c)}l(u,i),r=u.length;for(var v=new Array(r+o+1),y=new Array(r+o+1),x=(o+1)*(o+1)*c,b=new Array(o+1),h=0;h<=o;++h)b[h]=0;b[o]=x,v[0]=b.slice(),y[0]=-1;for(var h=0;h<=o;++h){var d=b.slice();d[h]=1,v[h+1]=d,y[h+1]=-1}for(var h=0;h<r;++h){var _=u[h];v[h+o+1]=_.point,y[h+o+1]=_.index}var w=s(v,!1);if(w=e?w.filter(function(t){for(var e=0,r=0;r<=o;++r){var n=y[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):w.filter(function(t){for(var e=0;e<=o;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0}),1&o)for(var h=0;h<w.length;++h){var _=w[h],d=_[0];_[0]=_[1],_[1]=d}return w}var s=t(\"incremental-convex-hull\"),l=t(\"uniq\");e.exports=o},{\"incremental-convex-hull\":254,uniq:498}],97:[function(t,e,r){(function(t){function r(t,e){return d[0]=t,d[1]=e,f[0]}function n(t){return f[0]=t,d[0]}function i(t){return f[0]=t,d[1]}function a(t,e){return d[1]=t,d[0]=e,f[0]}function o(t){return f[0]=t,d[1]}function s(t){return f[0]=t,d[0]}function l(t,e){return p.writeUInt32LE(t,0,!0),p.writeUInt32LE(e,4,!0),p.readDoubleLE(0,!0)}function u(t){return p.writeDoubleLE(t,0,!0),p.readUInt32LE(0,!0)}function c(t){return p.writeDoubleLE(t,0,!0),p.readUInt32LE(4,!0)}var h=!1;if(\"undefined\"!=typeof Float64Array){var f=new Float64Array(1),d=new Uint32Array(f.buffer);f[0]=1,h=!0,1072693248===d[1]?(e.exports=function(t){return f[0]=t,[d[0],d[1]]},e.exports.pack=r,e.exports.lo=n,e.exports.hi=i):1072693248===d[0]?(e.exports=function(t){return f[0]=t,[d[1],d[0]]},e.exports.pack=a,e.exports.lo=o,e.exports.hi=s):h=!1}if(!h){var p=new t(8);e.exports=function(t){return p.writeDoubleLE(t,0,!0),[p.readUInt32LE(0,!0),p.readUInt32LE(4,!0)]},e.exports.pack=l,e.exports.lo=u,e.exports.hi=c}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){var r=e.exports.hi(t);return(r<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){var r=e.exports.hi(t);return!(2146435072&r)}}).call(this,t(\"buffer\").Buffer)},{buffer:64}],98:[function(t,e,r){\"use strict\";function n(t,e,r){var i=0|t[r];if(i<=0)return[];var a,o=new Array(i);if(r===t.length-1)for(a=0;a<i;++a)o[a]=e;else for(a=0;a<i;++a)o[a]=n(t,e,r+1);return o}function i(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function a(t,e){switch(\"undefined\"==typeof e&&(e=0),typeof t){case\"number\":if(t>0)return i(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return n(t,e,0)}return[]}e.exports=a},{}],99:[function(t,e,r){\"use strict\";function n(t,e,r){r=r||2;var n=e&&e.length,a=n?e[0]*r:t.length,s=i(t,0,a,r,!0),l=[];if(!s)return l;var u,c,f,d,p,g,m;if(n&&(s=h(t,e,s,r)),t.length>80*r){u=f=t[0],c=d=t[1];for(var v=r;v<a;v+=r)p=t[v],g=t[v+1],p<u&&(u=p),g<c&&(c=g),p>f&&(f=p),g>d&&(d=g);m=Math.max(f-u,d-c)}return o(s,l,r,u,c,m),l}function i(t,e,r,n,i){var a,o;if(i===C(t,e,r,n)>0)for(a=e;a<r;a+=n)o=S(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=S(a,t[a],t[a+1],o);return o&&w(o,o.next)&&(L(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do if(r=!1,n.steiner||!w(n,n.next)&&0!==_(n.prev,n,n.next))n=n.next;else{if(L(n),n=e=n.prev,n===n.next)return null;r=!0}while(r||n!==e);return e}function o(t,e,r,n,i,h,f){if(t){!f&&h&&g(t,n,i,h);for(var d,p,m=t;t.prev!==t.next;)if(d=t.prev,p=t.next,h?l(t,n,i,h):s(t))e.push(d.i/r),e.push(t.i/r),e.push(p.i/r),L(t),t=p.next,m=p.next;else if(t=p,t===m){f?1===f?(t=u(t,e,r),o(t,e,r,n,i,h,2)):2===f&&c(t,e,r,n,i,h):o(a(t),e,r,n,i,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(_(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(x(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&_(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(_(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=v(s,l,e,r,n),f=v(u,c,e,r,n),d=t.nextZ;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&x(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&_(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(d=t.prevZ;d&&d.z>=h;){if(d!==t.prev&&d!==t.next&&x(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&_(d.prev,d,d.next)>=0)return!1;d=d.prevZ}return!0}function u(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!w(i,a)&&M(i,n,n.next,a)&&k(i,a)&&k(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),L(n),L(n.next),n=t=a),n=n.next}while(n!==t);return n}function c(t,e,r,n,i,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&b(l,u)){var c=E(l,u);return l=a(l,l.next),c=a(c,c.next),o(l,e,r,n,i,s),void o(c,e,r,n,i,s)}u=u.next}l=l.next}while(l!==t)}function h(t,e,r,n){var o,s,l,u,c,h=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,u=o<s-1?e[o+1]*n:t.length,c=i(t,l,u,n,!1),c===c.next&&(c.steiner=!0),h.push(y(c));for(h.sort(f),o=0;o<h.length;o++)d(h[o],r),r=a(r,r.next);return r}function f(t,e){return t.x-e.x}function d(t,e){if(e=p(t,e)){var r=E(e,t);a(r,r.next)}}function p(t,e){var r,n=e,i=t.x,a=t.y,o=-(1/0);do{if(a<=n.y&&a>=n.next.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,u=r,c=r.x,h=r.y,f=1/0;for(n=r.next;n!==u;)i>=n.x&&n.x>=c&&x(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),(l<f||l===f&&n.x>r.x)&&k(n,t)&&(r=n,f=l)),n=n.next;return r}function g(t,e,r,n){var i=t;do null===i.z&&(i.z=v(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,m(i)}function m(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ,n);e++);for(l=u;s>0||l>0&&n;)0===s?(i=n,n=n.nextZ,l--):0!==l&&n?r.z<=n.z?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return t}function v(t,e,r,n,i){return t=32767*(t-r)/i,e=32767*(e-n)/i,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1}function y(t){var e=t,r=t;do e.x<r.x&&(r=e),e=e.next;while(e!==t);return r}function x(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function b(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!A(t,e)&&k(t,e)&&k(e,t)&&T(t,e)}function _(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function w(t,e){return t.x===e.x&&t.y===e.y}function M(t,e,r,n){return!!(w(t,e)&&w(r,n)||w(t,n)&&w(r,e))||_(t,e,r)>0!=_(t,e,n)>0&&_(r,n,t)>0!=_(r,n,e)>0}function A(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&M(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function k(t,e){return _(t.prev,t,t.next)<0?_(t,e,t.next)>=0&&_(t,t.prev,e)>=0:_(t,e,t.prev)<0||_(t,t.next,e)<0}function T(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do r.y>a!=r.next.y>a&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==t);return n}function E(t,e){var r=new z(t.i,t.x,t.y),n=new z(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function S(t,e,r,n){var i=new z(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function L(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function z(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function C(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(C(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(C(t,u,c,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,d=n[s+1]*r,p=n[s+2]*r;h+=Math.abs((t[f]-t[p])*(t[d+1]-t[f+1])-(t[f]-t[d])*(t[p+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],100:[function(t,e,r){\"use strict\";function n(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var n=0;n<r;++n){var a=t[n];e=Math.max(e,a[0],a[1])}e=(0|e)+1}e|=0;for(var o=new Array(e),n=0;n<e;++n)o[n]=[];for(var n=0;n<r;++n){var a=t[n];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)i(o[s],function(t,e){return t-e});return o}e.exports=n;var i=t(\"uniq\")},{uniq:498}],101:[function(e,r,n){(function(i,a){!function(e,i){\"object\"==typeof n&&\"undefined\"!=typeof r?r.exports=i():\"function\"==typeof t&&t.amd?t(i):e.ES6Promise=i()}(this,function(){\"use strict\";function t(t){return\"function\"==typeof t||\"object\"==typeof t&&null!==t}function r(t){return\"function\"==typeof t}function n(t){Z=t}function o(t){Q=t}function s(){return function(){return i.nextTick(f)}}function l(){return function(){W(f)}}function u(){var t=0,e=new J(f),r=document.createTextNode(\"\");return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}function c(){var t=new MessageChannel;return t.port1.onmessage=f,function(){return t.port2.postMessage(0)}}function h(){var t=setTimeout;return function(){return t(f,1)}}function f(){for(var t=0;t<Y;t+=2){var e=rt[t],r=rt[t+1];e(r),rt[t]=void 0,rt[t+1]=void 0}Y=0}function d(){try{var t=e,r=t(\"vertx\");return W=r.runOnLoop||r.runOnContext,l()}catch(t){return h()}}function p(t,e){var r=arguments,n=this,i=new this.constructor(m);void 0===i[it]&&O(i);var a=n._state;return a?!function(){var t=r[a-1];Q(function(){return I(a,i,t,n._result)})}():S(n,i,t,e),i}function g(t){var e=this;if(t&&\"object\"==typeof t&&t.constructor===e)return t;var r=new e(m);return A(r,t),r}function m(){}function v(){return new TypeError(\"You cannot resolve a promise with itself\")}function y(){return new TypeError(\"A promises callback cannot return that same promise.\")}function x(t){try{return t.then}catch(t){return lt.error=t,lt}}function b(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}function _(t,e,r){Q(function(t){var n=!1,i=b(r,e,function(r){n||(n=!0,e!==r?A(t,r):T(t,r))},function(e){n||(n=!0,E(t,e))},\"Settle: \"+(t._label||\" unknown promise\"));!n&&i&&(n=!0,E(t,i))},t)}function w(t,e){e._state===ot?T(t,e._result):e._state===st?E(t,e._result):S(e,void 0,function(e){return A(t,e)},function(e){return E(t,e)})}function M(t,e,n){e.constructor===t.constructor&&n===p&&e.constructor.resolve===g?w(t,e):n===lt?E(t,lt.error):void 0===n?T(t,e):r(n)?_(t,e,n):T(t,e)}function A(e,r){e===r?E(e,v()):t(r)?M(e,r,x(r)):T(e,r)}function k(t){t._onerror&&t._onerror(t._result),L(t)}function T(t,e){t._state===at&&(t._result=e,t._state=ot,0!==t._subscribers.length&&Q(L,t))}function E(t,e){t._state===at&&(t._state=st,t._result=e,Q(k,t))}function S(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+ot]=r,i[a+st]=n,0===a&&t._state&&Q(L,t)}function L(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?I(r,n,i,a):i(a);t._subscribers.length=0}}function z(){this.error=null}function C(t,e){try{return t(e)}catch(t){return ut.error=t,ut}}function I(t,e,n,i){var a=r(n),o=void 0,s=void 0,l=void 0,u=void 0;if(a){if(o=C(n,i),o===ut?(u=!0,s=o.error,o=null):l=!0,e===o)return void E(e,y())}else o=i,l=!0;e._state!==at||(a&&l?A(e,o):u?E(e,s):t===ot?T(e,o):t===st&&E(e,o))}function P(t,e){try{e(function(e){A(t,e)},function(e){E(t,e)})}catch(e){E(t,e)}}function D(){return ct++}function O(t){t[it]=ct++,t._state=void 0,t._result=void 0,t._subscribers=[]}function R(t,e){this._instanceConstructor=t,this.promise=new t(m),this.promise[it]||O(this.promise),X(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?T(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&T(this.promise,this._result))):E(this.promise,F())}function F(){return new Error(\"Array Methods must be provided an Array\")}function j(t){return new R(this,t).promise}function N(t){var e=this;return new e(X(t)?function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}:function(t,e){return e(new TypeError(\"You must pass an array to race.\"))})}function B(t){var e=this,r=new e(m);return E(r,t),r}function U(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}function V(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}function q(t){this[it]=D(),this._result=this._state=void 0,this._subscribers=[],m!==t&&(\"function\"!=typeof t&&U(),this instanceof q?P(this,t):V())}function H(){var t=void 0;if(\"undefined\"!=typeof a)t=a;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(\"[object Promise]\"===r&&!e.cast)return}t.Promise=q}var G=void 0;G=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)};var X=G,Y=0,W=void 0,Z=void 0,Q=function(t,e){rt[Y]=t,rt[Y+1]=e,Y+=2,2===Y&&(Z?Z(f):nt())},K=\"undefined\"!=typeof window?window:void 0,$=K||{},J=$.MutationObserver||$.WebKitMutationObserver,tt=\"undefined\"==typeof self&&\"undefined\"!=typeof i&&\"[object process]\"==={}.toString.call(i),et=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel,rt=new Array(1e3),nt=void 0;nt=tt?s():J?u():et?c():void 0===K&&\"function\"==typeof e?d():h();var it=Math.random().toString(36).substring(16),at=void 0,ot=1,st=2,lt=new z,ut=new z,ct=0;return R.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===at&&r<t;r++)this._eachEntry(e[r],r)},R.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===g){var i=x(t);if(i===p&&t._state!==at)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===q){var a=new r(m);M(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},R.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===at&&(this._remaining--,t===st?E(n,r):this._result[e]=r),0===this._remaining&&T(n,this._result)},R.prototype._willSettleAt=function(t,e){var r=this;S(t,void 0,function(t){return r._settledAt(ot,e,t)},function(t){return r._settledAt(st,e,t)})},q.all=j,q.race=N,q.resolve=g,q.reject=B,q._setScheduler=n,q._setAsap=o,q._asap=Q,q.prototype={constructor:q,then:p,catch:function(t){return this.then(null,t)}},H(),q.polyfill=H,q.Promise=q,q})}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:445}],102:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return\"function\"==typeof t}function a(t){return\"number\"==typeof t}function o(t){return\"object\"==typeof t&&null!==t}function s(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!a(t)||t<0||isNaN(t))throw TypeError(\"n must be a positive number\");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,a,l,u;if(this._events||(this._events={}),\"error\"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(e=arguments[1],e instanceof Error)throw e;var c=new Error('Uncaught, unspecified \"error\" event. ('+e+\")\");throw c.context=e,c}if(r=this._events[t],s(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),r.apply(this,a)}else if(o(r))for(a=Array.prototype.slice.call(arguments,1),u=r.slice(),n=u.length,l=0;l<n;l++)u[l].apply(this,a);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",t,i(e.listener)?e.listener:e),this._events[t]?o(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,o(this._events[t])&&!this._events[t].warned&&(r=s(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[t].length),\"function\"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError(\"listener must be a function\");var n=!1;return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var r,n,a,s;if(!i(e))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[t])return this;if(r=this._events[t],a=r.length,n=-1,r===e||i(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\"removeListener\",t,e);else if(o(r)){for(s=a;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){n=s;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit(\"removeListener\",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\"removeListener\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(r=this._events[t],i(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){var e;return e=this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],103:[function(t,e,r){\"use strict\";function n(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}e.exports=n},{}],104:[function(t,e,r){\"use strict\";function n(t){for(var e,r=t.length,n=0;n<r;n++)if(e=t.charCodeAt(n),(e<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}e.exports=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(t=+t,0===t&&n(r))return!1}else if(\"number\"!==e)return!1;return t-t<1}},{}],105:[function(t,e,r){\"use strict\";function n(t){return new Function(\"f\",\"var p = (f && f.properties || {}); return \"+i(t))}function i(t){if(!t)return\"true\";var e=t[0];if(t.length<=1)return\"any\"===e?\"false\":\"true\";var r=\"==\"===e?o(t[1],t[2],\"===\",!1):\"!=\"===e?o(t[1],t[2],\"!==\",!1):\"<\"===e||\">\"===e||\"<=\"===e||\">=\"===e?o(t[1],t[2],e,!0):\"any\"===e?s(t.slice(1),\"||\"):\"all\"===e?s(t.slice(1),\"&&\"):\"none\"===e?c(s(t.slice(1),\"||\")):\"in\"===e?l(t[1],t.slice(2)):\"!in\"===e?c(l(t[1],t.slice(2))):\"has\"===e?u(t[1]):\"!has\"===e?c(u([t[1]])):\"true\";return\"(\"+r+\")\"}function a(t){return\"$type\"===t?\"f.type\":\"$id\"===t?\"f.id\":\"p[\"+JSON.stringify(t)+\"]\"}function o(t,e,r,n){var i=a(t),o=\"$type\"===t?f.indexOf(e):JSON.stringify(e);return(n?\"typeof \"+i+\"=== typeof \"+o+\"&&\":\"\")+i+r+o}function s(t,e){return t.map(i).join(e)}function l(t,e){\"$type\"===t&&(e=e.map(function(t){return f.indexOf(t)}));var r=JSON.stringify(e.sort(h)),n=a(t);return e.length<=200?r+\".indexOf(\"+n+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1;    if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+n+\", \"+r+\",0,\"+(e.length-1)+\")\"}function u(t){return JSON.stringify(t)+\" in p\"}function c(t){return\"!(\"+t+\")\"}function h(t,e){return t<e?-1:t>e?1:0}e.exports=n;var f=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"]},{}],106:[function(t,e,r){\"use strict\";function n(t,e,r){return Math.min(e,Math.max(t,r))}function i(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-(1/0),this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}function a(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}function o(t,e,r){switch(arguments.length){case 0:return new i([0],[0],0);case 1:if(\"number\"==typeof t){var n=a(t);return new i(n,n,0)}return new i(t,a(t.length),0);case 2:if(\"number\"==typeof e){var n=a(t.length);return new i(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new i(t,e,r)}}e.exports=o;var s=t(\"cubic-hermite\"),l=t(\"binary-search-bounds\"),u=i.prototype;u.flush=function(t){var e=l.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},u.curve=function(t){var e=this._time,r=e.length,i=l.le(e,t),a=this._scratch[0],o=this._state,u=this._velocity,c=this.dimension,h=this.bounds;if(i<0)for(var f=c-1,d=0;d<c;++d,--f)a[d]=o[f];else if(i>=r-1)for(var f=o.length-1,p=t-e[r-1],d=0;d<c;++d,--f)a[d]=o[f]+p*u[f];else{for(var f=c*(i+1)-1,g=e[i],m=e[i+1],v=m-g||1,y=this._scratch[1],x=this._scratch[2],b=this._scratch[3],_=this._scratch[4],w=!0,d=0;d<c;++d,--f)y[d]=o[f],b[d]=u[f]*v,x[d]=o[f+c],_[d]=u[f+c]*v,w=w&&y[d]===x[d]&&b[d]===_[d]&&0===b[d];if(w)for(var d=0;d<c;++d)a[d]=y[d];else s(y,b,x,_,(t-g)/v,a)}for(var M=h[0],A=h[1],d=0;d<c;++d)a[d]=n(M[d],A[d],a[d]);return a},u.dcurve=function(t){var e=this._time,r=e.length,n=l.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,u=this.dimension;if(n>=r-1)for(var c=a.length-1,h=(t-e[r-1],0);h<u;++h,--c)i[h]=o[c];else{for(var c=u*(n+1)-1,f=e[n],d=e[n+1],p=d-f||1,g=this._scratch[1],m=this._scratch[2],v=this._scratch[3],y=this._scratch[4],x=!0,h=0;h<u;++h,--c)g[h]=a[c],v[h]=o[c]*p,m[h]=a[c+u],y[h]=o[c+u]*p,x=x&&g[h]===m[h]&&v[h]===y[h]&&0===v[h];if(x)for(var h=0;h<u;++h)i[h]=0;else{s.derivative(g,v,m,y,(t-f)/p,i);for(var h=0;h<u;++h)i[h]/=p}}return i},u.lastT=function(){var t=this._time;return t[t.length-1]},u.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},u.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],u=s[1];this._time.push(e,t);for(var c=0;c<2;++c)for(var h=0;h<r;++h)i.push(i[o++]),a.push(0);this._time.push(t);for(var h=r;h>0;--h)i.push(n(l[h-1],u[h-1],arguments[h])),a.push(0)}},u.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=t-e,l=this.bounds,u=l[0],c=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var d=n(u[f-1],c[f-1],arguments[f]);i.push(d),a.push((d-i[o++])*h)}}},u.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,i=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(n(o[l-1],s[l-1],arguments[l])),i.push(0)}},u.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,h=c>1e-6?1/c:0;this._time.push(t);for(var f=r;f>0;--f){var d=arguments[f];i.push(n(l[f-1],u[f-1],i[o++]+d)),a.push(d*h)}}},u.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,i=this._state,a=this._velocity,o=i.length-r,s=this.bounds,l=s[0],u=s[1],c=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)i.push(n(l[h],u[h],i[o]+c*a[o])),a.push(0),o+=1}}},{\"binary-search-bounds\":53,\"cubic-hermite\":90}],107:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){\nthis._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}function l(t,e){if(e.left){var r=l(t,e.left);if(r)return r}var r=t(e.key,e.value);return r?r:e.right?l(t,e.right):void 0}function u(t,e,r,n){var i=e(t,n.key);if(i<=0){if(n.left){var a=u(t,e,r,n.left);if(a)return a}var a=r(n.key,n.value);if(a)return a}if(n.right)return u(t,e,r,n.right)}function c(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=c(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return c(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}function f(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t){for(var e,r,n,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=v);if(r=t[l-1],r.left===e){if(n=r.right,n.right&&n.right._color===m){if(n=r.right=i(n),s=n.right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=v,r._color=v,s._color=v,o(r),o(n),l>1){var u=t[l-2];u.left===r?u.left=n:u.right=n}return void(t[l-1]=n)}if(n.left&&n.left._color===m){if(n=r.right=i(n),s=n.left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=v,n._color=v,e._color=v,o(r),o(n),o(s),l>1){var u=t[l-2];u.left===r?u.left=s:u.right=s}return void(t[l-1]=s)}if(n._color===v){if(r._color===m)return r._color=v,void(r.right=a(m,n));r.right=a(m,n);continue}if(n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=m,o(r),o(n),l>1){var u=t[l-2];u.left===r?u.left=n:u.right=n}t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}else{if(n=r.left,n.left&&n.left._color===m){if(n=r.left=i(n),s=n.left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=v,r._color=v,s._color=v,o(r),o(n),l>1){var u=t[l-2];u.right===r?u.right=n:u.left=n}return void(t[l-1]=n)}if(n.right&&n.right._color===m){if(n=r.left=i(n),s=n.right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=v,n._color=v,e._color=v,o(r),o(n),o(s),l>1){var u=t[l-2];u.right===r?u.right=s:u.left=s}return void(t[l-1]=s)}if(n._color===v){if(r._color===m)return r._color=v,void(r.left=a(m,n));r.left=a(m,n);continue}if(n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=m,o(r),o(n),l>1){var u=t[l-2];u.right===r?u.right=n:u.left=n}t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}function p(t,e){return t<e?-1:t>e?1:0}function g(t){return new s(t||p,null)}e.exports=g;var m=0,v=1,y=s.prototype;Object.defineProperty(y,\"keys\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(y,\"values\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(y,\"length\",{get:function(){return this.root?this.root._count:0}}),y.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],u=[];i;){var c=r(t,i.key);l.push(i),u.push(c),i=c<=0?i.left:i.right}l.push(new n(m,t,e,null,null,1));for(var h=l.length-2;h>=0;--h){var i=l[h];u[h]<=0?l[h]=new n(i._color,i.key,i.value,l[h+1],i.right,i._count+1):l[h]=new n(i._color,i.key,i.value,i.left,l[h+1],i._count+1)}for(var h=l.length-1;h>1;--h){var f=l[h-1],i=l[h];if(f._color===v||i._color===v)break;var d=l[h-2];if(d.left===f)if(f.left===i){var p=d.right;if(!p||p._color!==m){if(d._color=m,d.left=f.right,f._color=v,f.right=d,l[h-2]=f,l[h-1]=i,o(d),o(f),h>=3){var g=l[h-3];g.left===d?g.left=f:g.right=f}break}f._color=v,d.right=a(v,p),d._color=m,h-=1}else{var p=d.right;if(!p||p._color!==m){if(f.right=i.left,d._color=m,d.left=i.right,i._color=v,i.left=f,i.right=d,l[h-2]=i,l[h-1]=f,o(d),o(f),o(i),h>=3){var g=l[h-3];g.left===d?g.left=i:g.right=i}break}f._color=v,d.right=a(v,p),d._color=m,h-=1}else if(f.right===i){var p=d.left;if(!p||p._color!==m){if(d._color=m,d.right=f.left,f._color=v,f.left=d,l[h-2]=f,l[h-1]=i,o(d),o(f),h>=3){var g=l[h-3];g.right===d?g.right=f:g.left=f}break}f._color=v,d.left=a(v,p),d._color=m,h-=1}else{var p=d.left;if(!p||p._color!==m){if(f.left=i.right,d._color=m,d.right=i.left,i._color=v,i.right=f,i.left=d,l[h-2]=i,l[h-1]=f,o(d),o(f),o(i),h>=3){var g=l[h-3];g.right===d?g.right=i:g.left=i}break}f._color=v,d.left=a(v,p),d._color=m,h-=1}}return l[0]._color=v,new s(r,l[0])},y.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return l(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return c(e,r,this._compare,t,this.root)}},Object.defineProperty(y,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(y,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),y.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},y.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},y.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},y.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},y.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},y.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},y.remove=function(t){var e=this.find(t);return e?e.remove():this},y.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var x=h.prototype;Object.defineProperty(x,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(x,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),x.clone=function(){return new h(this.tree,this._stack.slice())},x.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var i=t.length-2;i>=0;--i){var r=t[i];r.left===t[i+1]?e[i]=new n(r._color,r.key,r.value,e[i+1],r.right,r._count):e[i]=new n(r._color,r.key,r.value,r.left,e[i+1],r._count)}if(r=e[e.length-1],r.left&&r.right){var a=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var o=e[a-1];e.push(new n(r._color,o.key,o.value,r.left,r.right,r._count)),e[a-1].key=r.key,e[a-1].value=r.value;for(var i=e.length-2;i>=a;--i)r=e[i],e[i]=new n(r._color,r.key,r.value,r.left,e[i+1],r._count);e[a-1].left=e[a]}if(r=e[e.length-1],r._color===m){var l=e[e.length-2];l.left===r?l.left=null:l.right===r&&(l.right=null),e.pop();for(var i=0;i<e.length;++i)e[i]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?f(r,r.left):r.right&&f(r,r.right),r._color=v;for(var i=0;i<e.length-1;++i)e[i]._count--;return new s(this.tree._compare,e[0])}if(1===e.length)return new s(this.tree._compare,null);for(var i=0;i<e.length;++i)e[i]._count--;var u=e[e.length-2];return d(e),u.left===r?u.left=null:u.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(x,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(x,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(x,\"index\",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),x.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(x,\"hasNext\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),x.update=function(t){var e=this._stack;if(0===e.length)throw new Error(\"Can't update empty node!\");var r=new Array(e.length),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)i=e[a],i.left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},x.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(x,\"hasPrev\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],108:[function(t,e,r){function n(t){if(t<0)return Number(\"0/0\");for(var e=s[0],r=s.length-1;r>0;--r)e+=s[r]/(t+r);var n=t+o+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}var i=7,a=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],o=607/128,s=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(n(e));e-=1;for(var r=a[0],o=1;o<i+2;o++)r+=a[o]/(e+o);var s=e+i+.5;return Math.sqrt(2*Math.PI)*Math.pow(s,e+.5)*Math.exp(-s)*r},e.exports.log=n},{}],109:[function(t,e,r){function n(t){if(\"Polygon\"===t.type)return i(t.coordinates);if(\"MultiPolygon\"===t.type){for(var e=0,r=0;r<t.coordinates.length;r++)e+=i(t.coordinates[r]);return e}return null}function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(a(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(a(t[r]))}return e}function a(t){var e=0;if(t.length>2){for(var r,n,i=0;i<t.length-1;i++)r=t[i],n=t[i+1],e+=o(n[0]-r[0])*(2+Math.sin(o(r[1]))+Math.sin(o(n[1])));e=e*s.RADIUS*s.RADIUS/2}return e}function o(t){return t*Math.PI/180}var s=t(\"wgs84\");e.exports.geometry=n,e.exports.ring=a},{wgs84:520}],110:[function(t,e,r){function n(t,e){switch(t&&t.type||null){case\"FeatureCollection\":return t.features=t.features.map(i(n,e)),t;case\"Feature\":return t.geometry=n(t.geometry,e),t;case\"Polygon\":case\"MultiPolygon\":return a(t,e);default:return t}}function i(t,e){return function(r){return t(r,e)}}function a(t,e){return\"Polygon\"===t.type?t.coordinates=o(t.coordinates,e):\"MultiPolygon\"===t.type&&(t.coordinates=t.coordinates.map(i(o,e))),t}function o(t,e){e=!!e,t[0]=s(t[0],!e);for(var r=1;r<t.length;r++)t[r]=s(t[r],e);return t}function s(t,e){return l(t)===e?t:t.reverse()}function l(t){return u.ring(t)>=0}var u=t(\"geojson-area\");e.exports=n},{\"geojson-area\":109}],111:[function(t,e,r){\"use strict\";function n(t,e,r,n,o,l,u,c){if(r/=e,n/=e,u>=r&&c<=n)return t;if(u>n||c<r)return null;for(var h=[],f=0;f<t.length;f++){var d,p,g=t[f],m=g.geometry,v=g.type;if(d=g.min[o],p=g.max[o],d>=r&&p<=n)h.push(g);else if(!(d>n||p<r)){var y=1===v?i(m,r,n,o):a(m,r,n,o,l,3===v);y.length&&h.push(s(g.tags,v,y,g.id))}}return h.length?h:null}function i(t,e,r,n){for(var i=[],a=0;a<t.length;a++){var o=t[a],s=o[n];s>=e&&s<=r&&i.push(o)}return i}function a(t,e,r,n,i,a){for(var s=[],l=0;l<t.length;l++){var u,c,h,f=0,d=0,p=null,g=t[l],m=g.area,v=g.dist,y=g.outer,x=g.length,b=[];for(c=0;c<x-1;c++)u=p||g[c],p=g[c+1],f=d||u[n],d=p[n],f<e?d>r?(b.push(i(u,p,e),i(u,p,r)),a||(b=o(s,b,m,v,y))):d>=e&&b.push(i(u,p,e)):f>r?d<e?(b.push(i(u,p,r),i(u,p,e)),a||(b=o(s,b,m,v,y))):d<=r&&b.push(i(u,p,r)):(b.push(u),d<e?(b.push(i(u,p,e)),a||(b=o(s,b,m,v,y))):d>r&&(b.push(i(u,p,r)),a||(b=o(s,b,m,v,y))));u=g[x-1],f=u[n],f>=e&&f<=r&&b.push(u),h=b[b.length-1],a&&h&&(b[0][0]!==h[0]||b[0][1]!==h[1])&&b.push(b[0]),o(s,b,m,v,y)}return s}function o(t,e,r,n,i){return e.length&&(e.area=r,e.dist=n,void 0!==i&&(e.outer=i),t.push(e)),[]}e.exports=n;var s=t(\"./feature\")},{\"./feature\":113}],112:[function(t,e,r){\"use strict\";function n(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n<t.features.length;n++)i(r,t.features[n],e);else\"Feature\"===t.type?i(r,t,e):i(r,{geometry:t},e);return r}function i(t,e,r){if(null!==e.geometry){var n,s,l,c,h=e.geometry,f=h.type,d=h.coordinates,p=e.properties,g=e.id;if(\"Point\"===f)t.push(u(p,1,[o(d)],g));else if(\"MultiPoint\"===f)t.push(u(p,1,a(d),g));else if(\"LineString\"===f)t.push(u(p,2,[a(d,r)],g));else if(\"MultiLineString\"===f||\"Polygon\"===f){for(l=[],n=0;n<d.length;n++)c=a(d[n],r),\"Polygon\"===f&&(c.outer=0===n),l.push(c);t.push(u(p,\"Polygon\"===f?3:2,l,g))}else if(\"MultiPolygon\"===f){for(l=[],n=0;n<d.length;n++)for(s=0;s<d[n].length;s++)c=a(d[n][s],r),c.outer=0===s,l.push(c);t.push(u(p,3,l,g))}else{if(\"GeometryCollection\"!==f)throw new Error(\"Input data is not a valid GeoJSON object.\");for(n=0;n<h.geometries.length;n++)i(t,{geometry:h.geometries[n],properties:p},r)}}}function a(t,e){for(var r=[],n=0;n<t.length;n++)r.push(o(t[n]));return e&&(l(r,e),s(r)),r}function o(t){var e=Math.sin(t[1]*Math.PI/180),r=t[0]/360+.5,n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n=n<0?0:n>1?1:n,[r,n,0]}function s(t){for(var e,r,n=0,i=0,a=0;a<t.length-1;a++)e=r||t[a],r=t[a+1],n+=e[0]*r[1]-r[0]*e[1],i+=Math.abs(r[0]-e[0])+Math.abs(r[1]-e[1]);t.area=Math.abs(n/2),t.dist=i}e.exports=n;var l=t(\"./simplify\"),u=t(\"./feature\")},{\"./feature\":113,\"./simplify\":115}],113:[function(t,e,r){\"use strict\";function n(t,e,r,n){var a={id:n||null,type:e,geometry:r,tags:t||null,min:[1/0,1/0],max:[-(1/0),-(1/0)]};return i(a),a}function i(t){var e=t.geometry,r=t.min,n=t.max;if(1===t.type)a(r,n,e);else for(var i=0;i<e.length;i++)a(r,n,e[i]);return t}function a(t,e,r){for(var n,i=0;i<r.length;i++)n=r[i],t[0]=Math.min(n[0],t[0]),e[0]=Math.max(n[0],e[0]),t[1]=Math.min(n[1],t[1]),e[1]=Math.max(n[1],e[1])}e.exports=n},{}],114:[function(t,e,r){\"use strict\";function n(t,e){return new i(t,e)}function i(t,e){e=this.options=l(Object.create(this.options),e);var r=e.debug;r&&console.time(\"preprocess data\");var n=1<<e.maxZoom,i=c(t,e.tolerance/(n*e.extent));this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",e.indexMaxZoom,e.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),i=d(i,e.buffer/e.extent,o),i.length&&this.splitTile(i,0,0,0),r&&(i.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}function a(t,e,r){return 32*((1<<t)*r+e)+t}function o(t,e,r){return[r,(r-t[0])*(e[1]-t[1])/(e[0]-t[0])+t[1],1]}function s(t,e,r){return[(r-t[1])*(e[0]-t[0])/(e[1]-t[1])+t[0],r,1]}function l(t,e){for(var r in e)t[r]=e[r];return t}function u(t,e,r){var n=t.source;if(1!==n.length)return!1;var i=n[0];if(3!==i.type||i.geometry.length>1)return!1;var a=i.geometry[0].length;if(5!==a)return!1;for(var o=0;o<a;o++){var s=h.point(i.geometry[0][o],e,t.z2,t.x,t.y);if(s[0]!==-r&&s[0]!==e+r||s[1]!==-r&&s[1]!==e+r)return!1}return!0}e.exports=n;var c=t(\"./convert\"),h=t(\"./transform\"),f=t(\"./clip\"),d=t(\"./wrap\"),p=t(\"./tile\");i.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,solidChildren:!1,tolerance:3,extent:4096,buffer:64,debug:0},i.prototype.splitTile=function(t,e,r,n,i,l,c){for(var h=[t,e,r,n],d=this.options,g=d.debug,m=null;h.length;){n=h.pop(),r=h.pop(),e=h.pop(),t=h.pop();var v=1<<e,y=a(e,r,n),x=this.tiles[y],b=e===d.maxZoom?0:d.tolerance/(v*d.extent);if(!x&&(g>1&&console.time(\"creation\"),x=this.tiles[y]=p(t,v,r,n,b,e===d.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),g)){g>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,x.numFeatures,x.numPoints,x.numSimplified),console.timeEnd(\"creation\"));var _=\"z\"+e;this.stats[_]=(this.stats[_]||0)+1,this.total++}if(x.source=t,i){if(e===d.maxZoom||e===i)continue;var w=1<<i-e;if(r!==Math.floor(l/w)||n!==Math.floor(c/w))continue}else if(e===d.indexMaxZoom||x.numPoints<=d.indexMaxPoints)continue;if(d.solidChildren||!u(x,d.extent,d.buffer)){x.source=null,g>1&&console.time(\"clipping\");var M,A,k,T,E,S,L=.5*d.buffer/d.extent,z=.5-L,C=.5+L,I=1+L;M=A=k=T=null,E=f(t,v,r-L,r+C,0,o,x.min[0],x.max[0]),S=f(t,v,r+z,r+I,0,o,x.min[0],x.max[0]),E&&(M=f(E,v,n-L,n+C,1,s,x.min[1],x.max[1]),A=f(E,v,n+z,n+I,1,s,x.min[1],x.max[1])),S&&(k=f(S,v,n-L,n+C,1,s,x.min[1],x.max[1]),T=f(S,v,n+z,n+I,1,s,x.min[1],x.max[1])),g>1&&console.timeEnd(\"clipping\"),t.length&&(h.push(M||[],e+1,2*r,2*n),h.push(A||[],e+1,2*r,2*n+1),h.push(k||[],e+1,2*r+1,2*n),h.push(T||[],e+1,2*r+1,2*n+1))}else i&&(m=e)}return m},i.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,o=n.debug,s=1<<t;e=(e%s+s)%s;var l=a(t,e,r);if(this.tiles[l])return h.tile(this.tiles[l],i);o>1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var c,f=t,d=e,p=r;!c&&f>0;)f--,d=Math.floor(d/2),p=Math.floor(p/2),c=this.tiles[a(f,d,p)];if(!c||!c.source)return null;if(o>1&&console.log(\"found parent tile z%d-%d-%d\",f,d,p),u(c,i,n.buffer))return h.tile(c,i);o>1&&console.time(\"drilling down\");var g=this.splitTile(c.source,f,d,p,t,e,r);if(o>1&&console.timeEnd(\"drilling down\"),null!==g){var m=1<<t-g;l=a(g,Math.floor(e/m),Math.floor(r/m))}return this.tiles[l]?h.tile(this.tiles[l],i):null}},{\"./clip\":111,\"./convert\":112,\"./tile\":116,\"./transform\":117,\"./wrap\":118}],115:[function(t,e,r){\"use strict\";function n(t,e){var r,n,a,o,s=e*e,l=t.length,u=0,c=l-1,h=[];for(t[u][2]=1,t[c][2]=1;c;){for(n=0,r=u+1;r<c;r++)a=i(t[r],t[u],t[c]),a>n&&(o=r,n=a);n>s?(t[o][2]=n,h.push(u),h.push(o),u=o):(c=h.pop(),u=h.pop())}}function i(t,e,r){var n=e[0],i=e[1],a=r[0],o=r[1],s=t[0],l=t[1],u=a-n,c=o-i;if(0!==u||0!==c){var h=((s-n)*u+(l-i)*c)/(u*u+c*c);h>1?(n=a,i=o):h>0&&(n+=u*h,i+=c*h)}return u=s-n,c=l-i,u*u+c*c}e.exports=n},{}],116:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z2:e,transformed:!1,min:[2,1],max:[-1,0]},l=0;l<t.length;l++){s.numFeatures++,i(s,t[l],a,o);var u=t[l].min,c=t[l].max;u[0]<s.min[0]&&(s.min[0]=u[0]),u[1]<s.min[1]&&(s.min[1]=u[1]),c[0]>s.max[0]&&(s.max[0]=c[0]),c[1]>s.max[1]&&(s.max[1]=c[1])}return s}function i(t,e,r,n){var i,o,s,l,u=e.geometry,c=e.type,h=[],f=r*r;if(1===c)for(i=0;i<u.length;i++)h.push(u[i]),t.numPoints++,t.numSimplified++;else for(i=0;i<u.length;i++)if(s=u[i],n||!(2===c&&s.dist<r||3===c&&s.area<f)){var d=[];for(o=0;o<s.length;o++)l=s[o],(n||l[2]>f)&&(d.push(l),t.numSimplified++),t.numPoints++;3===c&&a(d,s.outer),h.push(d)}else t.numPoints+=s.length;if(h.length){var p={geometry:h,type:c,tags:e.tags||null};null!==e.id&&(p.id=e.id),t.features.push(p)}}function a(t,e){var r=o(t);r<0===e&&t.reverse()}function o(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r[0]-e[0])*(e[1]+r[1]);return n}e.exports=n},{}],117:[function(t,e,r){\"use strict\";function n(t,e){if(t.transformed)return t;var r,n,a,o=t.z2,s=t.x,l=t.y;for(r=0;r<t.features.length;r++){var u=t.features[r],c=u.geometry,h=u.type;if(1===h)for(n=0;n<c.length;n++)c[n]=i(c[n],e,o,s,l);else for(n=0;n<c.length;n++){var f=c[n];for(a=0;a<f.length;a++)f[a]=i(f[a],e,o,s,l)}}return t.transformed=!0,t}function i(t,e,r,n,i){var a=Math.round(e*(t[0]*r-n)),o=Math.round(e*(t[1]*r-i));return[a,o]}r.tile=n,r.point=i},{}],118:[function(t,e,r){\"use strict\";function n(t,e,r){var n=t,a=o(t,1,-1-e,e,0,r,-1,2),s=o(t,1,1-e,2+e,0,r,-1,2);return(a||s)&&(n=o(t,1,-e,1+e,0,r,-1,2)||[],a&&(n=i(a,1).concat(n)),s&&(n=n.concat(i(s,-1)))),n}function i(t,e){for(var r=[],n=0;n<t.length;n++){var i,o=t[n],l=o.type;if(1===l)i=a(o.geometry,e);else{i=[];for(var u=0;u<o.geometry.length;u++)i.push(a(o.geometry[u],e))}r.push(s(o.tags,l,i,o.id))}return r}function a(t,e){var r=[];r.area=t.area,r.dist=t.dist;for(var n=0;n<t.length;n++)r.push([t[n][0]+e,t[n][1],t[n][2]]);return r}var o=t(\"./clip\"),s=t(\"./feature\");e.exports=n},{\"./clip\":111,\"./feature\":113}],119:[function(t,e,r){function n(t,e){if(\"string\"!=typeof t)throw new TypeError(\"must specify type string\");if(e=e||{},\"undefined\"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement(\"canvas\");\"number\"==typeof e.width&&(r.width=e.width),\"number\"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(\"webgl\")&&a.push(\"experimental-\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}e.exports=n},{}],120:[function(t,e,r){\"use strict\";function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=\"sans-serif\",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=c(t)}function a(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}function o(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var h=a,f=s,d=o,p=l;u&1<<c&&(h=s,f=a,d=l,p=o),h[c]=r[0][c],f[c]=r[1][c],i[c]>0?(d[c]=-1,p[c]=0):(d[c]=0,p[c]=1)}}function s(t,e){var r=new i(t);return r.update(e),r}e.exports=s;var l=t(\"./lib/text.js\"),u=t(\"./lib/lines.js\"),c=t(\"./lib/background.js\"),h=t(\"./lib/cube.js\"),f=t(\"./lib/ticks.js\"),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),p=i.prototype;p.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),s=!1,c=!1;if(\"bounds\"in t)for(var h=t.bounds,d=0;d<2;++d)for(var p=0;p<3;++p)h[d][p]!==this.bounds[d][p]&&(c=!0),this.bounds[d][p]=h[d][p];if(\"ticks\"in t){r=t.ticks,s=!0,this.autoTicks=!1;for(var d=0;d<3;++d)this.tickSpacing[d]=0}else n(\"tickSpacing\")&&(this.autoTicks=!0,c=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),c=!0,s=!0,this._firstInit=!1),c&&this.autoTicks&&(r=f.create(this.bounds,this.tickSpacing),s=!0),s){for(var d=0;d<3;++d)r[d].sort(function(t,e){return t.x-e.x});f.equal(r,this.ticks)?s=!1:this.ticks=r}i(\"tickEnable\"),a(\"tickFont\")&&(s=!0),n(\"tickSize\"),n(\"tickAngle\"),n(\"tickPad\"),o(\"tickColor\");var g=a(\"labels\");a(\"labelFont\")&&(g=!0),i(\"labelEnable\"),n(\"labelSize\"),n(\"labelPad\"),o(\"labelColor\"),i(\"lineEnable\"),i(\"lineMirror\"),n(\"lineWidth\"),o(\"lineColor\"),i(\"lineTickEnable\"),i(\"lineTickMirror\"),n(\"lineTickLength\"),n(\"lineTickWidth\"),o(\"lineTickColor\"),i(\"gridEnable\"),n(\"gridWidth\"),o(\"gridColor\"),i(\"zeroEnable\"),o(\"zeroLineColor\"),n(\"zeroLineWidth\"),i(\"backgroundEnable\"),o(\"backgroundColor\"),this._text?this._text&&(g||s)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=l(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&s&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=u(this.gl,this.bounds,this.ticks))};var g=[new a,new a,new a],m=[0,0,0],v={model:d,view:d,projection:d};p.isOpaque=function(){return!0},p.isTransparent=function(){return!1},p.drawTransparent=function(t){};var y=[0,0,0],x=[0,0,0],b=[0,0,0];p.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||d,i=t.view||d,a=t.projection||d,s=this.bounds,l=h(r,i,a,s),u=l.cubeEdges,c=l.axis,f=i[12],p=i[13],_=i[14],w=i[15],M=this.pixelRatio*(a[3]*f+a[7]*p+a[11]*_+a[15]*w)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=c[A];for(var k=g,A=0;A<3;++A)o(g[A],A,this.bounds,u,c);for(var e=this.gl,T=m,A=0;A<3;++A)this.backgroundEnable[A]?T[A]=c[A]:T[A]=0;this._background.draw(r,i,a,s,T,this.backgroundColor),this._lines.bind(r,i,a,this);for(var A=0;A<3;++A){var E=[0,0,0];c[A]>0?E[A]=s[1][A]:E[A]=s[0][A];for(var S=0;S<2;++S){var L=(A+1+S)%3,z=(A+1+(1^S))%3;this.gridEnable[L]&&this._lines.drawGrid(L,z,this.bounds,E,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(var S=0;S<2;++S){var L=(A+1+S)%3,z=(A+1+(1^S))%3;this.zeroEnable[z]&&s[0][z]<=0&&s[1][z]>=0&&this._lines.drawZero(L,z,this.bounds,E,this.zeroLineColor[z],this.zeroLineWidth[z]*this.pixelRatio)}}for(var A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,k[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,k[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);for(var C=n(y,k[A].primalMinor),I=n(x,k[A].mirrorMinor),P=this.lineTickLength,S=0;S<3;++S){var D=M/r[5*S];C[S]*=P[S]*D,I[S]*=P[S]*D}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,k[A].primalOffset,C,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,k[A].mirrorOffset,I,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._text.bind(r,i,a,this.pixelRatio);for(var A=0;A<3;++A){for(var O=k[A].primalMinor,R=n(b,k[A].primalOffset),S=0;S<3;++S)this.lineTickEnable[A]&&(R[S]+=M*O[S]*Math.max(this.lineTickLength[S],0)/r[5*S]);if(this.tickEnable[A]){for(var S=0;S<3;++S)R[S]+=M*O[S]*this.tickPad[S]/r[5*S];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],R,this.tickColor[A])}if(this.labelEnable[A]){for(var S=0;S<3;++S)R[S]+=M*O[S]*this.labelPad[S]/r[5*S];R[A]+=.5*(s[0][A]+s[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],R,this.labelColor[A])}}},p.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{\"./lib/background.js\":121,\"./lib/cube.js\":122,\"./lib/lines.js\":123,\"./lib/text.js\":125,\"./lib/ticks.js\":126}],121:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}function i(t){for(var e=[],r=[],i=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,h=[0,0,0],f=[0,0,0],d=-1;d<=1;d+=2){r.push(i,i+2,i+1,i+1,i+2,i+3),h[l]=d,f[l]=d;for(var p=-1;p<=1;p+=2){h[u]=p;for(var g=-1;g<=1;g+=2)h[c]=g,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),i+=1}var m=u;u=c,c=m}var v=a(t,new Float32Array(e)),y=a(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=o(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=s(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new n(t,v,x,b)}e.exports=i;var a=t(\"gl-buffer\"),o=t(\"gl-vao\"),s=t(\"./shaders\").bg,l=n.prototype;l.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),l.disable(l.POLYGON_OFFSET_FILL)}},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders\":124,\"gl-buffer\":128,\"gl-vao\":236}],122:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}function i(t){for(var e=0;e<g.length;++e)if(t=l.positive(t,g[e]),t.length<3)return 0;for(var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0,e=1;e+1<t.length;++e){var o=t[e],s=t[e+1],u=o[0]/o[3],c=o[1]/o[3],h=s[0]/s[3],f=s[1]/s[3],d=u-n,p=c-i,m=h-n,v=f-i;a+=Math.abs(d*v-p*m)}return a}function a(t,e,r,a){s(c,e,t),s(c,r,c);for(var l=0,g=0;g<2;++g){d[2]=a[g][2];for(var x=0;x<2;++x){d[1]=a[x][1];for(var b=0;b<2;++b)d[0]=a[b][0],n(h[l],d,c),l+=1}}for(var _=-1,g=0;g<8;++g){for(var w=h[g][3],M=0;M<3;++M)f[g][M]=h[g][M]/w;w<0&&(_<0?_=g:f[g][2]<f[_][2]&&(_=g))}if(_<0){_=0;for(var A=0;A<3;++A){for(var k=(A+2)%3,T=(A+1)%3,E=-1,S=-1,L=0;L<2;++L){var z=L<<A,C=z+(L<<k)+(1-L<<T),I=z+(1-L<<k)+(L<<T);u(f[z],f[C],f[I],p)<0||(L?E=1:S=1)}if(E<0||S<0)S>E&&(_|=1<<A);else{for(var L=0;L<2;++L){var z=L<<A,C=z+(L<<k)+(1-L<<T),I=z+(1-L<<k)+(L<<T),P=i([h[z],h[C],h[I],h[z+(1<<k)+(1<<T)]]);L?E=P:S=P}S>E&&(_|=1<<A)}}}for(var D=7^_,O=-1,g=0;g<8;++g)g!==_&&g!==D&&(O<0?O=g:f[O][1]>f[g][1]&&(O=g));for(var R=-1,g=0;g<3;++g){var F=O^1<<g;if(F!==_&&F!==D){R<0&&(R=F);var T=f[F];T[0]<f[R][0]&&(R=F)}}for(var j=-1,g=0;g<3;++g){var F=O^1<<g;if(F!==_&&F!==D&&F!==R){j<0&&(j=F);var T=f[F];T[0]>f[j][0]&&(j=F)}}var N=m;N[0]=N[1]=N[2]=0,N[o.log2(R^O)]=O&R,N[o.log2(O^j)]=O&j;var B=7^j;B===_||B===D?(B=7^R,N[o.log2(j^B)]=B&j):N[o.log2(R^B)]=B&R;for(var U=v,V=_,A=0;A<3;++A)V&1<<A?U[A]=-1:U[A]=1;return y}e.exports=a;var o=t(\"bit-twiddle\"),s=t(\"gl-mat4/multiply\"),l=(t(\"gl-mat4/invert\"),t(\"split-polygon\")),u=t(\"robust-orientation\"),c=new Array(16),h=(new Array(16),new Array(8)),f=new Array(8),d=new Array(3),p=[0,0,0];!function(){for(var t=0;t<8;++t)h[t]=[1,1,1,1],f[t]=[1,1,1]}();var g=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]],m=[1,1,1],v=[0,0,0],y={cubeEdges:m,axis:v}},{\"bit-twiddle\":54,\"gl-mat4/invert\":149,\"gl-mat4/multiply\":151,\"robust-orientation\":465,\"split-polygon\":483}],123:[function(t,e,r){\"use strict\";function n(t){return t[0]=t[1]=t[2]=0,t}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}function o(t,e,r){var n=[],i=[0,0,0],o=[0,0,0],c=[0,0,0],h=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var d=n.length/3|0,p=0;p<r[f].length;++p){var g=+r[f][p].x;n.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=n.length/3|0;i[f]=d,o[f]=m-d;for(var d=n.length/3|0,v=0;v<r[f].length;++v){var g=+r[f][v].x;n.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=n.length/3|0;c[f]=d,h[f]=m-d}var y=s(t,new Float32Array(n)),x=l(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=u(t);return b.attributes.position.location=0,new a(t,y,x,b,o,i,h,c)}e.exports=o;var s=t(\"gl-buffer\"),l=t(\"gl-vao\"),u=t(\"./shaders\").line,c=[0,0,0],h=[0,0,0],f=[0,0,0],d=[0,0,0],p=[1,1],g=a.prototype;\ng.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,p[0]=this.gl.drawingBufferWidth,p[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=p,this.vao.bind()},g.drawAxisLine=function(t,e,r,a,o){var s=n(h);this.shader.uniforms.majorAxis=h,s[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=s;var l=i(d,r);l[t]+=e[0][t],this.shader.uniforms.offset=l,this.shader.uniforms.lineWidth=o,this.shader.uniforms.color=a;var u=n(f);u[(t+2)%3]=1,this.shader.uniforms.screenAxis=u,this.vao.draw(this.gl.TRIANGLES,6);var u=n(f);u[(t+1)%3]=1,this.shader.uniforms.screenAxis=u,this.vao.draw(this.gl.TRIANGLES,6)},g.drawAxisTicks=function(t,e,r,i,a){if(this.tickCount[t]){var o=n(c);o[t]=1,this.shader.uniforms.majorAxis=o,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=i,this.shader.uniforms.lineWidth=a;var s=n(f);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},g.drawGrid=function(t,e,r,a,o,s){if(this.gridCount[t]){var l=n(h);l[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=l;var u=i(d,a);u[e]+=r[0][e],this.shader.uniforms.offset=u;var p=n(c);p[t]=1,this.shader.uniforms.majorAxis=p;var g=n(f);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},g.drawZero=function(t,e,r,a,o,s){var l=n(h);this.shader.uniforms.majorAxis=l,l[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=l;var u=i(d,a);u[t]+=r[0][t],this.shader.uniforms.offset=u;var c=n(f);c[e]=1,this.shader.uniforms.screenAxis=c,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,6)},g.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\"./shaders\":124,\"gl-buffer\":128,\"gl-vao\":236}],124:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=\"#define GLSLIFY 1\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\\nuniform float lineWidth;\\nuniform vec2 screenShape;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nvoid main() {\\n  vec3 major = position.x * majorAxis;\\n  vec3 minor = position.y * minorAxis;\\n\\n  vec3 vPosition = major + minor + offset;\\n  vec3 pPosition = project(vPosition);\\n  vec3 offset = project(vPosition + screenAxis * position.z);\\n\\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\\n\\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\\n}\\n\",a=\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\";r.line=function(t){return n(t,i,a,null,[{name:\"position\",type:\"vec3\"}])};var o=\"#define GLSLIFY 1\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, axis;\\nuniform float scale, angle, pixelScale;\\nuniform vec2 resolution;\\n\\nvoid main() {  \\n  //Compute plane offset\\n  vec2 planeCoord = position.xy * pixelScale;\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\n                                -sin(angle), cos(angle));\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\n\\n  //Compute world offset\\n  float axisDistance = position.z;\\n  vec3 dataPosition = axisDistance * axis + offset;\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\n  \\n  //Compute clip position\\n  vec4 viewPosition = view * worldPosition;\\n  vec4 clipPosition = projection * viewPosition;\\n  clipPosition /= clipPosition.w;\\n\\n  //Apply text offset in clip coordinates\\n  clipPosition += vec4(viewOffset, 0, 0);\\n\\n  //Done\\n  gl_Position = clipPosition;\\n}\",s=\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\";r.text=function(t){return n(t,o,s,null,[{name:\"position\",type:\"vec3\"}])};var l=\"#define GLSLIFY 1\\nattribute vec3 position;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 enable;\\nuniform vec3 bounds[2];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  if(dot(normal, enable) > 0.0) {\\n    vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\\n  } else {\\n    gl_Position = vec4(0,0,0,0);\\n  }\\n  colorChannel = abs(normal);\\n}\",u=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 colors[3];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  gl_FragColor = colorChannel.x * colors[0] + \\n                 colorChannel.y * colors[1] +\\n                 colorChannel.z * colors[2];\\n}\";r.bg=function(t){return n(t,l,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":220}],125:[function(t,e,r){(function(r){\"use strict\";function n(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}function i(t,e){try{return l(t,e)}catch(t){return console.warn(\"error vectorizing text:\",t),{cells:[],positions:[]}}}function a(t,e,r,i,a,l){var c=o(t),h=s(t,[{buffer:c,size:3}]),f=u(t);f.attributes.position.location=0;var d=new n(t,f,c,h);return d.update(e,r,i,a,l),d}e.exports=a;var o=t(\"gl-buffer\"),s=t(\"gl-vao\"),l=t(\"vectorize-text\"),u=t(\"./shaders\").text,c=window||r.global||{},h=c.__TEXT_CACHE||{};c.__TEXT_CACHE={};var f=3,d=n.prototype,p=[0,0];d.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,p[0]=this.gl.drawingBufferWidth,p[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=p},d.update=function(t,e,r,n,a){function o(t,e,r,n){var a=h[r];a||(a=h[r]={});var o=a[e];o||(o=a[e]=i(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\"}));for(var l=(n||12)/12,u=o.positions,c=o.cells,f=0,d=c.length;f<d;++f)for(var p=c[f],g=2;g>=0;--g){var m=u[p[g]];s.push(l*m[0],-l*m[1],t)}}for(var s=(this.gl,[]),l=[0,0,0],u=[0,0,0],c=[0,0,0],d=[0,0,0],p=0;p<3;++p){c[p]=s.length/f|0,o(.5*(t[0][p]+t[1][p]),e[p],r),d[p]=(s.length/f|0)-c[p],l[p]=s.length/f|0;for(var g=0;g<n[p].length;++g)n[p][g].text&&o(n[p][g].x,n[p][g].text,n[p][g].font||a,n[p][g].fontSize||12);u[p]=(s.length/f|0)-l[p]}this.buffer.update(s),this.tickOffset=l,this.tickCount=u,this.labelOffset=c,this.labelCount=d};var g=[0,0,0];d.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=g;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var m=[0,0,0];d.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=m,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},d.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t(\"_process\"))},{\"./shaders\":124,_process:445,\"gl-buffer\":128,\"gl-vao\":236,\"vectorize-text\":509}],126:[function(t,e,r){\"use strict\";function n(t,e){var r=t+\"\",n=r.indexOf(\".\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=\"\"+l;if(o<0&&(c=\"-\"+c),i){for(var h=\"\"+u;h.length<i;)h=\"0\"+h;return c+\".\"+h}return c}function i(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(.5*(t[0][i]+t[1][i]),0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r}function a(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}r.create=i,r.equal=a},{}],127:[function(t,e,r){\"use strict\";function n(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}function i(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=p,s=g,l=0;l<3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,h(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,h(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,c=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+c*c)}return t}function a(t,e,r,n,a){var h=e.model||f,p=e.view||f,g=e.projection||f,y=t.bounds,a=a||l(h,p,g,y),x=a.axis;a.edges;u(d,p,h),u(d,g,d);for(var b=m,_=0;_<3;++_)b[_].lo=1/0,b[_].hi=-(1/0),b[_].pixelsPerDataUnit=1/0;var w=o(c(d,d));c(d,d);for(var M=0;M<3;++M){var A=(M+1)%3,k=(M+2)%3,T=v;t:for(var _=0;_<2;++_){var E=[];if(x[M]<0!=!!_){T[M]=y[_][M];for(var S=0;S<2;++S){T[A]=y[S^_][A];for(var L=0;L<2;++L)T[k]=y[L^S^_][k],E.push(T.slice())}for(var S=0;S<w.length;++S){if(0===E.length)continue t;E=s.positive(E,w[S])}for(var S=0;S<E.length;++S)for(var k=E[S],z=i(v,d,k,r,n),L=0;L<3;++L)b[L].lo=Math.min(b[L].lo,k[L]),b[L].hi=Math.max(b[L].hi,k[L]),L!==M&&(b[L].pixelsPerDataUnit=Math.min(b[L].pixelsPerDataUnit,Math.abs(z[L])))}}}return b}e.exports=a;var o=t(\"extract-frustum-planes\"),s=t(\"split-polygon\"),l=t(\"./lib/cube.js\"),u=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/transpose\"),h=t(\"gl-vec4/transformMat4\"),f=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=new Float32Array(16),p=[0,0,0,1],g=[0,0,0,1],m=[new n(1/0,-(1/0),1/0),new n(1/0,-(1/0),1/0),new n(1/0,-(1/0),1/0)],v=[0,0,0]},{\"./lib/cube.js\":122,\"extract-frustum-planes\":103,\"gl-mat4/multiply\":151,\"gl-mat4/transpose\":159,\"gl-vec4/transformMat4\":242,\"split-polygon\":483}],128:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}function i(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,a,i),r}function a(t,e){for(var r=l.malloc(t.length,e),n=t.length,i=0;i<n;++i)r[i]=t[i];return r}function o(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}function s(t,e,r,i){if(r=r||t.ARRAY_BUFFER,i=i||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(i!==t.DYNAMIC_DRAW&&i!==t.STATIC_DRAW&&i!==t.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var a=t.createBuffer(),o=new n(t,r,a,0,i);return o.update(e),o}var l=t(\"typedarray-pool\"),u=t(\"ndarray-ops\"),c=t(\"ndarray\"),h=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"],f=n.prototype;f.bind=function(){this.gl.bindBuffer(this.type,this.handle)},f.unbind=function(){this.gl.bindBuffer(this.type,null)},f.dispose=function(){this.gl.deleteBuffer(this.handle)},f.update=function(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&\"undefined\"!=typeof t.shape){var r=t.dtype;if(h.indexOf(r)<0&&(r=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var n=gl.getExtension(\"OES_element_index_uint\");r=n&&\"uint16\"!==r?\"uint32\":\"uint16\"}if(r===t.dtype&&o(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=i(this.gl,this.type,this.length,this.usage,t.data,e):this.length=i(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=l.malloc(t.size,r),f=c(s,t.shape);u.assign(f,t),e<0?this.length=i(this.gl,this.type,this.length,this.usage,s,e):this.length=i(this.gl,this.type,this.length,this.usage,s.subarray(0,t.size),e),l.free(s)}}else if(Array.isArray(t)){var d;d=this.type===this.gl.ELEMENT_ARRAY_BUFFER?a(t,\"uint16\"):a(t,\"float32\"),e<0?this.length=i(this.gl,this.type,this.length,this.usage,d,e):this.length=i(this.gl,this.type,this.length,this.usage,d.subarray(0,t.length),e),l.free(d)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=i(this.gl,this.type,this.length,this.usage,t,e);else{if(\"number\"!=typeof t&&void 0!==t)throw new Error(\"gl-buffer: Invalid data type\");if(e>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");t|=0,t<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=s},{ndarray:427,\"ndarray-ops\":421,\"typedarray-pool\":496}],129:[function(t,e,r){e.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},{}],130:[function(t,e,r){var n=t(\"./1.0/numbers\");e.exports=function(t){return n[t]}},{\"./1.0/numbers\":129}],131:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.plot=t,this.shader=e,this.bufferHi=r,this.bufferLo=n,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.numPoints=0,this.color=[0,0,0,1]}function i(t,e){var r=a(t.gl,l.vertex,l.fragment),i=o(t.gl),s=o(t.gl),u=new n(t,r,i,s);return u.update(e),t.addObject(u),u}var a=t(\"gl-shader\"),o=t(\"gl-buffer\"),s=t(\"typedarray-pool\"),l=t(\"./lib/shaders\");e.exports=i;var u=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]],c=n.prototype;c.draw=function(){var t=new Float32Array([0,0]),e=new Float32Array([0,0]),r=new Float32Array([0,0]),n=new Float32Array([0,0]),i=[1,1];return function(){var a=this.plot,o=this.shader,s=this.bounds,l=this.numPoints;if(l){var c=a.gl,h=a.dataBox,f=a.viewBox,d=a.pixelRatio,p=s[2]-s[0],g=s[3]-s[1],m=h[2]-h[0],v=h[3]-h[1],y=2*p/m,x=2*g/v,b=(s[0]-h[0]-.5*m)/p,_=(s[1]-h[1]-.5*v)/g;t[0]=y,t[1]=x,e[0]=y-t[0],e[1]=x-t[1],r[0]=b,r[1]=_,n[0]=b-r[0],n[1]=_-r[1];var w=f[2]-f[0],M=f[3]-f[1];i[0]=2*d/w,i[1]=2*d/M,o.bind(),o.uniforms.scaleHi=t,o.uniforms.scaleLo=e,o.uniforms.translateHi=r,o.uniforms.translateLo=n,o.uniforms.pixelScale=i,o.uniforms.color=this.color,this.bufferLo.bind(),o.attributes.positionLo.pointer(c.FLOAT,!1,16,0),this.bufferHi.bind(),o.attributes.positionHi.pointer(c.FLOAT,!1,16,0),o.attributes.pixelOffset.pointer(c.FLOAT,!1,16,8),c.drawArrays(c.TRIANGLES,0,l*u.length)}}}(),c.drawPick=function(t){return t},c.pick=function(){return null},c.update=function(t){t=t||{};var e,r,n,i=t.positions||[],a=t.errors||[],o=1;\"lineWidth\"in t&&(o=+t.lineWidth);var l=5;\"capSize\"in t&&(l=+t.capSize),this.color=(t.color||[0,0,0,1]).slice();var c=this.bounds=[1/0,1/0,-(1/0),-(1/0)],h=this.numPoints=i.length>>1;for(e=0;e<h;++e)r=i[2*e],n=i[2*e+1],c[0]=Math.min(r,c[0]),c[1]=Math.min(n,c[1]),c[2]=Math.max(r,c[2]),c[3]=Math.max(n,c[3]);c[2]===c[0]&&(c[2]+=1),c[3]===c[1]&&(c[3]+=1);var f=1/(c[2]-c[0]),d=1/(c[3]-c[1]),p=c[0],g=c[1],m=s.mallocFloat64(h*u.length*4),v=s.mallocFloat32(h*u.length*4),y=s.mallocFloat32(h*u.length*4),x=0;for(e=0;e<h;++e){r=i[2*e],n=i[2*e+1];for(var b=a[4*e],_=a[4*e+1],w=a[4*e+2],M=a[4*e+3],A=0;A<u.length;++A){var k=u[A],T=k[0],E=k[1];T<0?T*=b:T>0&&(T*=_),E<0?E*=w:E>0&&(E*=M),m[x++]=f*(r-p+T),m[x++]=d*(n-g+E),m[x++]=o*k[2]+(l+o)*k[4],m[x++]=o*k[3]+(l+o)*k[5]}}for(e=0;e<m.length;e++)v[e]=m[e],y[e]=m[e]-v[e];this.bufferHi.update(v),this.bufferLo.update(y),s.free(m)},c.dispose=function(){this.plot.removeObject(this),this.shader.dispose(),this.bufferHi.dispose(),this.bufferLo.dispose()}},{\"./lib/shaders\":132,\"gl-buffer\":128,\"gl-shader\":220,\"typedarray-pool\":496}],132:[function(t,e,r){e.exports={vertex:\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 positionHi;\\nattribute vec2 positionLo;\\nattribute vec2 pixelOffset;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo, pixelScale;\\n\\nvec2 project(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\nvoid main() {\\n  vec3 scrPosition = vec3(\\n         project(scaleHi, translateHi, scaleLo, translateLo, positionHi, positionLo),\\n         1);\\n  gl_Position = vec4(\\n    scrPosition.xy + scrPosition.z * pixelScale * pixelOffset,\\n    0,\\n    scrPosition.z);\\n}\\n\",fragment:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\\n\"}},{}],133:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1}function i(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}function a(t,e,r,n){for(var i=f[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}function o(t){var e=t.gl,r=s(e),i=l(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),a=u(e);a.attributes.position.location=0,a.attributes.color.location=1,a.attributes.offset.location=2;var o=new n(e,r,i,a);return o.update(t),o}e.exports=o;var s=t(\"gl-buffer\"),l=t(\"gl-vao\"),u=t(\"./shaders/index\"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],h=n.prototype;h.isOpaque=function(){return this.opacity>=1},h.isTransparent=function(){return this.opacity<1},h.drawTransparent=h.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||c,i=r.projection=t.projection||c;r.model=t.model||c,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]),r.capSize=this.capSize[h]*u,e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var f=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=(n+e)%3,o=[0,0,0];o[a]=i,r.push(o)}t[e]=r}return t}();h.update=function(t){t=t||{},\"lineWidth\"in t&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),\"opacity\"in t&&(this.opacity=t.opacity);var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var o=[],s=r.length,l=0;this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.lineCount=[0,0,0];for(var u=0;u<3;++u){this.lineOffset[u]=l;t:for(var c=0;c<s;++c){for(var h=r[c],f=0;f<3;++f)if(isNaN(h[f])||!isFinite(h[f]))continue t;var d=n[c],p=e[u];if(Array.isArray(p[0])&&(p=e[c]),3===p.length&&(p=[p[0],p[1],p[2],1]),!isNaN(d[0][u])&&!isNaN(d[1][u])){if(d[0][u]<0){var g=h.slice();g[u]+=d[0][u],o.push(h[0],h[1],h[2],p[0],p[1],p[2],p[3],0,0,0,g[0],g[1],g[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,g),l+=2+a(o,g,p,u)}if(d[1][u]>0){var g=h.slice();g[u]+=d[1][u],o.push(h[0],h[1],h[2],p[0],p[1],p[2],p[3],0,0,0,g[0],g[1],g[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,g),l+=2+a(o,g,p,u)}}}this.lineCount[u]=l-this.lineOffset[u]}this.buffer.update(o)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\"./shaders/index\":134,\"gl-buffer\":128,\"gl-vao\":236}],134:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n  vec4 worldPosition  = model * vec4(position, 1.0);\\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n  gl_Position         = projection * view * worldPosition;\\n  fragColor           = color;\\n  fragPosition        = position;\\n}\",a=\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = opacity * fragColor;\\n}\";e.exports=function(t){return n(t,i,a,null,[{name:\"position\",type:\"vec3\"},{name:\"offset\",type:\"vec3\"},{name:\"color\",type:\"vec4\"}])}},{\"gl-shader\":220}],135:[function(t,e,r){\"use strict\";function n(t){var e=t.getParameter(t.FRAMEBUFFER_BINDING),r=t.getParameter(t.RENDERBUFFER_BINDING),n=t.getParameter(t.TEXTURE_BINDING_2D);return[e,r,n]}function i(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function a(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);y=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;y[n]=i}}function o(t){switch(t){case p:throw new Error(\"gl-fbo: Framebuffer unsupported\");case g:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case m:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case v:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function s(t,e,r,n,i,a){if(!n)return null;var o=d(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function l(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function u(t){var e=n(t.gl),r=t.gl,a=t.handle=r.createFramebuffer(),u=t._shape[0],c=t._shape[1],h=t.color.length,f=t._ext,d=t._useStencil,p=t._useDepth,g=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,a);for(var m=0;m<h;++m)t.color[m]=s(r,u,c,g,r.RGBA,r.COLOR_ATTACHMENT0+m);0===h?(t._color_rb=l(r,u,c,r.RGBA4,r.COLOR_ATTACHMENT0),f&&f.drawBuffersWEBGL(y[0])):h>1&&f.drawBuffersWEBGL(y[h]);var v=r.getExtension(\"WEBGL_depth_texture\");v?d?t.depth=s(r,u,c,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p&&(t.depth=s(r,u,c,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):p&&d?t._depth_rb=l(r,u,c,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p?t._depth_rb=l(r,u,c,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=l(r,u,c,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(var m=0;m<t.color.length;++m)t.color[m].dispose(),t.color[m]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),i(r,e),o(x)}i(r,e)}function c(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var l=0;l<i;++l)this.color[l]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var c=this,h=[0|e,0|r];Object.defineProperties(h,{0:{get:function(){return c._shape[0]},set:function(t){return c.width=t}},1:{get:function(){return c._shape[1]},set:function(t){return c.height=t}}}),this._shapeVector=h,u(this)}function h(t,e,r){if(t._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(t._shape[0]!==e||t._shape[1]!==r){var a=t.gl,s=a.getParameter(a.MAX_RENDERBUFFER_SIZE);if(e<0||e>s||r<0||r>s)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var l=n(a),u=0;u<t.color.length;++u)t.color[u].shape=t._shape;t._color_rb&&(a.bindRenderbuffer(a.RENDERBUFFER,t._color_rb),a.renderbufferStorage(a.RENDERBUFFER,a.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(a.bindRenderbuffer(a.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&a.renderbufferStorage(a.RENDERBUFFER,a.STENCIL_INDEX,t._shape[0],t._shape[1])),a.bindFramebuffer(a.FRAMEBUFFER,t.handle);var c=a.checkFramebufferStatus(a.FRAMEBUFFER);c!==a.FRAMEBUFFER_COMPLETE&&(t.dispose(),i(a,l),o(c)),i(a,l)}}function f(t,e,r,n){p||(p=t.FRAMEBUFFER_UNSUPPORTED,g=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,m=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,v=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(\"WEBGL_draw_buffers\");if(!y&&i&&a(t,i),Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]),\"number\"!=typeof e)throw new Error(\"gl-fbo: Missing shape parameter\");\nvar o=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>o||r<0||r>o)throw new Error(\"gl-fbo: Parameters are too large for FBO\");n=n||{};var s=1;if(\"color\"in n){if(s=Math.max(0|n.color,0),s<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(s>1){if(!i)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(s>t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+s+\" draw buffers\")}}var l=t.UNSIGNED_BYTE,u=t.getExtension(\"OES_texture_float\");if(n.float&&s>0){if(!u)throw new Error(\"gl-fbo: Context does not support floating point textures\");l=t.FLOAT}else n.preferFloat&&s>0&&u&&(l=t.FLOAT);var h=!0;\"depth\"in n&&(h=!!n.depth);var f=!1;return\"stencil\"in n&&(f=!!n.stencil),new c(t,e,r,l,s,h,f,i)}var d=t(\"gl-texture2d\");e.exports=f;var p,g,m,v,y=null,x=c.prototype;Object.defineProperties(x,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error(\"gl-fbo: Shape vector must be length 2\");var e=0|t[0],r=0|t[1];return h(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return t|=0,h(this,t,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t},enumerable:!1}}),x.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},x.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{\"gl-texture2d\":232}],136:[function(t,e,r){function n(t,e,r){\"use strict\";var n=o(e)||\"of unknown name (see npm glsl-shader-name)\",l=\"unknown type\";void 0!==r&&(l=r===a.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var u=i(\"Error compiling %s shader %s:\\n\",l,n),c=i(\"%s%s\",u,t),h=t.split(\"\\n\"),f={},d=0;d<h.length;d++){var p=h[d];if(\"\"!==p){var g=parseInt(p.split(\":\")[2]);if(isNaN(g))throw new Error(i(\"Could not parse error: %s\",p));f[g]=p}}for(var m=s(e).split(\"\\n\"),d=0;d<m.length;d++)if(f[d+3]||f[d+2]||f[d+1]){var v=m[d];if(u+=v+\"\\n\",f[d+1]){var y=f[d+1];y=y.substr(y.split(\":\",3).join(\":\").length+1).trim(),u+=i(\"^^^ %s\\n\\n\",y)}}return{long:u.trim(),short:c.trim()}}var i=t(\"sprintf-js\").sprintf,a=t(\"gl-constants/lookup\"),o=t(\"glsl-shader-name\"),s=t(\"add-line-numbers\");e.exports=n},{\"add-line-numbers\":29,\"gl-constants/lookup\":130,\"glsl-shader-name\":244,\"sprintf-js\":484}],137:[function(t,e,r){r.lineVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aHi, aLo, dHi, dLo;\\n\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, screenShape;\\nuniform float width;\\n\\nvarying vec2 direction;\\n\\n\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\n\\nvec2 project_2_1(vec2 scHi, vec2 scLo, vec2 posHi, vec2 posLo) {\\n  return scHi * posHi\\n       + scLo * posHi\\n       + scHi * posLo\\n       + scLo * posLo;\\n}\\n\\nvoid main() {\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\n  vec2 dir = project_2_1(scaleHi, scaleLo, dHi, dLo);\\n  vec2 n = 0.5 * width * normalize(screenShape.yx * vec2(dir.y, -dir.x)) / screenShape.xy;\\n  vec2 tangent = normalize(screenShape.xy * dir);\\n  if(dir.x < 0.0 || (dir.x == 0.0 && dir.y < 0.0)) {\\n    direction = -tangent;\\n  } else {\\n    direction = tangent;\\n  }\\n  gl_Position = vec4(p + n, 0.0, 1.0);\\n}\",r.lineFragment=\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nuniform vec2 screenShape;\\nuniform sampler2D dashPattern;\\nuniform float dashLength;\\n\\nvarying vec2 direction;\\n\\nvoid main() {\\n  float t = fract(dot(direction, gl_FragCoord.xy) / dashLength);\\n  vec4 pcolor = color * texture2D(dashPattern, vec2(t, 0.0)).r;\\n  gl_FragColor = vec4(pcolor.rgb * pcolor.a, pcolor.a);\\n}\",r.mitreVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aHi, aLo;\\n\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo;\\nuniform float radius;\\n\\n\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\n\\nvoid main() {\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\n  gl_Position = vec4(p, 0.0, 1.0);\\n  gl_PointSize = radius;\\n}\",r.mitreFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  if(length(gl_PointCoord.xy - 0.5) > 0.25) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(color.rgb, color.a);\\n}\",r.pickVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aHi, aLo, dHi;\\nattribute vec4 pick0, pick1;\\n\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, screenShape;\\nuniform float width;\\n\\nvarying vec4 pickA, pickB;\\n\\n\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\n\\nvoid main() {\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\n  vec2 n = width * normalize(screenShape.yx * vec2(dHi.y, -dHi.x)) / screenShape.xy;\\n  gl_Position = vec4(p + n, 0, 1);\\n  pickA = pick0;\\n  pickB = pick1;\\n}\",r.pickFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 pickOffset;\\n\\nvarying vec4 pickA, pickB;\\n\\nvoid main() {\\n  vec4 fragId = vec4(pickA.xyz, 0.0);\\n  if(pickB.w > pickA.w) {\\n    fragId.xyz = pickB.xyz;\\n  }\\n\\n  fragId += pickOffset;\\n\\n  fragId.y += floor(fragId.x / 256.0);\\n  fragId.x -= floor(fragId.x / 256.0) * 256.0;\\n\\n  fragId.z += floor(fragId.y / 256.0);\\n  fragId.y -= floor(fragId.y / 256.0) * 256.0;\\n\\n  fragId.w += floor(fragId.z / 256.0);\\n  fragId.z -= floor(fragId.z / 256.0) * 256.0;\\n\\n  gl_FragColor = fragId / 255.0;\\n}\",r.fillVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aHi, aLo, dHi;\\n\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, projectAxis;\\nuniform float projectValue, depth;\\n\\n\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\n\\nvoid main() {\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\n  if(dHi.y < 0.0 || (dHi.y == 0.0 && dHi.x < 0.0)) {\\n    if(dot(p, projectAxis) < projectValue) {\\n      p = p * (1.0 - abs(projectAxis)) + projectAxis * projectValue;\\n    }\\n  }\\n  gl_Position = vec4(p, depth, 1);\\n}\",r.fillFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\"},{}],138:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l){this.plot=t,this.dashPattern=e,this.lineBufferHi=r,this.lineBufferLo=n,this.pickBuffer=i,this.lineShader=a,this.mitreShader=o,this.fillShader=s,this.pickShader=l,this.usingDashes=!1,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.width=1,this.color=[0,0,1,1],this.fill=[!1,!1,!1,!1],this.fillColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.data=null,this.numPoints=0,this.vertCount=0,this.pickOffset=0}function i(t){return t.map(function(t){return t.slice()})}function a(t,e){var r=t.gl,i=s(r),a=s(r),u=s(r),c=l(r,[1,1]),f=o(r,h.lineVertex,h.lineFragment),d=o(r,h.mitreVertex,h.mitreFragment),p=o(r,h.fillVertex,h.fillFragment),g=o(r,h.pickVertex,h.pickFragment),m=new n(t,c,i,a,u,f,d,p,g);return t.addObject(m),m.update(e),m}e.exports=a;var o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"gl-texture2d\"),u=t(\"ndarray\"),c=t(\"typedarray-pool\"),h=t(\"./lib/shaders\"),f=n.prototype;f.setProjectionModel=function(){var t={scaleHi:new Float32Array([0,0]),scaleLo:new Float32Array([0,0]),translateHi:new Float32Array([0,0]),translateLo:new Float32Array([0,0]),screenShape:[0,0]};return function(){var e=this.bounds,r=this.plot.viewBox,n=this.plot.dataBox,i=e[2]-e[0],a=e[3]-e[1],o=n[2]-n[0],s=n[3]-n[1],l=r[2]-r[0],u=r[3]-r[1],c=2*i/o,h=2*a/s,f=(e[0]-n[0]-.5*o)/i,d=(e[1]-n[1]-.5*s)/a;return t.scaleHi[0]=c,t.scaleHi[1]=h,t.scaleLo[0]=c-t.scaleHi[0],t.scaleLo[1]=h-t.scaleHi[1],t.translateHi[0]=f,t.translateHi[1]=d,t.translateLo[0]=f-t.translateHi[0],t.translateLo[1]=d-t.translateHi[1],t.screenShape[0]=l,t.screenShape[1]=u,t}}(),f.setProjectionUniforms=function(t,e){t.scaleHi=e.scaleHi,t.scaleLo=e.scaleLo,t.translateHi=e.translateHi,t.translateLo=e.translateLo,t.screenShape=e.screenShape},f.draw=function(){var t=[1,0],e=[-1,0],r=[0,1],n=[0,-1];return function(){var i=this.vertCount;if(i){var a=this.setProjectionModel(),o=this.plot,s=this.width,l=o.gl,u=o.pixelRatio,c=this.color,h=this.fillShader.attributes;this.lineBufferLo.bind(),h.aLo.pointer(l.FLOAT,!1,16,0),this.lineBufferHi.bind();var f=this.fill;if(f[0]||f[1]||f[2]||f[3]){var d=this.fillShader;d.bind();var p=d.uniforms;this.setProjectionUniforms(p,a),p.depth=o.nextDepthValue(),h.aHi.pointer(l.FLOAT,!1,16,0),h.dHi.pointer(l.FLOAT,!1,16,8),l.depthMask(!0),l.enable(l.DEPTH_TEST);var g=this.fillColor;f[0]&&(p.color=g[0],p.projectAxis=e,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[1]&&(p.color=g[1],p.projectAxis=n,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[2]&&(p.color=g[2],p.projectAxis=t,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[3]&&(p.color=g[3],p.projectAxis=r,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),l.depthMask(!1),l.disable(l.DEPTH_TEST)}var m=this.lineShader;m.bind(),this.lineBufferLo.bind(),m.attributes.aLo.pointer(l.FLOAT,!1,16,0),m.attributes.dLo.pointer(l.FLOAT,!1,16,8),this.lineBufferHi.bind();var v=m.uniforms;this.setProjectionUniforms(v,a),v.color=c,v.width=s*u,v.dashPattern=this.dashPattern.bind(),v.dashLength=this.dashLength*u;var y=m.attributes;if(y.aHi.pointer(l.FLOAT,!1,16,0),y.dHi.pointer(l.FLOAT,!1,16,8),l.drawArrays(l.TRIANGLES,0,i),s>2&&!this.usingDashes){var x=this.mitreShader;this.lineBufferLo.bind(),x.attributes.aLo.pointer(l.FLOAT,!1,48,0),this.lineBufferHi.bind(),x.bind();var b=x.uniforms;this.setProjectionUniforms(b,a),b.color=c,b.radius=s*u,x.attributes.aHi.pointer(l.FLOAT,!1,48,0),l.drawArrays(l.POINTS,0,i/3|0)}}}}(),f.drawPick=function(){var t=[0,0,0,0];return function(e){var r=this.vertCount,n=this.numPoints;if(this.pickOffset=e,!r)return e+n;var i=this.setProjectionModel(),a=this.plot,o=this.width,s=a.gl,l=a.pickPixelRatio,u=this.pickShader,c=this.pickBuffer;t[0]=255&e,t[1]=e>>>8&255,t[2]=e>>>16&255,t[3]=e>>>24,u.bind();var h=u.uniforms;this.setProjectionUniforms(h,i),h.width=o*l,h.pickOffset=t;var f=u.attributes;return this.lineBufferHi.bind(),f.aHi.pointer(s.FLOAT,!1,16,0),f.dHi.pointer(s.FLOAT,!1,16,8),this.lineBufferLo.bind(),f.aLo.pointer(s.FLOAT,!1,16,0),c.bind(),f.pick0.pointer(s.UNSIGNED_BYTE,!1,8,0),f.pick1.pointer(s.UNSIGNED_BYTE,!1,8,4),s.drawArrays(s.TRIANGLES,0,r),e+n}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.numPoints;if(r<n||r>=n+i)return null;var a=r-n,o=this.data;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}},f.update=function(t){t=t||{};var e,r,n,a,o,s=this.plot.gl;this.color=(t.color||[0,0,1,1]).slice(),this.width=+(t.width||1),this.fill=(t.fill||[!1,!1,!1,!1]).slice(),this.fillColor=i(t.fillColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var h=t.dashes||[1],f=0;for(e=0;e<h.length;++e)f+=h[e];var d=c.mallocUint8(f);n=0;var p=255;for(e=0;e<h.length;++e){for(r=0;r<h[e];++r)d[n++]=p;p^=255}this.dashPattern.dispose(),this.usingDashes=h.length>1,this.dashPattern=l(s,u(d,[f,1,4],[1,0,0])),this.dashPattern.minFilter=s.NEAREST,this.dashPattern.magFilter=s.NEAREST,this.dashLength=f,c.free(d);var g=t.positions;this.data=g;var m=this.bounds;m[0]=m[1]=1/0,m[2]=m[3]=-(1/0);var v=this.numPoints=g.length>>>1;if(0!==v){for(e=0;e<v;++e)a=g[2*e],o=g[2*e+1],isNaN(a)||isNaN(o)||(m[0]=Math.min(m[0],a),m[1]=Math.min(m[1],o),m[2]=Math.max(m[2],a),m[3]=Math.max(m[3],o));m[0]===m[2]&&(m[2]+=1),m[3]===m[1]&&(m[3]+=1);var y=c.mallocFloat64(24*(v-1)),x=c.mallocFloat32(24*(v-1)),b=c.mallocFloat32(24*(v-1)),_=c.mallocUint32(12*(v-1)),w=x.length,M=_.length;n=v;for(var A=0;n>1;){var k=--n;a=g[2*n],o=g[2*n+1];var T=k-1,E=g[2*T],S=g[2*T+1];if(!(isNaN(a)||isNaN(o)||isNaN(E)||isNaN(S))){A+=1,a=(a-m[0])/(m[2]-m[0]),o=(o-m[1])/(m[3]-m[1]),E=(E-m[0])/(m[2]-m[0]),S=(S-m[1])/(m[3]-m[1]);var L=E-a,z=S-o,C=k|1<<24,I=k-1,P=k,D=k-1|1<<24;y[--w]=-z,y[--w]=-L,y[--w]=o,y[--w]=a,_[--M]=C,_[--M]=I,y[--w]=z,y[--w]=L,y[--w]=S,y[--w]=E,_[--M]=P,_[--M]=D,y[--w]=-z,y[--w]=-L,y[--w]=S,y[--w]=E,_[--M]=P,_[--M]=D,y[--w]=z,y[--w]=L,y[--w]=S,y[--w]=E,_[--M]=P,_[--M]=D,y[--w]=-z,y[--w]=-L,y[--w]=o,y[--w]=a,_[--M]=C,_[--M]=I,y[--w]=z,y[--w]=L,y[--w]=o,y[--w]=a,_[--M]=C,_[--M]=I}}for(e=0;e<y.length;e++)x[e]=y[e],b[e]=y[e]-x[e];this.vertCount=6*A,this.lineBufferHi.update(x.subarray(w)),this.lineBufferLo.update(b.subarray(w)),this.pickBuffer.update(_.subarray(M)),c.free(y),c.free(x),c.free(b),c.free(_)}},f.dispose=function(){this.plot.removeObject(this),this.lineBufferLo.dispose(),this.lineBufferHi.dispose(),this.pickBuffer.dispose(),this.lineShader.dispose(),this.mitreShader.dispose(),this.fillShader.dispose(),this.pickShader.dispose(),this.dashPattern.dispose()}},{\"./lib/shaders\":137,\"gl-buffer\":128,\"gl-shader\":220,\"gl-texture2d\":232,ndarray:427,\"typedarray-pool\":496}],139:[function(t,e,r){var n=t(\"gl-shader\"),i=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, nextPosition;\\nattribute float arcLength, lineWidth;\\nattribute vec4 color;\\n\\nuniform vec2 screenShape;\\nuniform float pixelRatio;\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 fragColor;\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\n\\nvoid main() {\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\n\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\n\\n  worldPosition = position;\\n  pixelArcLength = arcLength;\\n  fragColor = color;\\n}\\n\",a=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3      clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float     dashScale;\\nuniform float     opacity;\\n\\nvarying vec3    worldPosition;\\nvarying float   pixelArcLength;\\nvarying vec4    fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n  if(dashWeight < 0.5) {\\n    discard;\\n  }\\n  gl_FragColor = fragColor * opacity;\\n}\\n\",o=\"precision mediump float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX  1.70141184e38\\n#define FLOAT_MIN  1.17549435e-38\\n\\nlowp vec4 encode_float_1_0(highp float v) {\\n  highp float av = abs(v);\\n\\n  //Handle special cases\\n  if(av < FLOAT_MIN) {\\n    return vec4(0.0, 0.0, 0.0, 0.0);\\n  } else if(v > FLOAT_MAX) {\\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n  } else if(v < -FLOAT_MAX) {\\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n  }\\n\\n  highp vec4 c = vec4(0,0,0,0);\\n\\n  //Compute exponent and mantissa\\n  highp float e = floor(log2(av));\\n  highp float m = av * pow(2.0, -e) - 1.0;\\n  \\n  //Unpack mantissa\\n  c[1] = floor(128.0 * m);\\n  m -= c[1] / 128.0;\\n  c[2] = floor(32768.0 * m);\\n  m -= c[2] / 32768.0;\\n  c[3] = floor(8388608.0 * m);\\n  \\n  //Unpack exponent\\n  highp float ebias = e + 127.0;\\n  c[0] = floor(ebias / 2.0);\\n  ebias -= c[0] * 2.0;\\n  c[1] += floor(ebias) * 128.0; \\n\\n  //Unpack sign bit\\n  c[0] += 128.0 * step(0.0, -v);\\n\\n  //Scale back to range\\n  return c / 255.0;\\n}\\n\\n\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1_0(pixelArcLength).xyz);\\n}\",s=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];r.createShader=function(t){return n(t,i,a,null,s)},r.createPickShader=function(t){return n(t,i,o,null,s)}},{\"gl-shader\":220}],140:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function i(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function a(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function o(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}function s(t){var e=t.gl||t.scene&&t.scene.gl,r=g(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var n=m(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=l(e),a=u(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),s=d(new Array(1024),[256,1,4]),h=0;h<1024;++h)s.data[h]=255;var f=c(e,s);f.wrap=e.REPEAT;var p=new o(e,r,n,i,a,f);return p.update(t),p}e.exports=s;var l=t(\"gl-buffer\"),u=t(\"gl-vao\"),c=t(\"gl-texture2d\"),h=t(\"glsl-read-float\"),f=t(\"binary-search-bounds\"),d=t(\"ndarray\"),p=t(\"./lib/shaders\"),g=p.createShader,m=p.createPickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],y=o.prototype;y.isTransparent=function(){return this.opacity<1},y.isOpaque=function(){return this.opacity>=1},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||v,view:t.view||v,projection:t.projection||v,clipBounds:i(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},y.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||v,view:t.view||v,projection:t.projection||v,pickId:this.pickId,clipBounds:i(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},y.update=function(t){var e,r;this.dirty=!0;var i=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),\"opacity\"in t&&(this.opacity=+t.opacity);var a=t.position||t.positions;if(a){var o=t.color||t.colors||[0,0,0,1],s=t.lineWidth||1,l=[],u=[],c=[],h=0,p=0,g=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],m=!1;t:for(e=1;e<a.length;++e){var v=a[e-1],y=a[e];for(u.push(h),c.push(v.slice()),r=0;r<3;++r){if(isNaN(v[r])||isNaN(y[r])||!isFinite(v[r])||!isFinite(y[r])){if(!i&&l.length>0){for(var x=0;x<24;++x)l.push(l[l.length-12]);p+=2,m=!0}continue t}g[0][r]=Math.min(g[0][r],v[r],y[r]),g[1][r]=Math.max(g[1][r],v[r],y[r])}var b,_;Array.isArray(o[0])?(b=o[e-1],_=o[e]):b=_=o,3===b.length&&(b=[b[0],b[1],b[2],1]),3===_.length&&(_=[_[0],_[1],_[2],1]);var w;w=Array.isArray(s)?s[e-1]:s;var M=h;if(h+=n(v,y),m){for(r=0;r<2;++r)l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3]);p+=2,m=!1}l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,b[0],b[1],b[2],b[3],v[0],v[1],v[2],y[0],y[1],y[2],M,-w,b[0],b[1],b[2],b[3],y[0],y[1],y[2],v[0],v[1],v[2],h,-w,_[0],_[1],_[2],_[3],y[0],y[1],y[2],v[0],v[1],v[2],h,w,_[0],_[1],_[2],_[3]),p+=4}if(this.buffer.update(l),u.push(h),c.push(a[a.length-1].slice()),this.bounds=g,this.vertexCount=p,this.points=c,this.arcLength=u,\"dashes\"in t){var A=t.dashes,k=A.slice();for(k.unshift(0),e=1;e<k.length;++e)k[e]=k[e-1]+k[e];var T=d(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)T.set(e,0,r,0);1&f.le(k,k[k.length-1]*e/255)?T.set(e,0,0,0):T.set(e,0,0,255)}this.texture.setPixels(T)}}},y.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=h(t.value[0],t.value[1],t.value[2],0),r=f.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new a(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],o=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),s=1-o,l=[0,0,0],u=0;u<3;++u)l[u]=s*n[u]+o*i[u];var c=Math.min(o<.5?r:r+1,this.points.length-1);return new a(e,l,c,this.points[c])}},{\"./lib/shaders\":139,\"binary-search-bounds\":53,\"gl-buffer\":128,\"gl-texture2d\":232,\"gl-vao\":236,\"glsl-read-float\":243,ndarray:427}],141:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}e.exports=n},{}],142:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,d=u*a-o*l,p=r*h+n*f+i*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*n+i*u)*p,t[2]=(s*n-i*o)*p,t[3]=f*p,t[4]=(c*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null}e.exports=n},{}],143:[function(t,e,r){function n(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}e.exports=n},{}],144:[function(t,e,r){function n(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}e.exports=n},{}],145:[function(t,e,r){function n(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],g=t[14],m=t[15],v=e*o-r*a,y=e*s-n*a,x=e*l-i*a,b=r*s-n*o,_=r*l-i*o,w=n*l-i*s,M=u*p-c*d,A=u*g-h*d,k=u*m-f*d,T=c*g-h*p,E=c*m-f*p,S=h*m-f*g;return v*S-y*E+x*T+b*k-_*A+w*M}e.exports=n},{}],146:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-h-p,t[1]=c+v,t[2]=f-m,t[3]=0,t[4]=c-v,t[5]=1-u-p,t[6]=d+g,t[7]=0,t[8]=f+m,t[9]=d-g,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}e.exports=n},{}],147:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,d=i*l,p=i*u,g=a*u,m=o*s,v=o*l,y=o*u;return t[0]=1-(d+g),t[1]=h+y,t[2]=f-v,t[3]=0,t[4]=h-y,t[5]=1-(c+g),t[6]=p+m,t[7]=0,t[8]=f+v,t[9]=p-m,t[10]=1-(c+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}e.exports=n},{}],148:[function(t,e,r){function n(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}e.exports=n},{}],149:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*g-h*p,k=c*m-f*p,T=c*v-d*p,E=h*m-f*g,S=h*v-d*g,L=f*v-d*m,z=y*L-x*S+b*E+_*T-w*k+M*A;return z?(z=1/z,t[0]=(s*L-l*S+u*E)*z,t[1]=(i*S-n*L-a*E)*z,t[2]=(g*M-m*w+v*_)*z,t[3]=(f*w-h*M-d*_)*z,t[4]=(l*T-o*L-u*k)*z,t[5]=(r*L-i*T+a*k)*z,t[6]=(m*b-p*M-v*x)*z,t[7]=(c*M-f*b+d*x)*z,t[8]=(o*S-s*T+u*A)*z,t[9]=(n*T-r*S-a*A)*z,t[10]=(p*w-g*b+v*y)*z,t[11]=(h*b-c*w-d*y)*z,t[12]=(s*k-o*E-l*A)*z,t[13]=(r*E-n*k+i*A)*z,t[14]=(g*x-p*_-m*y)*z,t[15]=(c*_-h*x+f*y)*z,t):null}e.exports=n},{}],150:[function(t,e,r){function n(t,e,r,n){var a,o,s,l,u,c,h,f,d,p,g=e[0],m=e[1],v=e[2],y=n[0],x=n[1],b=n[2],_=r[0],w=r[1],M=r[2];return Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-M)<1e-6?i(t):(h=g-_,f=m-w,d=v-M,p=1/Math.sqrt(h*h+f*f+d*d),h*=p,f*=p,d*=p,a=x*d-b*f,o=b*h-y*d,s=y*f-x*h,p=Math.sqrt(a*a+o*o+s*s),p?(p=1/p,a*=p,o*=p,s*=p):(a=0,o=0,s=0),l=f*s-d*o,u=d*a-h*s,c=h*o-f*a,p=Math.sqrt(l*l+u*u+c*c),p?(p=1/p,l*=p,u*=p,c*=p):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=u,t[6]=f,t[7]=0,t[8]=s,t[9]=c,t[10]=d,t[11]=0,t[12]=-(a*g+o*m+s*v),t[13]=-(l*g+u*m+c*v),t[14]=-(h*g+f*m+d*v),t[15]=1,t)}var i=t(\"./identity\");e.exports=n},{\"./identity\":148}],151:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*i+b*l+_*f+w*m,t[2]=x*a+b*u+_*d+w*v,t[3]=x*o+b*c+_*p+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*i+b*l+_*f+w*m,t[6]=x*a+b*u+_*d+w*v,t[7]=x*o+b*c+_*p+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*i+b*l+_*f+w*m,t[10]=x*a+b*u+_*d+w*v,t[11]=x*o+b*c+_*p+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*i+b*l+_*f+w*m,t[14]=x*a+b*u+_*d+w*v,t[15]=x*o+b*c+_*p+w*y,t}e.exports=n},{}],152:[function(t,e,r){function n(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}e.exports=n},{}],153:[function(t,e,r){function n(t,e,r,n){var i,a,o,s,l,u,c,h,f,d,p,g,m,v,y,x,b,_,w,M,A,k,T,E,S=n[0],L=n[1],z=n[2],C=Math.sqrt(S*S+L*L+z*z);return Math.abs(C)<1e-6?null:(C=1/C,S*=C,L*=C,z*=C,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],u=e[2],c=e[3],h=e[4],f=e[5],d=e[6],p=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=S*S*o+a,b=L*S*o+z*i,_=z*S*o-L*i,w=S*L*o-z*i,M=L*L*o+a,A=z*L*o+S*i,k=S*z*o+L*i,T=L*z*o-S*i,E=z*z*o+a,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+m*_,t[2]=u*x+d*b+v*_,t[3]=c*x+p*b+y*_,t[4]=s*w+h*M+g*A,t[5]=l*w+f*M+m*A,t[6]=u*w+d*M+v*A,t[7]=c*w+p*M+y*A,t[8]=s*k+h*T+g*E,t[9]=l*k+f*T+m*E,t[10]=u*k+d*T+v*E,t[11]=c*k+p*T+y*E,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}e.exports=n},{}],154:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t}e.exports=n},{}],155:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t}e.exports=n},{}],156:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t}e.exports=n},{}],157:[function(t,e,r){function n(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}e.exports=n},{}],158:[function(t,e,r){function n(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,g=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=p,t[12]=n*g+s*m+h*v+e[12],t[13]=i*g+l*m+f*v+e[13],t[14]=a*g+u*m+d*v+e[14],t[15]=o*g+c*m+p*v+e[15]),t}e.exports=n},{}],159:[function(t,e,r){function n(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}e.exports=n},{}],160:[function(t,e,r){\"use strict\";function n(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:i(t,e);break;case 9:a(t,e);break;case 16:o(t,e);break;default:throw new Error(\"currently supports matrices up to 4x4\")}return t}e.exports=n;var i=t(\"gl-mat2/invert\"),a=t(\"gl-mat3/invert\"),o=t(\"gl-mat4/invert\")},{\"gl-mat2/invert\":141,\"gl-mat3/invert\":142,\"gl-mat4/invert\":149}],161:[function(t,e,r){r.glMatrix=t(\"./gl-matrix/common.js\"),r.mat2=t(\"./gl-matrix/mat2.js\"),r.mat2d=t(\"./gl-matrix/mat2d.js\"),r.mat3=t(\"./gl-matrix/mat3.js\"),r.mat4=t(\"./gl-matrix/mat4.js\"),r.quat=t(\"./gl-matrix/quat.js\"),r.vec2=t(\"./gl-matrix/vec2.js\"),r.vec3=t(\"./gl-matrix/vec3.js\"),r.vec4=t(\"./gl-matrix/vec4.js\")},{\"./gl-matrix/common.js\":162,\"./gl-matrix/mat2.js\":163,\"./gl-matrix/mat2d.js\":164,\"./gl-matrix/mat3.js\":165,\"./gl-matrix/mat4.js\":166,\"./gl-matrix/quat.js\":167,\"./gl-matrix/vec2.js\":168,\"./gl-matrix/vec3.js\":169,\"./gl-matrix/vec4.js\":170}],162:[function(t,e,r){var n={};n.EPSILON=1e-6,n.ARRAY_TYPE=\"undefined\"!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.ENABLE_SIMD=!1,n.SIMD_AVAILABLE=n.ARRAY_TYPE===Float32Array&&\"SIMD\"in this,n.USE_SIMD=n.ENABLE_SIMD&&n.SIMD_AVAILABLE,n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t};var i=Math.PI/180;n.toRadian=function(t){return t*i},n.equals=function(t,e){return Math.abs(t-e)<=n.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},e.exports=n},{}],163:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null},i.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*s+a*l,t[1]=i*s+o*l,t[2]=n*u+a*c,t[3]=i*u+o*c,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},i.fromScaling=function(t,e){\nreturn t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return\"mat2(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t},i.sub=i.subtract,i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},i.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},i.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t},e.exports=i},{\"./common.js\":162}],164:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.fromValues=function(t,e,r,i,a,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=i,s[4]=a,s[5]=o,s},i.set=function(t,e,r,n,i,a,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=r*a-n*i;return l?(l=1/l,t[0]=a*l,t[1]=-n*l,t[2]=-i*l,t[3]=r*l,t[4]=(i*s-a*o)*l,t[5]=(n*o-r*s)*l,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1],h=r[2],f=r[3],d=r[4],p=r[5];return t[0]=n*u+a*c,t[1]=i*u+o*c,t[2]=n*h+a*f,t[3]=i*h+o*f,t[4]=n*d+a*p+s,t[5]=i*d+o*p+l,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+a*u,t[1]=i*c+o*u,t[2]=n*-u+a*c,t[3]=i*-u+o*c,t[4]=s,t[5]=l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n*u,t[1]=i*u,t[2]=a*c,t[3]=o*c,t[4]=s,t[5]=l,t},i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=n*u+a*c+s,t[5]=i*u+o*c+l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return\"mat2d(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\")\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t},i.sub=i.subtract,i.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t},i.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=e[0],c=e[1],h=e[2],f=e[3],d=e[4],p=e[5];return Math.abs(r-u)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(i-c)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(a-h)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(o-f)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(s-d)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(l-p)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},e.exports=i},{\"./common.js\":162}],165:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new n.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromValues=function(t,e,r,i,a,o,s,l,u){var c=new n.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=r,c[3]=i,c[4]=a,c[5]=o,c[6]=s,c[7]=l,c[8]=u,c},i.set=function(t,e,r,n,i,a,o,s,l,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,d=u*a-o*l,p=r*h+n*f+i*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*n+i*u)*p,t[2]=(s*n-i*o)*p,t[3]=f*p,t[4]=(c*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null},i.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8];return t[0]=o*c-s*u,t[1]=i*u-n*c,t[2]=n*s-i*o,t[3]=s*l-a*c,t[4]=r*c-i*l,t[5]=i*a-r*s,t[6]=a*u-o*l,t[7]=n*l-r*u,t[8]=r*o-n*a,t},i.determinant=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8];return e*(u*a-o*l)+r*(-u*i+o*s)+n*(l*i-a*s)},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=r[0],d=r[1],p=r[2],g=r[3],m=r[4],v=r[5],y=r[6],x=r[7],b=r[8];return t[0]=f*n+d*o+p*u,t[1]=f*i+d*s+p*c,t[2]=f*a+d*l+p*h,t[3]=g*n+m*o+v*u,t[4]=g*i+m*s+v*c,t[5]=g*a+m*l+v*h,t[6]=y*n+x*o+b*u,t[7]=y*i+x*s+b*c,t[8]=y*a+x*l+b*h,t},i.mul=i.multiply,i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=f*n+d*o+u,t[7]=f*i+d*s+c,t[8]=f*a+d*l+h,t},i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=Math.sin(r),d=Math.cos(r);return t[0]=d*n+f*o,t[1]=d*i+f*s,t[2]=d*a+f*l,t[3]=d*o-f*n,t[4]=d*s-f*i,t[5]=d*l-f*a,t[6]=u,t[7]=c,t[8]=h,t},i.scale=function(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-h-p,t[3]=c-v,t[6]=f+m,t[1]=c+v,t[4]=1-u-p,t[7]=d-g,t[2]=f-m,t[5]=d+g,t[8]=1-u-h,t},i.normalFromMat4=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*g-h*p,k=c*m-f*p,T=c*v-d*p,E=h*m-f*g,S=h*v-d*g,L=f*v-d*m,z=y*L-x*S+b*E+_*T-w*k+M*A;return z?(z=1/z,t[0]=(s*L-l*S+u*E)*z,t[1]=(l*T-o*L-u*k)*z,t[2]=(o*S-s*T+u*A)*z,t[3]=(i*S-n*L-a*E)*z,t[4]=(r*L-i*T+a*k)*z,t[5]=(n*T-r*S-a*A)*z,t[6]=(g*M-m*w+v*_)*z,t[7]=(m*b-p*M-v*x)*z,t[8]=(p*w-g*b+v*y)*z,t):null},i.str=function(t){return\"mat3(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\", \"+t[6]+\", \"+t[7]+\", \"+t[8]+\")\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},i.sub=i.subtract,i.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},i.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=e[0],d=e[1],p=e[2],g=e[3],m=e[4],v=e[5],y=t[6],x=e[7],b=e[8];return Math.abs(r-f)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(f))&&Math.abs(i-d)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(a-p)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(o-g)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(s-m)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(l-v)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(v))&&Math.abs(u-y)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(c-x)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(x))&&Math.abs(h-b)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(b))},e.exports=i},{\"./common.js\":162}],166:[function(t,e,r){var n=t(\"./common.js\"),i={scalar:{},SIMD:{}};i.create=function(){var t=new n.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.fromValues=function(t,e,r,i,a,o,s,l,u,c,h,f,d,p,g,m){var v=new n.ARRAY_TYPE(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=a,v[5]=o,v[6]=s,v[7]=l,v[8]=u,v[9]=c,v[10]=h,v[11]=f,v[12]=d,v[13]=p,v[14]=g,v[15]=m,v},i.set=function(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p,g,m){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t[9]=c,t[10]=h,t[11]=f,t[12]=d,t[13]=p,t[14]=g,t[15]=m,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.scalar.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},i.SIMD.transpose=function(t,e){var r,n,i,a,o,s,l,u,c,h;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),u=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(i,a,2,3,6,7),c=SIMD.Float32x4.shuffle(o,s,0,2,4,6),h=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,h),t},i.transpose=n.USE_SIMD?i.SIMD.transpose:i.scalar.transpose,i.scalar.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*g-h*p,k=c*m-f*p,T=c*v-d*p,E=h*m-f*g,S=h*v-d*g,L=f*v-d*m,z=y*L-x*S+b*E+_*T-w*k+M*A;return z?(z=1/z,t[0]=(s*L-l*S+u*E)*z,t[1]=(i*S-n*L-a*E)*z,t[2]=(g*M-m*w+v*_)*z,t[3]=(f*w-h*M-d*_)*z,t[4]=(l*T-o*L-u*k)*z,t[5]=(r*L-i*T+a*k)*z,t[6]=(m*b-p*M-v*x)*z,t[7]=(c*M-f*b+d*x)*z,t[8]=(o*S-s*T+u*A)*z,t[9]=(n*T-r*S-a*A)*z,t[10]=(p*w-g*b+v*y)*z,t[11]=(h*b-c*w-d*y)*z,t[12]=(s*k-o*E-l*A)*z,t[13]=(r*E-n*k+i*A)*z,t[14]=(g*x-p*_-m*y)*z,t[15]=(c*_-h*x+f*y)*z,t):null},i.SIMD.invert=function(t,e){var r,n,i,a,o,s,l,u,c,h,f=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),g=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(f,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,g,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(f,d,2,3,6,7),a=SIMD.Float32x4.shuffle(p,g,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),h=SIMD.Float32x4.mul(r,s),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,2,3,0,1),h),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,1,0,3,2),h),o=SIMD.Float32x4.reciprocalApproximation(h),h=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(h,SIMD.Float32x4.mul(o,o))),(h=SIMD.Float32x4.swizzle(h,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(h,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(h,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(h,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(h,c)),t):null},i.invert=n.USE_SIMD?i.SIMD.invert:i.scalar.invert,i.scalar.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],g=e[13],m=e[14],v=e[15];return t[0]=s*(f*v-d*m)-h*(l*v-u*m)+g*(l*d-u*f),t[1]=-(n*(f*v-d*m)-h*(i*v-a*m)+g*(i*d-a*f)),t[2]=n*(l*v-u*m)-s*(i*v-a*m)+g*(i*u-a*l),t[3]=-(n*(l*d-u*f)-s*(i*d-a*f)+h*(i*u-a*l)),t[4]=-(o*(f*v-d*m)-c*(l*v-u*m)+p*(l*d-u*f)),t[5]=r*(f*v-d*m)-c*(i*v-a*m)+p*(i*d-a*f),t[6]=-(r*(l*v-u*m)-o*(i*v-a*m)+p*(i*u-a*l)),t[7]=r*(l*d-u*f)-o*(i*d-a*f)+c*(i*u-a*l),t[8]=o*(h*v-d*g)-c*(s*v-u*g)+p*(s*d-u*h),t[9]=-(r*(h*v-d*g)-c*(n*v-a*g)+p*(n*d-a*h)),t[10]=r*(s*v-u*g)-o*(n*v-a*g)+p*(n*u-a*s),t[11]=-(r*(s*d-u*h)-o*(n*d-a*h)+c*(n*u-a*s)),t[12]=-(o*(h*m-f*g)-c*(s*m-l*g)+p*(s*f-l*h)),t[13]=r*(h*m-f*g)-c*(n*m-i*g)+p*(n*f-i*h),t[14]=-(r*(s*m-l*g)-o*(n*m-i*g)+p*(n*l-i*s)),t[15]=r*(s*f-l*h)-o*(n*f-i*h)+c*(n*l-i*s),t},i.SIMD.adjoint=function(t,e){var r,n,i,a,o,s,l,u,c,h,f,d,p,r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12);return c=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),o=SIMD.Float32x4.shuffle(c,s,0,2,4,6),s=SIMD.Float32x4.shuffle(s,c,1,3,5,7),c=SIMD.Float32x4.shuffle(r,n,2,3,6,7),u=SIMD.Float32x4.shuffle(i,a,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),u=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.mul(s,c),f=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),h),f=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),f),f=SIMD.Float32x4.swizzle(f,2,3,0,1),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(o,s),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(o,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),f),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.mul(o,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),f),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),p),SIMD.Float32x4.store(t,0,h),SIMD.Float32x4.store(t,4,f),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},i.adjoint=n.USE_SIMD?i.SIMD.adjoint:i.scalar.adjoint,i.determinant=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],g=t[14],m=t[15],v=e*o-r*a,y=e*s-n*a,x=e*l-i*a,b=r*s-n*o,_=r*l-i*o,w=n*l-i*s,M=u*p-c*d,A=u*g-h*d,k=u*m-f*d,T=c*g-h*p,E=c*m-f*p,S=h*m-f*g;return v*S-y*E+x*T+b*k-_*A+w*M},i.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(r,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),o))));SIMD.Float32x4.store(t,4,c);var h=SIMD.Float32x4.load(r,8),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,3,3,3,3),o))));SIMD.Float32x4.store(t,8,f);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},i.scalar.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*i+b*l+_*f+w*m,t[2]=x*a+b*u+_*d+w*v,t[3]=x*o+b*c+_*p+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*i+b*l+_*f+w*m,t[6]=x*a+b*u+_*d+w*v,t[7]=x*o+b*c+_*p+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*i+b*l+_*f+w*m,t[10]=x*a+b*u+_*d+w*v,t[11]=x*o+b*c+_*p+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*i+b*l+_*f+w*m,t[14]=x*a+b*u+_*d+w*v,t[15]=x*o+b*c+_*p+w*y,t},i.multiply=n.USE_SIMD?i.SIMD.multiply:i.scalar.multiply,i.mul=i.multiply,i.scalar.translate=function(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,g=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=p,t[12]=n*g+s*m+h*v+e[12],t[13]=i*g+l*m+f*v+e[13],t[14]=a*g+u*m+d*v+e[14],t[15]=o*g+c*m+p*v+e[15]),t},i.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,1,1,1,1)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,SIMD.Float32x4.add(a,o)));return SIMD.Float32x4.store(t,12,l),t},i.translate=n.USE_SIMD?i.SIMD.translate:i.scalar.translate,i.scalar.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.SIMD.scale=function(t,e,r){var n,i,a,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),i=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,1,1,1,1))),a=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.scale=n.USE_SIMD?i.SIMD.scale:i.scalar.scale,i.rotate=function(t,e,r,i){var a,o,s,l,u,c,h,f,d,p,g,m,v,y,x,b,_,w,M,A,k,T,E,S,L=i[0],z=i[1],C=i[2],I=Math.sqrt(L*L+z*z+C*C);return Math.abs(I)<n.EPSILON?null:(I=1/I,L*=I,z*=I,C*=I,a=Math.sin(r),o=Math.cos(r),s=1-o,l=e[0],u=e[1],c=e[2],h=e[3],f=e[4],d=e[5],p=e[6],g=e[7],m=e[8],v=e[9],y=e[10],x=e[11],b=L*L*s+o,_=z*L*s+C*a,w=C*L*s-z*a,M=L*z*s-C*a,A=z*z*s+o,k=C*z*s+L*a,T=L*C*s+z*a,E=z*C*s-L*a,S=C*C*s+o,t[0]=l*b+f*_+m*w,t[1]=u*b+d*_+v*w,t[2]=c*b+p*_+y*w,t[3]=h*b+g*_+x*w,t[4]=l*M+f*A+m*k,t[5]=u*M+d*A+v*k,t[6]=c*M+p*A+y*k,t[7]=h*M+g*A+x*k,t[8]=l*T+f*E+m*S,t[9]=u*T+d*E+v*S,t[10]=c*T+p*E+y*S,t[11]=h*T+g*E+x*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},i.scalar.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},i.SIMD.rotateX=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);var a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,4,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateX=n.USE_SIMD?i.SIMD.rotateX:i.scalar.rotateX,i.scalar.rotateY=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t},i.SIMD.rotateY=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,n),SIMD.Float32x4.mul(o,i))),t},i.rotateY=n.USE_SIMD?i.SIMD.rotateY:i.scalar.rotateY,i.scalar.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},i.SIMD.rotateZ=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,4);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,4,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateZ=n.USE_SIMD?i.SIMD.rotateZ:i.scalar.rotateZ,i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromRotation=function(t,e,r){var i,a,o,s=r[0],l=r[1],u=r[2],c=Math.sqrt(s*s+l*l+u*u);return Math.abs(c)<n.EPSILON?null:(c=1/c,s*=c,l*=c,u*=c,i=Math.sin(e),a=Math.cos(e),o=1-a,t[0]=s*s*o+a,t[1]=l*s*o+u*i,t[2]=u*s*o-l*i,t[3]=0,t[4]=s*l*o-u*i,t[5]=l*l*o+a,t[6]=u*l*o+s*i,t[7]=0,t[8]=s*u*o+l*i,t[9]=l*u*o-s*i,t[10]=u*u*o+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},i.fromXRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromYRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromZRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromRotationTranslation=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,d=i*l,p=i*u,g=a*u,m=o*s,v=o*l,y=o*u;return t[0]=1-(d+g),t[1]=h+y,t[2]=f-v,t[3]=0,t[4]=h-y,t[5]=1-(c+g),t[6]=p+m,t[7]=0,t[8]=f+v,t[9]=p-m,t[10]=1-(c+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},i.getRotation=function(t,e){var r=e[0]+e[5]+e[10],n=0;return r>0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]>e[5]&e[0]>e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]>e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},i.fromRotationTranslationScale=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,u=a+a,c=o+o,h=i*l,f=i*u,d=i*c,p=a*u,g=a*c,m=o*c,v=s*l,y=s*u,x=s*c,b=n[0],_=n[1],w=n[2];return t[0]=(1-(p+m))*b,t[1]=(f+x)*b,t[2]=(d-y)*b,t[3]=0,t[4]=(f-x)*_,t[5]=(1-(h+m))*_,t[6]=(g+v)*_,t[7]=0,t[8]=(d+y)*w,t[9]=(g-v)*w,t[10]=(1-(h+p))*w,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.fromRotationTranslationScaleOrigin=function(t,e,r,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],u=a+a,c=o+o,h=s+s,f=a*u,d=a*c,p=a*h,g=o*c,m=o*h,v=s*h,y=l*u,x=l*c,b=l*h,_=n[0],w=n[1],M=n[2],A=i[0],k=i[1],T=i[2];return t[0]=(1-(g+v))*_,t[1]=(d+b)*_,t[2]=(p-x)*_,t[3]=0,t[4]=(d-b)*w,t[5]=(1-(f+v))*w,t[6]=(m+y)*w,t[7]=0,t[8]=(p+x)*M,t[9]=(m-y)*M,t[10]=(1-(f+g))*M,t[11]=0,t[12]=r[0]+A-(t[0]*A+t[4]*k+t[8]*T),t[13]=r[1]+k-(t[1]*A+t[5]*k+t[9]*T),t[14]=r[2]+T-(t[2]*A+t[6]*k+t[10]*T),t[15]=1,t},i.fromQuat=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-h-p,t[1]=c+v,t[2]=f-m,t[3]=0,t[4]=c-v,t[5]=1-u-p,t[6]=d+g,t[7]=0,t[8]=f+m,t[9]=d-g,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.frustum=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t},i.perspective=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},i.perspectiveFromFieldOfView=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((o-s)*l*.5),t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t},i.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},i.lookAt=function(t,e,r,a){var o,s,l,u,c,h,f,d,p,g,m=e[0],v=e[1],y=e[2],x=a[0],b=a[1],_=a[2],w=r[0],M=r[1],A=r[2];return Math.abs(m-w)<n.EPSILON&&Math.abs(v-M)<n.EPSILON&&Math.abs(y-A)<n.EPSILON?i.identity(t):(f=m-w,d=v-M,p=y-A,g=1/Math.sqrt(f*f+d*d+p*p),f*=g,d*=g,p*=g,o=b*p-_*d,s=_*f-x*p,l=x*d-b*f,g=Math.sqrt(o*o+s*s+l*l),g?(g=1/g,o*=g,s*=g,l*=g):(o=0,s=0,l=0),u=d*l-p*s,c=p*o-f*l,h=f*s-d*o,g=Math.sqrt(u*u+c*c+h*h),g?(g=1/g,u*=g,c*=g,h*=g):(u=0,c=0,h=0),t[0]=o,t[1]=u,t[2]=f,t[3]=0,t[4]=s,t[5]=c,t[6]=d,t[7]=0,t[8]=l,t[9]=h,t[10]=p,t[11]=0,t[12]=-(o*m+s*v+l*y),t[13]=-(u*m+c*v+h*y),\nt[14]=-(f*m+d*v+p*y),t[15]=1,t)},i.str=function(t){return\"mat4(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\", \"+t[6]+\", \"+t[7]+\", \"+t[8]+\", \"+t[9]+\", \"+t[10]+\", \"+t[11]+\", \"+t[12]+\", \"+t[13]+\", \"+t[14]+\", \"+t[15]+\")\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t},i.sub=i.subtract,i.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t},i.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=t[9],d=t[10],p=t[11],g=t[12],m=t[13],v=t[14],y=t[15],x=e[0],b=e[1],_=e[2],w=e[3],M=e[4],A=e[5],k=e[6],T=e[7],E=e[8],S=e[9],L=e[10],z=e[11],C=e[12],I=e[13],P=e[14],D=e[15];return Math.abs(r-x)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(x))&&Math.abs(i-b)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(a-_)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(o-w)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(w))&&Math.abs(s-M)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&&Math.abs(l-A)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(A))&&Math.abs(u-k)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(k))&&Math.abs(c-T)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(h-E)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(E))&&Math.abs(f-S)<=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(S))&&Math.abs(d-L)<=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(L))&&Math.abs(p-z)<=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(z))&&Math.abs(g-C)<=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(C))&&Math.abs(m-I)<=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(I))&&Math.abs(v-P)<=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(P))&&Math.abs(y-D)<=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(D))},e.exports=i},{\"./common.js\":162}],167:[function(t,e,r){var n=t(\"./common.js\"),i=t(\"./mat3.js\"),a=t(\"./vec3.js\"),o=t(\"./vec4.js\"),s={};s.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),r=a.fromValues(0,1,0);return function(n,i,o){var l=a.dot(i,o);return l<-.999999?(a.cross(t,e,i),a.length(t)<1e-6&&a.cross(t,r,i),a.normalize(t,t),s.setAxisAngle(n,t,Math.PI),n):l>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(a.cross(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=i.create();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*c+o*s+i*u-a*l,t[1]=i*c+o*l+a*s-n*u,t[2]=a*c+o*u+n*l-i*s,t[3]=o*c-n*s-i*l-a*u,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+o*s,t[1]=i*l+a*s,t[2]=a*l-i*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l-a*s,t[1]=i*l+o*s,t[2]=a*l+n*s,t[3]=o*l-i*s,t},s.rotateZ=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=i*l-n*s,t[2]=a*l+o*s,t[3]=o*l-a*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],d=r[0],p=r[1],g=r[2],m=r[3];return a=u*d+c*p+h*g+f*m,a<0&&(a=-a,d=-d,p=-p,g=-g,m=-m),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*h+l*g,t[3]=s*f+l*m,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,i,a,o,l){return s.slerp(t,n,o,l),s.slerp(e,i,a,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-i*s,t[3]=a*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+o]-e[3*o+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[o]=(e[3*o+i]+e[3*i+o])*r}return t},s.str=function(t){return\"quat(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"},s.exactEquals=o.exactEquals,s.equals=o.equals,e.exports=s},{\"./common.js\":162,\"./mat3.js\":165,\"./vec3.js\":169,\"./vec4.js\":170}],168:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,r){return t[0]=e,t[1]=r,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},i.transformMat2=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t},i.transformMat2d=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=2),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],a(t,t,o),e[s]=t[0],e[s+1]=t[1];return e}}(),i.str=function(t){return\"vec2(\"+t[0]+\", \"+t[1]+\")\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]},i.equals=function(t,e){var r=t[0],i=t[1],a=e[0],o=e[1];return Math.abs(r-a)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(i-o)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))},e.exports=i},{\"./common.js\":162}],169:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,r){var i=new n.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=r,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t},i.hermite=function(t,e,r,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,u=o*(a-1),c=o*(3-2*a);return t[0]=e[0]*s+r[0]*l+n[0]*u+i[0]*c,t[1]=e[1]*s+r[1]*l+n[1]*u+i[1]*c,t[2]=e[2]*s+r[2]*l+n[2]*u+i[2]*c,t},i.bezier=function(t,e,r,n,i,a){var o=1-a,s=o*o,l=a*a,u=s*o,c=3*a*s,h=3*l*o,f=l*a;return t[0]=e[0]*u+r[0]*c+n[0]*h+i[0]*f,t[1]=e[1]*u+r[1]*c+n[1]*h+i[1]*f,t[2]=e[2]*u+r[2]*c+n[2]*h+i[2]*f,t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,i=2*n.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*e,t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},i.transformQuat=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,h=u*i+l*n-o*a,f=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+h*-l-f*-s,t[1]=h*u+d*-s+f*-o-c*-l,t[2]=f*u+d*-l+c*-s-h*-o,t},i.rotateX=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateY=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateZ=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=3),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2];return e}}(),i.angle=function(t,e){var r=i.fromValues(t[0],t[1],t[2]),n=i.fromValues(e[0],e[1],e[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a>1?0:Math.acos(a)},i.str=function(t){return\"vec3(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\")\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))},e.exports=i},{\"./common.js\":162}],170:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t},i.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t},i.transformQuat=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,h=u*i+l*n-o*a,f=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+h*-l-f*-s,t[1]=h*u+d*-s+f*-o-c*-l,t[2]=f*u+d*-l+c*-s-h*-o,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=4),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],t[3]=e[s+3],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2],e[s+3]=t[3];return e}}(),i.str=function(t){return\"vec4(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},e.exports=i},{\"./common.js\":162}],171:[function(t,e,r){\"use strict\";function n(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function i(t,e,r,i,a){for(var o=n(i,n(r,n(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}function a(t,e){if(2===t.length){for(var r=0,n=0,i=0;i<2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n<1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var a=[0,0];return u(t[0],t[1],t[2],e,a),l(t,a)}return[]}function o(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}function s(t,e,r,n,s,l){if(1===t.length)return[0,t[0].slice()];for(var u=new Array(t.length),c=0;c<t.length;++c)u[c]=i(t[c],r,n,s,l);for(var h=0,f=1/0,c=0;c<u.length;++c){for(var d=0,p=0;p<2;++p)d+=Math.pow(u[c][p]-e[p],2);d<f&&(f=d,h=c)}for(var g=a(u,e),m=0,c=0;c<3;++c){if(g[c]<-.001||g[c]>1.0001)return null;m+=g[c]}return Math.abs(m-1)>.001?null:[h,o(t,g),g]}var l=t(\"barycentric\"),u=t(\"polytope-closest-point/lib/closest_point_2d.js\");e.exports=s},{barycentric:36,\"polytope-closest-point/lib/closest_point_2d.js\":444}],172:[function(t,e,r){var n=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n           , view\\n           , projection;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec4 m_position  = model * vec4(position, 1.0);\\n  vec4 t_position  = view * m_position;\\n  gl_Position      = projection * t_position;\\n  f_color          = color;\\n  f_normal         = normal;\\n  f_data           = position;\\n  f_eyeDirection   = eyePosition   - position;\\n  f_lightDirection = lightPosition - position;\\n  f_uv             = uv;\\n}\",i=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution_2_0(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\n\\n\\nfloat cookTorranceSpecular_1_1(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution_2_0(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular\\n            , opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(f_data, clipBounds[0])) || \\n     any(greaterThan(f_data, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n  \\n  if(!gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = cookTorranceSpecular_1_1(L, V, N, roughness, fresnel);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\",a=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_color = color;\\n  f_data  = position;\\n  f_uv    = uv;\\n}\",o=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(f_data, clipBounds[0])) || \\n     any(greaterThan(f_data, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\",s=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || \\n     any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    gl_Position = projection * view * model * vec4(position, 1.0);\\n  }\\n  gl_PointSize = pointSize;\\n  f_color = color;\\n  f_uv = uv;\\n}\",l=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5,0.5);\\n  if(dot(pointR, pointR) > 0.25) {\\n    discard;\\n  }\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\",u=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_id        = id;\\n  f_position  = position;\\n}\",c=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(f_position, clipBounds[0])) || \\n     any(greaterThan(f_position, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\",h=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3  position;\\nattribute float pointSize;\\nattribute vec4  id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || \\n     any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    gl_Position  = projection * view * model * vec4(position, 1.0);\\n    gl_PointSize = pointSize;\\n  }\\n  f_id         = id;\\n  f_position   = position;\\n}\",f=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n}\",d=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n  gl_FragColor = vec4(contourColor,1);\\n}\\n\";r.meshShader={vertex:n,fragment:i,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.wireShader={vertex:a,fragment:o,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.pointShader={vertex:s,fragment:l,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},r.pickShader={vertex:u,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},r.pointPickShader={vertex:h,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},r.contourShader={vertex:f,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},{}],173:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p,g,m,v,y,x,b,_,w,M,A,k,T){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=w,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=k,this.contourVAO=T,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this._model=O,this._view=O,this._projection=O,this._resolution=[1,1]}function i(t){for(var e=A({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return M(r,[256,256,4],[4,0,1])}function a(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;for(var a=t.length,i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}function o(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}function s(t){var e=m(t,L);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function l(t){var e=m(t,z);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function u(t){var e=m(t,C);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function c(t){var e=m(t,I);return e.attributes.position.location=0,e.attributes.id.location=1,e}function h(t){var e=m(t,P);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function f(t){var e=m(t,D);return e.attributes.position.location=0,e}function d(t){var e=t.gl,r=s(e),i=l(e),a=u(e),o=c(e),d=h(e),p=f(e),g=x(e,M(new Uint8Array([255,255,255,255]),[1,1,4]));g.generateMipmap(),g.minFilter=e.LINEAR_MIPMAP_LINEAR,g.magFilter=e.LINEAR;var m=v(e),b=v(e),_=v(e),w=v(e),A=v(e),k=y(e,[{buffer:m,type:e.FLOAT,size:3},{buffer:A,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:b,type:e.FLOAT,size:4},{buffer:_,type:e.FLOAT,size:2},{buffer:w,type:e.FLOAT,size:3}]),T=v(e),E=v(e),S=v(e),L=v(e),z=y(e,[{buffer:T,type:e.FLOAT,size:3},{buffer:L,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:E,type:e.FLOAT,size:4},{buffer:S,type:e.FLOAT,size:2}]),C=v(e),I=v(e),P=v(e),D=v(e),O=v(e),R=y(e,[{buffer:C,type:e.FLOAT,size:3},{buffer:O,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:e.FLOAT,size:4},{buffer:P,type:e.FLOAT,size:2},{buffer:D,type:e.FLOAT,size:1}]),F=v(e),j=y(e,[{buffer:F,type:e.FLOAT,size:3}]),N=new n(e,g,r,i,a,o,d,p,m,A,b,_,w,k,T,L,E,S,z,C,O,I,P,D,R,F,j);return N.update(t),N}var p=1e-6,g=1e-6,m=t(\"gl-shader\"),v=t(\"gl-buffer\"),y=t(\"gl-vao\"),x=t(\"gl-texture2d\"),b=t(\"normals\"),_=t(\"gl-mat4/multiply\"),w=t(\"gl-mat4/invert\"),M=t(\"ndarray\"),A=t(\"colormap\"),k=t(\"simplicial-complex-contour\"),T=t(\"typedarray-pool\"),E=t(\"./lib/shaders\"),S=t(\"./lib/closest-point\"),L=E.meshShader,z=E.wireShader,C=E.pointShader,I=E.pickShader,P=E.pointPickShader,D=E.contourShader,O=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],R=n.prototype;R.isOpaque=function(){return this.opacity>=1},R.isTransparent=function(){return this.opacity<1},R.pickSlots=1,R.setPickBase=function(t){this.pickId=t},R.highlight=function(t){if(!t||!this.contourEnable)return void(this.contourCount=0);for(var e=k(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=T.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var u=r[l],c=0;c<2;++c){var h=u[0];2===u.length&&(h=u[c]);for(var f=n[h][0],d=n[h][1],p=i[h],g=1-p,m=this.positions[f],v=this.positions[d],y=0;y<3;++y)o[s++]=p*m[y]+g*v[y]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),T.free(o)},R.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),\nt.texture?(this.texture.dispose(),this.texture=x(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(i(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var s=[],l=[],u=[],c=[],h=[],f=[],d=[],m=[],v=[],y=[],_=[],w=[],M=[],A=[];this.cells=r,this.positions=n;var k=t.vertexNormals,T=t.cellNormals,E=void 0===t.vertexNormalsEpsilon?p:t.vertexNormalsEpsilon,S=void 0===t.faceNormalsEpsilon?g:t.faceNormalsEpsilon;t.useFacetNormals&&!T&&(T=b.faceNormals(r,n,S)),T||k||(k=b.vertexNormals(r,n,E));var L=t.vertexColors,z=t.cellColors,C=t.meshColor||[1,1,1,1],I=t.vertexUVs,P=t.vertexIntensity,D=t.cellUVs,O=t.cellIntensity,R=1/0,F=-(1/0);if(!I&&!D)if(P)for(var j=0;j<P.length;++j){var N=P[j];R=Math.min(R,N),F=Math.max(F,N)}else if(O)for(var j=0;j<O.length;++j){var N=O[j];R=Math.min(R,N),F=Math.max(F,N)}else for(var j=0;j<n.length;++j){var N=n[j][2];R=Math.min(R,N),F=Math.max(F,N)}P?this.intensity=P:O?this.intensity=a(r,n.length,O):this.intensity=o(n);var B=t.pointSizes,U=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]];for(var j=0;j<n.length;++j)for(var V=n[j],q=0;q<3;++q)!isNaN(V[q])&&isFinite(V[q])&&(this.bounds[0][q]=Math.min(this.bounds[0][q],V[q]),this.bounds[1][q]=Math.max(this.bounds[1][q],V[q]));var H=0,G=0,X=0;t:for(var j=0;j<r.length;++j){var Y=r[j];switch(Y.length){case 1:for(var W=Y[0],V=n[W],q=0;q<3;++q)if(isNaN(V[q])||!isFinite(V[q]))continue t;y.push(V[0],V[1],V[2]);var Z;Z=L?L[W]:z?z[j]:C,3===Z.length?_.push(Z[0],Z[1],Z[2],1):_.push(Z[0],Z[1],Z[2],Z[3]);var Q;Q=I?I[W]:P?[(P[W]-R)/(F-R),0]:D?D[j]:O?[(O[j]-R)/(F-R),0]:[(V[2]-R)/(F-R),0],w.push(Q[0],Q[1]),B?M.push(B[W]):M.push(U),A.push(j),X+=1;break;case 2:for(var q=0;q<2;++q)for(var W=Y[q],V=n[W],K=0;K<3;++K)if(isNaN(V[K])||!isFinite(V[K]))continue t;for(var q=0;q<2;++q){var W=Y[q],V=n[W];f.push(V[0],V[1],V[2]);var Z;Z=L?L[W]:z?z[j]:C,3===Z.length?d.push(Z[0],Z[1],Z[2],1):d.push(Z[0],Z[1],Z[2],Z[3]);var Q;Q=I?I[W]:P?[(P[W]-R)/(F-R),0]:D?D[j]:O?[(O[j]-R)/(F-R),0]:[(V[2]-R)/(F-R),0],m.push(Q[0],Q[1]),v.push(j)}G+=1;break;case 3:for(var q=0;q<3;++q)for(var W=Y[q],V=n[W],K=0;K<3;++K)if(isNaN(V[K])||!isFinite(V[K]))continue t;for(var q=0;q<3;++q){var W=Y[q],V=n[W];s.push(V[0],V[1],V[2]);var Z;Z=L?L[W]:z?z[j]:C,3===Z.length?l.push(Z[0],Z[1],Z[2],1):l.push(Z[0],Z[1],Z[2],Z[3]);var Q;Q=I?I[W]:P?[(P[W]-R)/(F-R),0]:D?D[j]:O?[(O[j]-R)/(F-R),0]:[(V[2]-R)/(F-R),0],c.push(Q[0],Q[1]);var $;$=k?k[W]:T[j],u.push($[0],$[1],$[2]),h.push(j)}H+=1}}this.pointCount=X,this.edgeCount=G,this.triangleCount=H,this.pointPositions.update(y),this.pointColors.update(_),this.pointUVs.update(w),this.pointSizes.update(M),this.pointIds.update(new Uint32Array(A)),this.edgePositions.update(f),this.edgeColors.update(d),this.edgeUVs.update(m),this.edgeIds.update(new Uint32Array(v)),this.trianglePositions.update(s),this.triangleColors.update(l),this.triangleUVs.update(c),this.triangleNormals.update(u),this.triangleIds.update(new Uint32Array(h))}},R.drawTransparent=R.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||O,n=t.view||O,i=t.projection||O,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);_(l,s.view,s.model),_(l,s.projection,l),w(l,l);for(var o=0;o<3;++o)s.eyePosition[o]=l[12+o]/l[15];for(var u=l[15],o=0;o<3;++o)u+=this.lightPosition[o]*l[4*o+3];for(var o=0;o<3;++o){for(var c=l[12+o],h=0;h<3;++h)c+=l[4*h+o]*this.lightPosition[h];s.lightPosition[o]=c/u}if(this.triangleCount>0){var f=this.triShader;f.bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var f=this.lineShader;f.bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount>0){var f=this.pointShader;f.bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var f=this.contourShader;f.bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind()}},R.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||O,n=t.view||O,i=t.projection||O,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255},l=this.pickShader;if(l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0){var l=this.pointPickShader;l.bind(),l.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}},R.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=S(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;for(var s=o[2],l=0,a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},R.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=d},{\"./lib/closest-point\":171,\"./lib/shaders\":172,colormap:80,\"gl-buffer\":128,\"gl-mat4/invert\":149,\"gl-mat4/multiply\":151,\"gl-shader\":220,\"gl-texture2d\":232,\"gl-vao\":236,ndarray:427,normals:429,\"simplicial-complex-contour\":474,\"typedarray-pool\":496}],174:[function(t,e,r){\"use strict\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}function i(t){var e=t.gl,r=a(e,[0,0,0,1,1,0,1,1]),i=o(e,s.boxVert,s.lineFrag);return new n(t,r,i)}e.exports=i;var a=t(\"gl-buffer\"),o=t(\"gl-shader\"),s=t(\"./shaders\"),l=n.prototype;l.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},l.drawBox=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o){var s=this.plot,l=this.shader,u=s.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,l.uniforms.lo=t,l.uniforms.hi=e,l.uniforms.color=o,u.drawArrays(u.TRIANGLE_STRIP,0,4)}}(),l.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":177,\"gl-buffer\":128,\"gl-shader\":180}],175:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function i(t,e){return t-e}function a(t){var e=t.gl,r=o(e),i=s(e,u.gridVert,u.gridFrag),a=s(e,u.tickVert,u.gridFrag),l=new n(t,r,i,a);return l}e.exports=a;var o=t(\"gl-buffer\"),s=t(\"gl-shader\"),l=t(\"binary-search-bounds\"),u=t(\"./shaders\"),c=n.prototype;c.draw=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){for(var n=this.plot,i=this.vbo,a=this.shader,o=this.ticks,s=n.gl,l=n._tickBounds,u=n.dataBox,c=n.viewBox,h=n.gridLineWidth,f=n.gridLineColor,d=n.gridLineEnable,p=n.pixelRatio,g=0;g<2;++g){var m=l[g],v=l[g+2],y=v-m,x=.5*(u[g+2]+u[g]),b=u[g+2]-u[g];e[g]=2*y/b,t[g]=2*(m-x)/b}a.bind(),i.bind(),a.attributes.dataCoord.pointer(),a.uniforms.dataShift=t,a.uniforms.dataScale=e;for(var _=0,g=0;g<2;++g){r[0]=r[1]=0,r[g]=1,a.uniforms.dataAxis=r,a.uniforms.lineWidth=h[g]/(c[g+2]-c[g])*p,a.uniforms.color=f[g];var w=6*o[g].length;d[g]&&w&&s.drawArrays(s.TRIANGLES,_,w),_+=w}}}(),c.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var s=this.plot,u=this.vbo,c=this.tickShader,h=this.ticks,f=s.gl,d=s._tickBounds,p=s.dataBox,g=s.viewBox,m=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var M=d[w],A=d[w+2],k=A-M,T=.5*(p[w+2]+p[w]),E=p[w+2]-p[w];e[w]=2*k/E,t[w]=2*(M-T)/E}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,c.bind(),u.bind(),c.attributes.dataCoord.pointer();var S=c.uniforms;S.dataShift=t,S.dataScale=e;var L=s.tickMarkLength,z=s.tickMarkWidth,C=s.tickMarkColor,I=0,P=6*h[0].length,D=Math.min(l.ge(h[0],(p[0]-d[0])/(d[2]-d[0]),i),h[0].length),O=Math.min(l.gt(h[0],(p[2]-d[0])/(d[2]-d[0]),i),h[0].length),R=I+6*D,F=6*Math.max(0,O-D),j=Math.min(l.ge(h[1],(p[1]-d[1])/(d[3]-d[1]),i),h[1].length),N=Math.min(l.gt(h[1],(p[3]-d[1])/(d[3]-d[1]),i),h[1].length),B=P+6*j,U=6*Math.max(0,N-j);a[0]=2*(g[0]-L[1])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=L[1]*m/y,o[1]=z[1]*m/x,U&&(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,U)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[1]-L[0])/x-1,o[0]=z[0]*m/y,o[1]=L[0]*m/x,F&&(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,R,F)),a[0]=2*(g[2]+L[3])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=L[3]*m/y,o[1]=z[3]*m/x,U&&(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,U)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[3]+L[2])/x-1,o[0]=z[2]*m/y,o[1]=L[2]*m/x,F&&(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,R,F))}}(),c.update=function(){var t=[1,1,-1,-1,1,-1],e=[1,-1,1,1,-1,-1];return function(r){for(var n=r.ticks,i=r.bounds,a=new Float32Array(18*(n[0].length+n[1].length)),o=(this.plot.zeroLineEnable,0),s=[[],[]],l=0;l<2;++l)for(var u=s[l],c=n[l],h=i[l],f=i[l+2],d=0;d<c.length;++d){var p=(c[d].x-h)/(f-h);u.push(p);for(var g=0;g<6;++g)a[o++]=p,a[o++]=t[g],a[o++]=e[g]}this.ticks=s,this.vbo.update(a)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\"./shaders\":177,\"binary-search-bounds\":179,\"gl-buffer\":128,\"gl-shader\":180}],176:[function(t,e,r){\"use strict\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}function i(t){var e=t.gl,r=a(e,[-1,-1,-1,1,1,-1,1,1]),i=o(e,s.lineVert,s.lineFrag),l=new n(t,r,i);return l}e.exports=i;var a=t(\"gl-buffer\"),o=t(\"gl-shader\"),s=t(\"./shaders\"),l=n.prototype;l.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},l.drawLine=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o,s){var l=this.plot,u=this.shader,c=l.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,u.uniforms.start=t,u.uniforms.end=e,u.uniforms.width=o*l.pixelRatio,u.uniforms.color=s,c.drawArrays(c.TRIANGLE_STRIP,0,4)}}(),l.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":177,\"gl-buffer\":128,\"gl-shader\":180}],177:[function(t,e,r){\"use strict\";var n=\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\";e.exports={lineVert:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 start, end;\\nuniform float width;\\n\\nvec2 perp(vec2 v) {\\n  return vec2(v.y, -v.x);\\n}\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  vec2 delta = normalize(perp(start - end));\\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\\n}\\n\",lineFrag:n,textVert:\"#define GLSLIFY 1\\nattribute vec3 textCoordinate;\\n\\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\\nuniform float angle;\\n\\nvoid main() {\\n  float dataOffset  = textCoordinate.z;\\n  vec2 glyphOffset  = textCoordinate.xy;\\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\\n    glyphMatrix * glyphOffset * textScale + screenOffset;\\n  gl_Position = vec4(screenCoordinate, 0, 1);\\n}\\n\",textFrag:n,gridVert:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale;\\nuniform float lineWidth;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\\n  gl_Position = vec4(pos, 0, 1);\\n}\\n\",gridFrag:n,boxVert:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 lo, hi;\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\\n}\\n\",tickVert:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\\n}\\n\"}},{}],178:[function(t,e,r){\"use strict\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}function i(t){var e=t.gl,r=a(e),i=o(e,u.textVert,u.textFrag),s=new n(t,r,i);return s}e.exports=i;var a=t(\"gl-buffer\"),o=t(\"gl-shader\"),s=t(\"text-cache\"),l=t(\"binary-search-bounds\"),u=t(\"./shaders\"),c=n.prototype;c.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],s=this.tickOffset[n],u=i.gl,c=i.viewBox,h=i.dataBox,f=i.screenBox,d=i.pixelRatio,p=i.tickEnable,g=i.tickPad,m=i.tickColor,v=i.tickAngle,y=i.labelEnable,x=i.labelPad,b=i.labelColor,_=i.labelAngle,w=this.labelOffset[n],M=this.labelCount[n],A=l.lt(o,h[n]),k=l.le(o,h[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(c[2+n]+c[n])/(f[2+n]-f[n])-1;var T=2/f[2+(1^n)]-f[1^n];e[1^n]=T*c[1^n]-1,p[n]&&(e[1^n]-=T*d*g[n],A<k&&s[k]>s[A]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=m[n],a.uniforms.angle=v[n],u.drawArrays(u.TRIANGLES,s[A],s[k]-s[A]))),y[n]&&M&&(e[1^n]-=T*d*x[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n],a.uniforms.angle=_[n],u.drawArrays(u.TRIANGLES,w,M)),e[1^n]=T*c[2+(1^n)]-1,p[n+2]&&(e[1^n]+=T*d*g[n+2],A<k&&s[k]>s[A]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=m[n+2],a.uniforms.angle=v[n+2],u.drawArrays(u.TRIANGLES,s[A],s[k]-s[A]))),y[n+2]&&M&&(e[1^n]+=T*d*x[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=b[n+2],a.uniforms.angle=_[n+2],u.drawArrays(u.TRIANGLES,w,M))}}(),c.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),c.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var u=0;u<2;++u){var c=a[u],h=a[u+2],f=h-c,d=.5*(o[u+2]+o[u]),p=o[u+2]-o[u],g=l[u],m=l[u+2],v=m-g,y=s[u],x=s[u+2],b=x-y;e[u]=2*f/p*v/b,t[u]=2*(c-d)/p*v/b}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),c.update=function(t){var e,r,n,i,a,o=[],l=t.ticks,u=t.bounds;for(a=0;a<2;++a){var c=[Math.floor(o.length/3)],h=[-(1/0)],f=l[a];for(e=0;e<f.length;++e){var d=f[e],p=d.x,g=d.text,m=d.font||\"sans-serif\";i=d.fontSize||12;for(var v=1/(u[a+2]-u[a]),y=u[a],x=g.split(\"\\n\"),b=0;b<x.length;b++)for(n=s(m,x[b]).data,r=0;r<n.length;r+=2)o.push(n[r]*i,-n[r+1]*i-b*i*1.2,(p-y)*v);c.push(Math.floor(o.length/3)),h.push(p)}this.tickOffset[a]=c,this.tickX[a]=h}for(a=0;a<2;++a){for(this.labelOffset[a]=Math.floor(o.length/3),n=s(t.labelFont[a],t.labels[a],{textAlign:\"center\"}).data,i=t.labelSize[a],e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(o.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(o.length/3),n=s(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(o.length/3)-this.titleOffset,this.vbo.update(o)},c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":177,\"binary-search-bounds\":179,\"gl-buffer\":128,\"gl-shader\":180,\"text-cache\":488}],179:[function(t,e,r){arguments[4][72][0].apply(r,arguments)},{dup:72}],180:[function(t,e,r){\"use strict\";function n(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name<e.name?-1:1}function a(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}var o=t(\"./lib/create-uniforms\"),s=t(\"./lib/create-attributes\"),l=t(\"./lib/reflect\"),u=t(\"./lib/shader-cache\"),c=t(\"./lib/runtime-reflect\"),h=t(\"./lib/GLError\"),f=n.prototype;f.bind=function(){this.program||this._relink();var t,e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},f.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function a(){d.program=u.program(p,d._vref,d._fref,_,w);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var f=t;t=f.vertex,e=f.fragment,r=f.uniforms,n=f.attributes}var d=this,p=d.gl,g=d._vref;d._vref=u.shader(p,p.VERTEX_SHADER,t),g&&g.dispose(),d.vertShader=d._vref.shader;var m=this._fref;if(d._fref=u.shader(p,p.FRAGMENT_SHADER,e),m&&m.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new h(y,\"Error linking program:\"+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}n=n.slice(),n.sort(i);var x,b=[],_=[],w=[];for(x=0;x<n.length;++x){var M=n[x];if(M.type.indexOf(\"mat\")>=0){for(var A=0|M.type.charAt(M.type.length-1),k=new Array(A),T=0;T<A;++T)k[T]=w.length,_.push(M.name+\"[\"+T+\"]\"),\"number\"==typeof M.location?w.push(M.location+T):Array.isArray(M.location)&&M.location.length===A&&\"number\"==typeof M.location[T]?w.push(0|M.location[T]):w.push(-1);b.push({name:M.name,type:M.type,locations:k})}else b.push({name:M.name,type:M.type,locations:[w.length]}),_.push(M.name),\"number\"==typeof M.location?w.push(0|M.location):w.push(-1)}var E=0;for(x=0;x<w.length;++x)if(w[x]<0){for(;w.indexOf(E)>=0;)E+=1;w[x]=E}var S=new Array(r.length);a(),d._relink=a,d.types={uniforms:l(r),attributes:l(n)},d.attributes=s(p,d,b,w),Object.defineProperty(d,\"uniforms\",o(p,d,r,S))},e.exports=a},{\"./lib/GLError\":181,\"./lib/create-attributes\":182,\"./lib/create-uniforms\":183,\"./lib/reflect\":184,\"./lib/runtime-reflect\":185,\"./lib/shader-cache\":186}],181:[function(t,e,r){function n(t,e,r){this.shortMessage=e||\"\",this.longMessage=r||\"\",this.rawError=t||\"\",this.message=\"gl-shader: \"+(e||t||\"\")+(r?\"\\n\"+r:\"\"),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name=\"GLError\",n.prototype.constructor=n,e.exports=n},{}],182:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}function i(t,e,r,i,a,o,s){for(var l=[\"gl\",\"v\"],u=[],c=0;c<a;++c)l.push(\"x\"+c),u.push(\"x\"+c);l.push(\"if(x0.length===void 0){return gl.vertexAttrib\"+a+\"f(v,\"+u.join()+\")}else{return gl.vertexAttrib\"+a+\"fv(v,x0)}\");var h=Function.apply(null,l),f=new n(t,e,r,i,a,h);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(i[r]),h(t,i[r],e),e},get:function(){return f},enumerable:!0})}function a(t,e,r,n,a,o,s){for(var l=new Array(a),u=new Array(a),c=0;c<a;++c)i(t,e,r[c],n,a,l,c),u[c]=l[c];Object.defineProperty(l,\"location\",{set:function(t){if(Array.isArray(t))for(var e=0;e<a;++e)u[e].location=t[e];else for(var e=0;e<a;++e)u[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e<a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l<a;++l){var u=n[r[l]];t.vertexAttribPointer(u,a,e,i,o,s+l*a),t.enableVertexAttribArray(u)}};var h=new Array(a),f=t[\"vertexAttrib\"+a+\"fv\"];Object.defineProperty(o,s,{set:function(e){for(var i=0;i<a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))f.call(t,o,e[i]);else{for(var s=0;s<a;++s)h[s]=e[a*i+s];f.call(t,o,h)}}return e},get:function(){return l},enumerable:!0})}function o(t,e,r,n){for(var o={},l=0,u=r.length;l<u;++l){var c=r[l],h=c.name,f=c.type,d=c.locations;switch(f){case\"bool\":case\"int\":case\"float\":i(t,e,d[0],n,1,o,h);break;default:if(f.indexOf(\"vec\")>=0){var p=f.charCodeAt(f.length-1)-48;if(p<2||p>4)throw new s(\"\",\"Invalid data type for attribute \"+h+\": \"+f);i(t,e,d[0],n,p,o,h)}else{if(!(f.indexOf(\"mat\")>=0))throw new s(\"\",\"Unknown data type for attribute \"+h+\": \"+f);var p=f.charCodeAt(f.length-1)-48;if(p<2||p>4)throw new s(\"\",\"Invalid data type for attribute \"+h+\": \"+f);a(t,e,d,n,p,o,h)}}}return o}e.exports=o;var s=t(\"./GLError\"),l=n.prototype;l.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},l.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(l,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{\"./GLError\":181}],183:[function(t,e,r){\"use strict\";function n(t){var e=new Function(\"y\",\"return function(){return y}\");return e(t)}function i(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function a(t,e,r,a){function l(r){var n=new Function(\"gl\",\"wrapper\",\"locations\",\"return function(){return gl.getUniform(wrapper.program,locations[\"+r+\"])}\");return n(t,e,a)}function u(t,e,r){switch(r){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":return\"gl.uniform1i(locations[\"+e+\"],obj\"+t+\")\";case\"float\":return\"gl.uniform1f(locations[\"+e+\"],obj\"+t+\")\";default:var n=r.indexOf(\"vec\");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf(\"mat\")&&4===r.length){var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new s(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+r);return\"gl.uniformMatrix\"+i+\"fv(locations[\"+e+\"],false,obj\"+t+\")\"}throw new s(\"\",\"Unknown uniform data type for \"+name+\": \"+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new s(\"\",\"Invalid data type\");switch(r.charAt(0)){case\"b\":case\"i\":return\"gl.uniform\"+i+\"iv(locations[\"+e+\"],obj\"+t+\")\";case\"v\":return\"gl.uniform\"+i+\"fv(locations[\"+e+\"],obj\"+t+\")\";default:throw new s(\"\",\"Unrecognized data type for vector \"+name+\": \"+r)}}}function c(t,e){if(\"object\"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;a+=parseInt(n)+\"\"===n?\"[\"+n+\"]\":\".\"+n,\"object\"==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function h(e){for(var n=[\"return function updateProperty(obj){\"],i=c(\"\",e),o=0;o<i.length;++o){var s=i[o],l=s[0],h=s[1];a[h]&&n.push(u(l,h,r[h].type))}n.push(\"return obj}\");var f=new Function(\"gl\",\"locations\",n.join(\"\\n\"));return f(t,a)}function f(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new s(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?i(r,!1):i(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new s(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return i(r*r,0)}throw new s(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}function d(t,e,i){if(\"object\"==typeof i){var o=p(i);Object.defineProperty(t,e,{get:n(o),set:h(i),enumerable:!0,configurable:!1})}else a[i]?Object.defineProperty(t,e,{get:l(i),set:h(i),enumerable:!0,configurable:!1}):t[e]=f(r[i].type)}function p(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)d(e,r,t[r])}else{e={};for(var n in t)d(e,n,t[n])}return e}var g=o(r,!0);return{get:n(p(g)),set:h(g),enumerable:!0,configurable:!0}}var o=t(\"./reflect\"),s=t(\"./GLError\");e.exports=a},{\"./GLError\":181,\"./reflect\":184}],184:[function(t,e,r){\"use strict\";function n(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\".\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\"[\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var u=1;u<l.length;++u){var c=parseInt(l[u]);u<l.length-1||s<a.length-1?(c in o||(u<l.length-1?o[c]=[]:o[c]={}),o=o[c]):e?o[c]=n:o[c]=t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):e?o[l[0]]=n:o[l[0]]=t[n].type}return r}e.exports=n},{}],185:[function(t,e,r){\"use strict\";function n(t,e){if(!s){var r=Object.keys(o);s={};for(var n=0;n<r.length;++n){var i=r[n];s[t[i]]=o[i]}}return s[e]}function i(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),i=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=n(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)i.push({name:o.name.replace(\"[0]\",\"[\"+l+\"]\"),type:s});else i.push({name:o.name,type:s})}}return i}function a(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&i.push({name:o.name,type:n(t,o.type)})}return i}r.uniforms=i,r.attributes=a;var o={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},s=null},{}],186:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function i(t){this.gl=t,this.shaders=[{},{}],this.programs={}}function a(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=h(i,r,e)}catch(t){throw console.warn(\"Failed to format compiler error: \"+t),new c(i,\"Error compiling shader:\\n\"+i)}throw new c(i,a.short,a.long)}return n}function o(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var o=0;o<n.length;++o)t.bindAttribLocation(a,i[o],n[o]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var s=t.getProgramInfoLog(a);throw new c(s,\"Error linking program: \"+s)}return a}function s(t){var e=d.get(t);return e||(e=new i(t),d.set(t,e)),e}function l(t,e,r){return s(t).getShaderReference(e,r)}function u(t,e,r,n,i){return s(t).getProgram(e,r,n,i)}r.shader=l,r.program=u;var c=t(\"./GLError\"),h=t(\"gl-format-compiler-error\"),f=\"undefined\"==typeof WeakMap?t(\"weakmap-shim\"):WeakMap,d=new f,p=0;n.prototype.dispose=function(){if(0===--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var g=i.prototype;g.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],o=i[e];if(o&&r.isShader(o.shader))o.count+=1;else{var s=a(r,t,e);o=i[e]=new n(p++,e,t,s,[],1,this)}return o},g.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(\":\"),n.join(\":\")].join(\"@\"),a=this.programs[i];return a&&this.gl.isProgram(a)||(this.programs[i]=a=o(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a}},{\"./GLError\":181,\"gl-format-compiler-error\":136,\"weakmap-shim\":517}],187:[function(t,e,r){\"use strict\";function n(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-(1/0),-(1/0)],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}function i(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function a(t,e){return t.x-e.x}function o(t){var e=t.gl,r=s(e,[e.drawingBufferWidth,e.drawingBufferHeight]),i=new n(e,r);return i.grid=l(i),i.text=u(i),i.line=c(i),i.box=h(i),i.update(t),i}e.exports=o;var s=t(\"gl-select-static\"),l=t(\"./lib/grid\"),u=t(\"./lib/text\"),c=t(\"./lib/line\"),h=t(\"./lib/box\"),f=n.prototype;f.setDirty=function(){this.dirty=this.pickDirty=!0},f.setOverlayDirty=function(){this.dirty=!0},f.nextDepthValue=function(){return this._depthCounter++/65536},f.draw=function(){return function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var u=this.borderColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT),t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var c=this.backgroundColor;\nt.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var h=this.zeroLineEnable,f=this.zeroLineColor,d=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var p=0;p<2;++p)if(h[p]&&n[p]<=0&&n[p+2]>=0){var g=e[p]-n[p]*(e[p+2]-e[p])/(n[p+2]-n[p]);0===p?o.drawLine(g,e[1],g,e[3],d[p],f[p]):o.drawLine(e[0],g,e[2],g,d[p],f[p])}}for(var p=0;p<l.length;++p)l[p].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var m=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;m[1]&&o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind();for(var p=0;p<2;++p)s.drawTicks(p);this.titleEnable&&s.drawTitle();for(var x=this.overlays,p=0;p<x.length;++p)x[p].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}}}(),f.drawPick=function(){return function(){if(!this.static){var t=this.pickBuffer;this.gl;this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}}}(),f.pick=function(){return function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),u=this.objects,c=0;c<u.length;++c){var h=u[c].pick(a,o,l);if(h)return h}return null}}}(),f.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},f.setDataBox=function(t){var e=this.dataBox,r=e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3];r&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},f.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},f.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,o=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/o,10,10/o]),this.borderColor=(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=i(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=i(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=i(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!(\"titleEnable\"in t&&!t.titleEnable),this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=i(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=i(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=i(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var s=t.ticks||[[],[]],l=this._tickBounds;l[0]=l[1]=1/0,l[2]=l[3]=-(1/0);for(var u=0;u<2;++u){var c=s[u].slice(0);0!==c.length&&(c.sort(a),l[u]=Math.min(l[u],c[0].x),l[u+2]=Math.max(l[u+2],c[c.length-1].x))}this.grid.update({bounds:l,ticks:s}),this.text.update({bounds:l,ticks:s,labels:t.labels||[\"x\",\"y\"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[\"sans-serif\",\"sans-serif\"],title:t.title||\"\",titleSize:t.titleSize||18,titleFont:t.titleFont||\"sans-serif\"}),this.static=!!t.static,this.setDirty()},f.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(var t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},f.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},f.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},f.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},f.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{\"./lib/box\":174,\"./lib/grid\":175,\"./lib/line\":176,\"./lib/text\":178,\"gl-select-static\":219}],188:[function(t,e,r){var n=t(\"gl-shader\"),i=\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n  uv = position;\\n  gl_Position = vec4(position, 0, 1);\\n}\",a=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n  gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\";e.exports=function(t){return n(t,i,a,null,[{name:\"position\",type:\"vec2\"}])}},{\"gl-shader\":220}],189:[function(t,e,r){\"use strict\";function n(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function i(t,e){var r=null;try{r=t.getContext(\"webgl\",e),r||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}function a(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){var r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function o(t){return\"boolean\"!=typeof t||t}function s(t){function e(){if(!_&&H.autoResize){var t=w.parentNode,e=1,r=1;t&&t!==document.body?(e=t.clientWidth,r=t.clientHeight):(e=window.innerWidth,r=window.innerHeight);var n=0|Math.ceil(e*H.pixelRatio),i=0|Math.ceil(r*H.pixelRatio);if(n!==w.width||i!==w.height){w.width=n,w.height=i;var a=w.style;a.position=a.position||\"absolute\",a.left=\"0px\",a.top=\"0px\",a.width=e+\"px\",a.height=r+\"px\",j=!0}}}function r(){for(var t=D.length,e=F.length,r=0;r<e;++r)R[r]=0;t:for(var r=0;r<t;++r){var n=D[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(R[a]+i<255){O[r]=a,n.setPickBase(R[a]+1),R[a]+=i;continue t}var o=f(A,q);O[r]=e,F.push(o),R.push(i),n.setPickBase(1),e+=1}else O[r]=-1}for(;e>0&&0===R[e-1];)R.pop(),F.pop().dispose()}function s(){return!!H.contextLost||void(A.isContextLost()&&(H.contextLost=!0,H.mouseListener.enabled=!1,H.selection.object=null,H.oncontextloss&&H.oncontextloss()))}function y(){if(!s()){A.colorMask(!0,!0,!0,!0),A.depthMask(!0),A.disable(A.BLEND),A.enable(A.DEPTH_TEST);for(var t=D.length,e=F.length,r=0;r<e;++r){var n=F[r];n.shape=G,n.begin();for(var i=0;i<t;++i)if(O[i]===r){var a=D[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(V))}n.end()}}}function x(){if(!s()){e();var t=H.camera.tick();V.view=H.camera.matrix,j=j||t,N=N||t,C.pixelRatio=H.pixelRatio,P.pixelRatio=H.pixelRatio;var r=D.length,n=W[0],i=W[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-(1/0);for(var o=0;o<r;++o){var l=D[o];l.pixelRatio=H.pixelRatio,l.axes=H.axes,j=j||!!l.dirty,N=N||!!l.dirty;var u=l.bounds;if(u)for(var h=u[0],f=u[1],d=0;d<3;++d)n[d]=Math.min(n[d],h[d]),i[d]=Math.max(i[d],f[d])}var g=H.bounds;if(H.autoBounds)for(var d=0;d<3;++d){if(i[d]<n[d])n[d]=-1,i[d]=1;else{n[d]===i[d]&&(n[d]-=1,i[d]+=1);var v=.05*(i[d]-n[d]);n[d]=n[d]-v,i[d]=i[d]+v}g[0][d]=n[d],g[1][d]=i[d]}for(var x=!1,d=0;d<3;++d)x=x||Z[0][d]!==g[0][d]||Z[1][d]!==g[1][d],Z[0][d]=g[0][d],Z[1][d]=g[1][d];if(x){for(var b=[0,0,0],o=0;o<3;++o)b[o]=a((g[1][o]-g[0][o])/10);C.autoTicks?C.update({bounds:g,tickSpacing:b}):C.update({bounds:g})}N=N||x,j=j||x;var _=A.drawingBufferWidth,w=A.drawingBufferHeight;q[0]=_,q[1]=w,G[0]=0|Math.max(_/H.pixelRatio,1),G[1]=0|Math.max(w/H.pixelRatio,1),m(B,H.fovy,_/w,H.zNear,H.zFar);for(var o=0;o<16;++o)U[o]=0;U[15]=1;for(var M=0,o=0;o<3;++o)M=Math.max(M,g[1][o]-g[0][o]);for(var o=0;o<3;++o)H.autoScale?U[5*o]=H.aspect[o]/(g[1][o]-g[0][o]):U[5*o]=1/M,H.autoCenter&&(U[12+o]=.5*-U[5*o]*(g[0][o]+g[1][o]));for(var o=0;o<r;++o){var l=D[o];l.axesBounds=g,H.clipToBounds&&(l.clipBounds=g)}if(T.object&&(H.snapToData?P.position=T.dataCoordinate:P.position=T.dataPosition,P.bounds=g),N&&(N=!1,y()),j){H.axesPixels=c(H.axes,V,_,w),H.onrender&&H.onrender(),A.bindFramebuffer(A.FRAMEBUFFER,null),A.viewport(0,0,_,w);var k=H.clearColor;A.clearColor(k[0],k[1],k[2],k[3]),A.clear(A.COLOR_BUFFER_BIT|A.DEPTH_BUFFER_BIT),A.depthMask(!0),A.colorMask(!0,!0,!0,!0),A.enable(A.DEPTH_TEST),A.depthFunc(A.LEQUAL),A.disable(A.BLEND),A.disable(A.CULL_FACE);var L=!1;C.enable&&(L=L||C.isTransparent(),C.draw(V)),P.axes=C,T.object&&P.draw(V),A.disable(A.CULL_FACE);for(var o=0;o<r;++o){var l=D[o];l.axes=C,l.pixelRatio=H.pixelRatio,l.isOpaque&&l.isOpaque()&&l.draw(V),l.isTransparent&&l.isTransparent()&&(L=!0)}if(L){E.shape=q,E.bind(),A.clear(A.DEPTH_BUFFER_BIT),A.colorMask(!1,!1,!1,!1),A.depthMask(!0),A.depthFunc(A.LESS),C.enable&&C.isTransparent()&&C.drawTransparent(V);for(var o=0;o<r;++o){var l=D[o];l.isOpaque&&l.isOpaque()&&l.draw(V)}A.enable(A.BLEND),A.blendEquation(A.FUNC_ADD),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.colorMask(!0,!0,!0,!0),A.depthMask(!1),A.clearColor(0,0,0,0),A.clear(A.COLOR_BUFFER_BIT),C.isTransparent()&&C.drawTransparent(V);for(var o=0;o<r;++o){var l=D[o];l.isTransparent&&l.isTransparent()&&l.drawTransparent(V)}A.bindFramebuffer(A.FRAMEBUFFER,null),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.disable(A.DEPTH_TEST),S.bind(),E.color[0].bind(0),S.uniforms.accumBuffer=0,p(A),A.disable(A.BLEND)}j=!1;for(var o=0;o<r;++o)D[o].dirty=!1}}}function b(){_||H.contextLost||(requestAnimationFrame(b),x())}t=t||{};var _=!1,w=(t.pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!w)if(w=document.createElement(\"canvas\"),t.container){var M=t.container;M.appendChild(w)}else document.body.appendChild(w);var A=t.gl;if(A||(A=i(w,t.glOptions||{premultipliedAlpha:!0,antialias:!0})),!A)throw new Error(\"webgl not supported\");var k=t.bounds||[[-10,-10,-10],[10,10,10]],T=new n,E=d(A,[A.drawingBufferWidth,A.drawingBufferHeight],{preferFloat:!0}),S=v(A),L=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\"turntable\"},z=t.axes||{},C=u(A,z);C.enable=!z.disable;var I=t.spikes||{},P=h(A,I),D=[],O=[],R=[],F=[],j=!0,N=!0,B=new Array(16),U=new Array(16),V={view:null,projection:B,model:U},N=!0,q=[A.drawingBufferWidth,A.drawingBufferHeight],H={gl:A,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:w,selection:T,camera:l(w,L),axes:C,axesPixels:null,spikes:P,bounds:k,objects:D,shape:q,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:o(t.autoResize),autoBounds:o(t.autoBounds),autoScale:!!t.autoScale,autoCenter:o(t.autoCenter),clipToBounds:o(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:V,oncontextloss:null,mouseListener:null},G=[A.drawingBufferWidth/H.pixelRatio|0,A.drawingBufferHeight/H.pixelRatio|0];H.autoResize&&e(),window.addEventListener(\"resize\",e),H.update=function(t){_||(t=t||{},j=!0,N=!0)},H.add=function(t){_||(t.axes=C,D.push(t),O.push(-1),j=!0,N=!0,r())},H.remove=function(t){if(!_){var e=D.indexOf(t);e<0||(D.splice(e,1),O.pop(),j=!0,N=!0,r())}},H.dispose=function(){if(!_&&(_=!0,window.removeEventListener(\"resize\",e),w.removeEventListener(\"webglcontextlost\",s),H.mouseListener.enabled=!1,!H.contextLost)){C.dispose(),P.dispose();for(var t=0;t<D.length;++t)D[t].dispose();E.dispose();for(var t=0;t<F.length;++t)F[t].dispose();S.dispose(),A=null,C=null,P=null,D=[]}};var X=!1,Y=0;H.mouseListener=g(w,function(t,e,r){if(!_){var n=F.length,i=D.length,a=T.object;T.distance=1/0,T.mouse[0]=e,T.mouse[1]=r,T.object=null,T.screen=null,T.dataCoordinate=T.dataPosition=null;var o=!1;if(t&&Y)X=!0;else{X&&(N=!0),X=!1;for(var s=0;s<n;++s){var l=F[s].query(e,G[1]-r-1,H.pickRadius);if(l){if(l.distance>T.distance)continue;for(var u=0;u<i;++u){var c=D[u];if(O[u]===s){var h=c.pick(l);h&&(T.buttons=t,T.screen=l.coord,T.distance=l.distance,T.object=c,T.index=h.distance,T.dataPosition=h.position,T.dataCoordinate=h.dataCoordinate,T.data=h,o=!0)}}}}}a&&a!==T.object&&(a.highlight&&a.highlight(null),j=!0),T.object&&(T.object.highlight&&T.object.highlight(T.data),j=!0),o=o||T.object!==a,o&&H.onselect&&H.onselect(T),1&t&&!(1&Y)&&H.onclick&&H.onclick(T),Y=t}}),w.addEventListener(\"webglcontextlost\",s);var W=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],Z=[W[0].slice(),W[1].slice()];return b(),H.redraw=function(){_||(j=!0,x())},H}e.exports=s;var l=t(\"3d-view-controls\"),u=t(\"gl-axes3d\"),c=t(\"gl-axes3d/properties\"),h=t(\"gl-spikes3d\"),f=t(\"gl-select-static\"),d=t(\"gl-fbo\"),p=t(\"a-big-triangle\"),g=t(\"mouse-change\"),m=t(\"gl-mat4/perspective\"),v=t(\"./lib/shader\")},{\"./lib/shader\":188,\"3d-view-controls\":26,\"a-big-triangle\":28,\"gl-axes3d\":120,\"gl-axes3d/properties\":127,\"gl-fbo\":135,\"gl-mat4/perspective\":152,\"gl-select-static\":219,\"gl-spikes3d\":229,\"mouse-change\":413}],190:[function(t,e,r){r.pointVertex=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform float pointCloud;\\n\\nhighp float rand(vec2 co) {\\n  highp float a = 12.9898;\\n  highp float b = 78.233;\\n  highp float c = 43758.5453;\\n  highp float d = dot(co.xy, vec2(a, b));\\n  highp float e = mod(d, 3.14);\\n  return fract(sin(e) * c);\\n}\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n    // if we don't jitter the point size a bit, overall point cloud\\n    // saturation 'jumps' on zooming, which is disturbing and confusing\\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    // get the same square surface as circle would be\\n    gl_PointSize *= 0.886;\\n  }\\n}\",r.pointFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\nuniform float pointCloud;\\n\\nvoid main() {\\n  float radius;\\n  vec4 baseColor;\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    if(centerFraction == 1.0) {\\n      gl_FragColor = color;\\n    } else {\\n      gl_FragColor = mix(borderColor, color, centerFraction);\\n    }\\n  } else {\\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n    if(radius > 1.0) {\\n      discard;\\n    }\\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n  }\\n}\\n\",r.pickVertex=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n  gl_PointSize = pointSize;\\n\\n  vec4 id = pickId + pickOffset;\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  fragId = id;\\n}\\n\",r.pickFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  gl_FragColor = fragId / 255.0;\\n}\\n\"},{}],191:[function(t,e,r){arguments[4][180][0].apply(r,arguments)},{\"./lib/GLError\":192,\"./lib/create-attributes\":193,\"./lib/create-uniforms\":194,\"./lib/reflect\":195,\"./lib/runtime-reflect\":196,\"./lib/shader-cache\":197,dup:180}],192:[function(t,e,r){arguments[4][181][0].apply(r,arguments)},{dup:181}],193:[function(t,e,r){arguments[4][182][0].apply(r,arguments)},{\"./GLError\":192,dup:182}],194:[function(t,e,r){arguments[4][183][0].apply(r,arguments)},{\"./GLError\":192,\"./reflect\":195,dup:183}],195:[function(t,e,r){arguments[4][184][0].apply(r,arguments)},{dup:184}],196:[function(t,e,r){arguments[4][185][0].apply(r,arguments)},{dup:185}],197:[function(t,e,r){arguments[4][186][0].apply(r,arguments)},{\"./GLError\":192,dup:186,\"gl-format-compiler-error\":136,\"weakmap-shim\":517}],198:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}function i(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}function a(t,e){var r=t.gl,i=s(r),a=s(r),l=o(r,u.pointVertex,u.pointFragment),c=o(r,u.pickVertex,u.pickFragment),h=new n(t,i,a,l,c);return h.update(e),t.addObject(h),h}var o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"typedarray-pool\"),u=t(\"./lib/shader\");e.exports=a;var c=n.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){function e(e,r){return e in t?t[e]:r}var r;t=t||{},this.sizeMin=e(\"sizeMin\",.5),this.sizeMax=e(\"sizeMax\",20),this.color=e(\"color\",[1,0,0,1]).slice(),this.areaRatio=e(\"areaRatio\",1),this.borderColor=e(\"borderColor\",[0,0,0,1]).slice(),this.blend=e(\"blend\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,o=t.positions,s=i?o:l.mallocFloat32(o.length),u=a?t.idToIndex:l.mallocInt32(n);if(i||s.set(o),!a)for(s.set(o),r=0;r<n;r++)u[r]=r;this.points=o,this.offsetBuffer.update(s),this.pickBuffer.update(u),i||l.free(s),a||l.free(u),this.pointCount=n,this.pickOffset=0},c.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,a=n?this.pickShader:this.shader,o=this.plot.gl,s=this.plot.dataBox;if(0===this.pointCount)return r;var l=s[2]-s[0],u=s[3]-s[1],c=i(this.points,s),h=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(c,.33333)));t[0]=2/l,t[4]=2/u,t[6]=-2*s[0]/l-1,t[7]=-2*s[1]/u-1,this.offsetBuffer.bind(),a.bind(),a.attributes.position.pointer(),a.uniforms.matrix=t,a.uniforms.color=this.color,a.uniforms.borderColor=this.borderColor,a.uniforms.pointCloud=h<5,a.uniforms.pointSize=h,a.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&&(e[0]=255&r,e[1]=r>>8&255,e[2]=r>>16&255,e[3]=r>>24&255,this.pickBuffer.bind(),a.attributes.pickId.pointer(o.UNSIGNED_BYTE),a.uniforms.pickOffset=e,this.pickOffset=r);var f=o.getParameter(o.BLEND),d=o.getParameter(o.DITHER);return f&&!this.blend&&o.disable(o.BLEND),d&&o.disable(o.DITHER),o.drawArrays(o.POINTS,0,this.pointCount),f&&!this.blend&&o.enable(o.BLEND),d&&o.enable(o.DITHER),r+this.pointCount}}(),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\"./lib/shader\":190,\"gl-buffer\":128,\"gl-shader\":191,\"typedarray-pool\":496}],199:[function(t,e,r){function n(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],d=r[0],p=r[1],g=r[2],m=r[3];return a=u*d+c*p+h*g+f*m,a<0&&(a=-a,d=-d,p=-p,g=-g,m=-m),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*h+l*g,t[3]=s*f+l*m,t}e.exports=n},{}],200:[function(t,e,r){\"use strict\";e.exports={vertex:\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 positionHi, positionLo;\\nattribute vec2 offset;\\nattribute vec4 color;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo, pixelScale;\\n\\nvarying vec4 fragColor;\\n\\n\\nvec4 computePosition_1_0(vec2 posHi, vec2 posLo, vec2 scHi, vec2 scLo, vec2 trHi, vec2 trLo, vec2 screenScale, vec2 screenOffset) {\\n  return vec4((posHi + trHi) * scHi\\n            + (posLo + trLo) * scHi\\n            + (posHi + trHi) * scLo\\n            + (posLo + trLo) * scLo\\n            + screenScale * screenOffset, 0, 1);\\n}\\n\\nvoid main() {\\n  fragColor = color;\\n\\n  gl_Position = computePosition_1_0(\\n    positionHi, positionLo,\\n    scaleHi, scaleLo,\\n    translateHi, translateLo,\\n    pixelScale, offset);\\n}\\n\",fragment:\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\",pickVertex:\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 positionHi, positionLo;\\nattribute vec2 offset;\\nattribute vec4 id;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo, pixelScale;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragColor;\\n\\n\\nvec4 computePosition_1_0(vec2 posHi, vec2 posLo, vec2 scHi, vec2 scLo, vec2 trHi, vec2 trLo, vec2 screenScale, vec2 screenOffset) {\\n  return vec4((posHi + trHi) * scHi\\n            + (posLo + trLo) * scHi\\n            + (posHi + trHi) * scLo\\n            + (posLo + trLo) * scLo\\n            + screenScale * screenOffset, 0, 1);\\n}\\n\\nvoid main() {\\n  vec4 fragId = id + pickOffset;\\n\\n  fragId.y += floor(fragId.x / 256.0);\\n  fragId.x -= floor(fragId.x / 256.0) * 256.0;\\n\\n  fragId.z += floor(fragId.y / 256.0);\\n  fragId.y -= floor(fragId.y / 256.0) * 256.0;\\n\\n  fragId.w += floor(fragId.z / 256.0);\\n  fragId.z -= floor(fragId.z / 256.0) * 256.0;\\n\\n  fragColor = fragId / 255.0;\\n\\n  gl_Position = computePosition_1_0(\\n    positionHi, positionLo,\\n    scaleHi, scaleLo,\\n    translateHi, translateLo,\\n    pixelScale, offset);\\n}\\n\",pickFragment:\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\\n\"}},{}],201:[function(t,e,r){arguments[4][180][0].apply(r,arguments)},{\"./lib/GLError\":202,\"./lib/create-attributes\":203,\"./lib/create-uniforms\":204,\"./lib/reflect\":205,\"./lib/runtime-reflect\":206,\"./lib/shader-cache\":207,dup:180}],202:[function(t,e,r){arguments[4][181][0].apply(r,arguments)},{dup:181}],203:[function(t,e,r){arguments[4][182][0].apply(r,arguments)},{\"./GLError\":202,dup:182}],204:[function(t,e,r){arguments[4][183][0].apply(r,arguments)},{\"./GLError\":202,\"./reflect\":205,dup:183}],205:[function(t,e,r){arguments[4][184][0].apply(r,arguments)},{dup:184}],206:[function(t,e,r){arguments[4][185][0].apply(r,arguments)},{dup:185}],207:[function(t,e,r){arguments[4][186][0].apply(r,arguments)},{\"./GLError\":202,dup:186,\"gl-format-compiler-error\":136,\"weakmap-shim\":517}],208:[function(t,e,r){\"use strict\";function n(t){if(t in f)return f[t];var e=c(t,{polygons:!0,font:\"sans-serif\",textAlign:\"left\",textBaseline:\"alphabetic\"}),r=[],n=[];e.forEach(function(t){t.forEach(function(t){for(var e=0;e<t.length;++e){var i=t[(e+t.length-1)%t.length],a=t[e],o=t[(e+1)%t.length],s=t[(e+2)%t.length],l=a[0]-i[0],u=a[1]-i[1],c=Math.sqrt(l*l+u*u);l/=c,u/=c,r.push(i[0],i[1]+1.4),n.push(u,-l),r.push(i[0],i[1]+1.4),n.push(-u,l),r.push(a[0],a[1]+1.4),n.push(-u,l),r.push(a[0],a[1]+1.4),n.push(-u,l),r.push(i[0],i[1]+1.4),n.push(u,-l),r.push(a[0],a[1]+1.4),n.push(u,-l);var h=s[0]-o[0],f=s[1]-o[1],d=Math.sqrt(h*h+f*f);h/=d,f/=d,r.push(a[0],a[1]+1.4),n.push(u,-l),r.push(a[0],a[1]+1.4),n.push(-u,l),r.push(o[0],o[1]+1.4),n.push(-f,h),r.push(o[0],o[1]+1.4),n.push(-f,h),r.push(a[0],a[1]+1.4),n.push(f,-h),r.push(o[0],o[1]+1.4),n.push(f,-h)}})});for(var i=[1/0,1/0,-(1/0),-(1/0)],a=0;a<r.length;a+=2)for(var o=0;o<2;++o)i[o]=Math.min(i[o],r[a+o]),i[2+o]=Math.max(i[2+o],r[a+o]);return f[t]={coords:r,normals:n,bounds:i}}function i(t,e,r,n,i,a,o,s){this.plot=t,this.shader=e,this.pickShader=r,this.posHiBuffer=n,this.posLoBuffer=i,this.offsetBuffer=a,this.colorBuffer=o,this.idBuffer=s,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.numPoints=0,this.numVertices=0,this.pickOffset=0,this.points=null}function a(t,e){var r=t.gl,n=o(r,h.vertex,h.fragment),a=o(r,h.pickVertex,h.pickFragment),l=s(r),u=s(r),c=s(r),f=s(r),d=s(r),p=new i(t,n,a,l,u,c,f,d);return p.update(e),t.addObject(p),p}e.exports=a;var o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"text-cache\"),u=t(\"typedarray-pool\"),c=t(\"vectorize-text\"),h=t(\"./lib/shaders\"),f={},d=i.prototype;!function(){function t(){var t=this.plot,o=this.bounds,s=t.viewBox,l=t.dataBox,u=t.pixelRatio,c=o[2]-o[0],h=o[3]-o[1],f=l[2]-l[0],d=l[3]-l[1],p=2*c/f,g=2*h/d,m=(o[0]-l[0]-.5*f)/c,v=(o[1]-l[1]-.5*d)/h;e[0]=p,r[0]=p-e[0],e[1]=g,r[1]=g-e[1],n[0]=m,i[0]=m-n[0],n[1]=v,i[1]=v-n[1];var y=s[2]-s[0],x=s[3]-s[1];a[0]=2*u/y,a[1]=2*u/x}var e=new Float32Array([0,0]),r=new Float32Array([0,0]),n=new Float32Array([0,0]),i=new Float32Array([0,0]),a=[0,0],o=[0,0,0,0];d.drawPick=function(s){var l=void 0!==s,u=this.plot,c=this.numVertices;if(!c)return s;t.call(this);var h=u.gl,f=l?this.pickShader:this.shader;if(f.bind(),l){this.pickOffset=s;for(var d=0;d<4;++d)o[d]=s>>8*d&255;f.uniforms.pickOffset=o,this.idBuffer.bind(),f.attributes.id.pointer(h.UNSIGNED_BYTE,!1)}else this.colorBuffer.bind(),f.attributes.color.pointer(h.UNSIGNED_BYTE,!0);return this.posHiBuffer.bind(),f.attributes.positionHi.pointer(),this.posLoBuffer.bind(),f.attributes.positionLo.pointer(),this.offsetBuffer.bind(),f.attributes.offset.pointer(),f.uniforms.pixelScale=a,f.uniforms.scaleHi=e,f.uniforms.scaleLo=r,f.uniforms.translateHi=n,f.uniforms.translateLo=i,h.drawArrays(h.TRIANGLES,0,c),l?s+this.numPoints:void 0}}(),d.draw=d.drawPick,d.pick=function(t,e,r){var n=this.pickOffset,i=this.numPoints;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}},d.update=function(t){t=t||{};var e,r,i=t.positions||[],a=t.colors||[],o=t.glyphs||[],s=t.sizes||[],c=t.borderWidths||[],h=t.borderColors||[];this.points=i;var f,d,p=this.bounds=[1/0,1/0,-(1/0),-(1/0)],g=0,m=[],v=[];for(e=0;e<o.length;++e)for(f=l(\"sans-serif\",o[e]),d=n(o[e]),m.push(f),v.push(d),g+=f.data.length+d.coords.length>>1,r=0;r<2;++r)p[r]=Math.min(p[r],i[2*e+r]),p[2+r]=Math.max(p[2+r],i[2*e+r]);p[0]===p[2]&&(p[2]+=1),p[3]===p[1]&&(p[3]+=1);var y=1/(p[2]-p[0]),x=1/(p[3]-p[1]),b=p[0],_=p[1],w=u.mallocFloat64(2*g),M=u.mallocFloat32(2*g),A=u.mallocFloat32(2*g),k=u.mallocFloat32(2*g),T=u.mallocUint8(4*g),E=u.mallocUint32(g),S=0;for(e=0;e<o.length;++e){f=m[e],d=v[e];var L=y*(i[2*e]-b),z=x*(i[2*e+1]-_),C=s[e],I=255*a[4*e],P=255*a[4*e+1],D=255*a[4*e+2],O=255*a[4*e+3],R=.5*(d.bounds[0]+d.bounds[2]),F=.5*(d.bounds[1]+d.bounds[3]);for(r=0;r<f.data.length;r+=2)w[2*S]=L,w[2*S+1]=z,k[2*S]=-C*(f.data[r]-R),k[2*S+1]=-C*(f.data[r+1]-F),T[4*S]=I,T[4*S+1]=P,T[4*S+2]=D,T[4*S+3]=O,E[S]=e,S+=1;var j=c[e];for(I=255*h[4*e],P=255*h[4*e+1],D=255*h[4*e+2],O=255*h[4*e+3],r=0;r<d.coords.length;r+=2)w[2*S]=L,w[2*S+1]=z,k[2*S]=-(C*(d.coords[r]-R)+j*d.normals[r]),k[2*S+1]=-(C*(d.coords[r+1]-F)+j*d.normals[r+1]),T[4*S]=I,T[4*S+1]=P,T[4*S+2]=D,T[4*S+3]=O,E[S]=e,S+=1}for(this.numPoints=o.length,this.numVertices=g,M.set(w),e=0;e<w.length;e++)A[e]=w[e]-M[e];this.posHiBuffer.update(M),this.posLoBuffer.update(A),this.offsetBuffer.update(k),this.colorBuffer.update(T),this.idBuffer.update(E),u.free(w),u.free(M),u.free(A),u.free(k),u.free(T),u.free(E)},d.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.posHiBuffer.dispose(),this.posLoBuffer.dispose(),this.offsetBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{\"./lib/shaders\":200,\"gl-buffer\":128,\"gl-shader\":201,\"text-cache\":488,\"typedarray-pool\":496,\"vectorize-text\":509}],209:[function(t,e,r){r.pointVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 positionHi, positionLo;\\nattribute float weight;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\nuniform float pointSize, useWeight;\\n\\nvarying float fragWeight;\\n\\n\\nvec4 pfx_1_0(vec2 scaleHi, vec2 scaleLo, vec2 translateHi, vec2 translateLo, vec2 positionHi, vec2 positionLo) {\\n  return vec4((positionHi + translateHi) * scaleHi\\n            + (positionLo + translateLo) * scaleHi\\n            + (positionHi + translateHi) * scaleLo\\n            + (positionLo + translateLo) * scaleLo, 0.0, 1.0);\\n}\\n\\nvoid main() {\\n  gl_Position = pfx_1_0(scaleHi, scaleLo, translateHi, translateLo, positionHi, positionLo);\\n  gl_PointSize = pointSize;\\n  fragWeight = mix(1.0, weight, useWeight);\\n}\",r.pointFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\n\\nvarying float fragWeight;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\\n  float alpha = 1.0 - pow(1.0 - baseColor.a, fragWeight);\\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\\n}\",r.pickVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nvec4 pfx_1_0(vec2 scaleHi, vec2 scaleLo, vec2 translateHi, vec2 translateLo, vec2 positionHi, vec2 positionLo) {\\n  return vec4((positionHi + translateHi) * scaleHi\\n            + (positionLo + translateLo) * scaleHi\\n            + (positionHi + translateHi) * scaleLo\\n            + (positionLo + translateLo) * scaleLo, 0.0, 1.0);\\n}\\n\\nattribute vec2 positionHi, positionLo;\\nattribute vec4 pickId;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n\\n  vec4 id = pickId + pickOffset;\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  gl_Position = pfx_1_0(scaleHi, scaleLo, translateHi, translateLo, positionHi, positionLo);\\n  gl_PointSize = pointSize;\\n  fragId = id;\\n}\",r.pickFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  gl_FragColor = fragId / 255.0;\\n}\"},{}],210:[function(t,e,r){arguments[4][72][0].apply(r,arguments)},{dup:72}],211:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){a<=4*f?i(0,a-1,t,e,r,n):h(0,a-1,t,e,r,n)}function i(t,e,r,n,i,a){for(var o=t+1;o<=e;++o){for(var s=r[o],l=n[2*o],u=n[2*o+1],c=i[o],h=a[o],f=o;f>t;){var d=r[f-1],p=n[2*(f-1)];if((d-s||l-p)>=0)break;r[f]=d,n[2*f]=p,n[2*f+1]=n[2*f-1],i[f]=i[f-1],a[f]=a[f-1],f-=1}r[f]=s,n[2*f]=l,n[2*f+1]=u,i[f]=c,a[f]=h}}function a(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],u=i[t],c=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=u,a[e]=c}function o(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function s(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],u=i[2*t+1],c=a[t],h=o[t];\nn[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=u,a[r]=c,o[r]=h}function l(t,e,r,n,i,a,o,s,l,u,c){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],u[t]=u[e],c[t]=c[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,u[e]=a,c[e]=o}function u(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])<0}function c(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])<0}function h(t,e,r,n,d,p){var g=(e-t+1)/6|0,m=t+g,v=e-g,y=t+e>>1,x=y-g,b=y+g,_=m,w=x,M=y,A=b,k=v,T=t+1,E=e-1,S=0;u(_,w,r,n,d,p)&&(S=_,_=w,w=S),u(A,k,r,n,d,p)&&(S=A,A=k,k=S),u(_,M,r,n,d,p)&&(S=_,_=M,M=S),u(w,M,r,n,d,p)&&(S=w,w=M,M=S),u(_,A,r,n,d,p)&&(S=_,_=A,A=S),u(M,A,r,n,d,p)&&(S=M,M=A,A=S),u(w,k,r,n,d,p)&&(S=w,w=k,k=S),u(w,M,r,n,d,p)&&(S=w,w=M,M=S),u(A,k,r,n,d,p)&&(S=A,A=k,k=S);var L=r[w],z=n[2*w],C=n[2*w+1],I=d[w],P=p[w],D=r[A],O=n[2*A],R=n[2*A+1],F=d[A],j=p[A],N=_,B=M,U=k,V=m,q=y,H=v,G=r[N],X=r[B],Y=r[U];r[V]=G,r[q]=X,r[H]=Y;for(var W=0;W<2;++W){var Z=n[2*N+W],Q=n[2*B+W],K=n[2*U+W];n[2*V+W]=Z,n[2*q+W]=Q,n[2*H+W]=K}var $=d[N],J=d[B],tt=d[U];d[V]=$,d[q]=J,d[H]=tt;var et=p[N],rt=p[B],nt=p[U];p[V]=et,p[q]=rt,p[H]=nt,o(x,t,r,n,d,p),o(b,e,r,n,d,p);for(var it=T;it<=E;++it)if(c(it,L,z,C,I,r,n,d))it!==T&&a(it,T,r,n,d,p),++T;else if(!c(it,D,O,R,F,r,n,d))for(;;){if(c(E,D,O,R,F,r,n,d)){c(E,L,z,C,I,r,n,d)?(s(it,T,E,r,n,d,p),++T,--E):(a(it,E,r,n,d,p),--E);break}if(--E<it)break}l(t,T-1,L,z,C,I,P,r,n,d,p),l(e,E+1,D,O,R,F,j,r,n,d,p),T-2-t<=f?i(t,T-2,r,n,d,p):h(t,T-2,r,n,d,p),e-(E+2)<=f?i(E+2,e,r,n,d,p):h(E+2,e,r,n,d,p),E-T<=f?i(T,E,r,n,d,p):h(T,E,r,n,d,p)}e.exports=n;var f=32},{}],212:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s){for(var l=r,u=r;u<n;++u){var c=t[2*u],h=t[2*u+1],f=e[u];i<=c&&c<=o&&a<=h&&h<=s&&(u===l?l+=1:(t[2*u]=t[2*l],t[2*u+1]=t[2*l+1],e[u]=e[l],t[2*l]=c,t[2*l+1]=h,e[l]=f,l+=1))}return l}function i(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}function a(t,e,r,a){function l(i,a,o,s,u,c){var h=.5*o,f=s+1,d=u-s;r[_]=d,b[_++]=c;for(var p=0;p<2;++p)for(var g=0;g<2;++g){var m=i+p*h,v=a+g*h,y=n(t,e,f,u,m,v,m+h,v+h);if(y!==f){if(y-f>=Math.max(.9*d,32)){var x=u+s>>>1;l(m,v,h,f,x,c+1),f=x}l(m,v,h,f,y,c+1),f=y}}}var u=t.length>>>1;if(u<1)return[];for(var c=1/0,h=1/0,f=-(1/0),d=-(1/0),p=0;p<u;++p){var g=t[2*p],m=t[2*p+1];c=Math.min(c,g),f=Math.max(f,g),h=Math.min(h,m),d=Math.max(d,m),e[p]=p}c===f&&(f+=1+Math.abs(f)),h===d&&(d+=1+Math.abs(f));var v=1/(f-c),y=1/(d-h),x=Math.max(f-c,d-h);a=a||[0,0,0,0],a[0]=c,a[1]=h,a[2]=f,a[3]=d;var b=o.mallocInt32(u),_=0;l(c,h,x,0,u,0),s(b,t,e,r,u);for(var w=[],M=0,A=u,_=u-1;_>=0;--_){t[2*_]=(t[2*_]-c)*v,t[2*_+1]=(t[2*_+1]-h)*y;var k=b[_];k!==M&&(w.push(new i(x*Math.pow(.5,k),_+1,A-(_+1))),A=_+1,M=k)}return w.push(new i(x*Math.pow(.5,k+1),0,A)),o.free(b),w}var o=t(\"typedarray-pool\"),s=t(\"./lib/sort\");e.exports=a},{\"./lib/sort\":211,\"typedarray-pool\":496}],213:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){this.plot=t,this.positionBufferHi=e,this.positionBufferLo=r,this.pickBuffer=n,this.weightBuffer=i,this.shader=a,this.pickShader=o,this.scales=[],this.size=12,this.borderSize=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.pickOffset=0,this.points=null,this.xCoords=null}function i(t,e){var r=t.gl,i=o(r),s=o(r),l=o(r),u=o(r),h=a(r,c.pointVertex,c.pointFragment),f=a(r,c.pickVertex,c.pickFragment),d=new n(t,i,s,l,u,h,f);return d.update(e),t.addObject(d),d}var a=t(\"gl-shader\"),o=t(\"gl-buffer\"),s=t(\"binary-search-bounds\"),l=t(\"snap-points-2d\"),u=t(\"typedarray-pool\"),c=t(\"./lib/shader\");e.exports=i;var h=n.prototype,f=new Float32Array(2),d=new Float32Array(2),p=new Float32Array(2),g=new Float32Array(2),m=[0,0,0,0];h.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBufferHi.dispose(),this.positionBufferLo.dispose(),this.pickBuffer.dispose(),this.xCoords&&u.free(this.xCoords),this.plot.removeObject(this)},h.update=function(t){function e(e,r){return e in t?t[e]:r}t=t||{},this.size=e(\"size\",12),this.color=e(\"color\",[1,0,0,1]).slice(),this.borderSize=e(\"borderSize\",1),this.borderColor=e(\"borderColor\",[0,0,0,1]).slice(),this.xCoords&&u.free(this.xCoords),this.points=t.positions;var r=this.points.length>>>1,n=u.mallocInt32(r),i=u.mallocFloat32(2*r),a=u.mallocFloat64(2*r);a.set(this.points),this.scales=l(a,n,i,this.bounds);var o=u.mallocFloat64(r),s=u.mallocFloat32(2*r),c=u.mallocFloat32(2*r);s.set(a);for(var h=0,f=0;h<r;h++,f+=2)c[f]=a[f]-s[f],c[f+1]=a[f+1]-s[f+1],o[h]=a[f];this.positionBufferHi.update(s),this.positionBufferLo.update(c),this.pickBuffer.update(n),this.weightBuffer.update(i),u.free(n),u.free(a),u.free(s),u.free(c),u.free(i),this.xCoords=o,this.pointCount=r,this.pickOffset=0},h.draw=function(t){var e=void 0!==t,r=this.plot,n=e?this.pickShader:this.shader,i=this.scales,a=this.positionBufferHi,o=this.positionBufferLo,l=this.pickBuffer,u=this.bounds,c=this.size,h=this.borderSize,v=r.gl,y=e?r.pickPixelRatio:r.pixelRatio,x=r.viewBox,b=r.dataBox;if(0===this.pointCount)return t;var _=u[2]-u[0],w=u[3]-u[1],M=b[2]-b[0],A=b[3]-b[1],k=(x[2]-x[0])*y/r.pixelRatio,T=(x[3]-x[1])*y/r.pixelRatio,E=Math.min(M/k,A/T),S=2*_/M,L=2*w/A;f[0]=S,f[1]=L,d[0]=S-f[0],d[1]=L-f[1];var z=(u[0]-b[0]-.5*M)/_,C=(u[1]-b[1]-.5*A)/w;p[0]=z,p[1]=C,g[0]=z-p[0],g[1]=C-p[1],n.bind(),n.uniforms.scaleHi=f,n.uniforms.scaleLo=d,n.uniforms.translateHi=p,n.uniforms.translateLo=g,n.uniforms.color=this.color,n.uniforms.borderColor=this.borderColor,n.uniforms.pointSize=y*(c+h),n.uniforms.centerFraction=0===this.borderSize?2:c/(c+h+1.25),a.bind(),n.attributes.positionHi.pointer(),o.bind(),n.attributes.positionLo.pointer(),e?(this.pickOffset=t,m[0]=255&t,m[1]=t>>8&255,m[2]=t>>16&255,m[3]=t>>24&255,n.uniforms.pickOffset=m,l.bind(),n.attributes.pickId.pointer(v.UNSIGNED_BYTE)):(n.uniforms.useWeight=1,this.weightBuffer.bind(),n.attributes.weight.pointer());for(var I=this.xCoords,P=(b[0]-u[0]-E*c*y)/_,D=(b[2]-u[0]+E*c*y)/_,O=!0,R=i.length-1;R>=0;R--){var F=i[R];if(!(F.pixelSize<E&&R>1)){var j=F.offset,N=F.count+j,B=s.ge(I,P,j,N-1),U=s.lt(I,D,B,N-1)+1;U>B&&v.drawArrays(v.POINTS,B,U-B),!e&&O&&(O=!1,n.uniforms.useWeight=0)}}return t+this.pointCount},h.drawPick=h.draw,h.pick=function(t,e,r){var n=r-this.pickOffset;return n<0||n>=this.pointCount?null:{object:this,pointId:n,dataCoord:[this.points[2*n],this.points[2*n+1]]}}},{\"./lib/shader\":209,\"binary-search-bounds\":210,\"gl-buffer\":128,\"gl-shader\":220,\"snap-points-2d\":212,\"typedarray-pool\":496}],214:[function(t,e,r){\"use strict\";function n(t,e){var r=a[e];if(r||(r=a[e]={}),t in r)return r[t];for(var n=i(t,{textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),o=i(t,{triangles:!0,textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),s=[[1/0,1/0],[-(1/0),-(1/0)]],l=0;l<n.positions.length;++l)for(var u=n.positions[l],c=0;c<2;++c)s[0][c]=Math.min(s[0][c],u[c]),s[1][c]=Math.max(s[1][c],u[c]);return r[t]=[o,n,s]}var i=t(\"vectorize-text\");e.exports=n;var a={}},{\"vectorize-text\":509}],215:[function(t,e,r){function n(t,e){var r=i(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}var i=t(\"gl-shader\"),a=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0]))   || \\n     any(greaterThan(position, clipBounds[1])) ) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = 1.0;\\n    if(distance(highlightId, id) < 0.0001) {\\n      scale = highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1);\\n    vec4 viewPosition = view * worldPosition;\\n    viewPosition = viewPosition / viewPosition.w;\\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n    \\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\",o=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = pixelRatio;\\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n      scale *= highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1.0);\\n    vec4 viewPosition = view * worldPosition;\\n    vec4 clipPosition = projection * viewPosition;\\n    clipPosition /= clipPosition.w;\\n    \\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\",s=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0]))   ||\\n     any(greaterThan(position, clipBounds[1])) ) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float lscale = pixelRatio * scale;\\n    if(distance(highlightId, id) < 0.0001) {\\n      lscale *= highlightScale;\\n    }\\n\\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = dataPosition;\\n  }\\n}\\n\",l=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\n    discard;\\n  } else {\\n    gl_FragColor = interpColor * opacity;\\n  }\\n}\\n\",u=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\n    discard;\\n  } else {\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\n  }\\n}\",c=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],h={vertex:a,fragment:l,attributes:c},f={vertex:o,fragment:l,attributes:c},d={vertex:s,fragment:l,attributes:c},p={vertex:a,fragment:u,attributes:c},g={vertex:o,fragment:u,attributes:c},m={vertex:s,fragment:u,attributes:c};r.createPerspective=function(t){return n(t,h)},r.createOrtho=function(t){return n(t,f)},r.createProject=function(t){return n(t,d)},r.createPickPerspective=function(t){return n(t,p)},r.createPickOrtho=function(t){return n(t,g)},r.createPickProject=function(t){return n(t,m)}},{\"gl-shader\":220}],216:[function(t,e,r){\"use strict\";function n(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function i(t,e,r,i){return n(i,i,r),n(i,i,e),n(i,i,t)}function a(t,e){this.index=t,this.dataCoordinate=this.position=e}function o(t,e,r,n,i,o,s,l,u,c,h,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=o,this.glyphBuffer=s,this.idBuffer=l,this.vao=u,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=h,this.pickProjectShader=f,this.points=[],this._selectResult=new a(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.dirty=!0}function s(t){return t[0]=t[1]=t[2]=0,t}function l(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function u(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function c(t){for(var e=L,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}function h(t,e,r,n,a){var o,h=e.axesProject,f=e.gl,d=t.uniforms,p=r.model||b,g=r.view||b,m=r.projection||b,y=e.axesBounds,x=c(e.clipBounds);o=e.axes?e.axes.lastCubeProps.axis:[1,1,1],w[0]=2/f.drawingBufferWidth,w[1]=2/f.drawingBufferHeight,t.bind(),d.view=g,d.projection=m,d.screenSize=w,d.highlightId=e.highlightId,d.highlightScale=e.highlightScale,d.clipBounds=x,d.pickGroup=e.pickId/255,d.pixelRatio=e.pixelRatio;for(var _=0;_<3;++_)if(h[_]&&e.projectOpacity[_]<1===n){d.scale=e.projectScale[_],d.opacity=e.projectOpacity[_];for(var L=E,z=0;z<16;++z)L[z]=0;for(var z=0;z<4;++z)L[5*z]=1;L[5*_]=0,o[_]<0?L[12+_]=y[0][_]:L[12+_]=y[1][_],v(L,p,L),d.model=L;var C=(_+1)%3,I=(_+2)%3,P=s(M),D=s(A);P[C]=1,D[I]=1;var O=i(m,g,p,l(k,P)),R=i(m,g,p,l(T,D));if(Math.abs(O[1])>Math.abs(R[1])){var F=O;O=R,R=F,F=P,P=D,D=F;var j=C;C=I,I=j}O[0]<0&&(P[C]=-1),R[1]>0&&(D[I]=-1);for(var N=0,B=0,z=0;z<4;++z)N+=Math.pow(p[4*C+z],2),B+=Math.pow(p[4*I+z],2);P[C]/=Math.sqrt(N),D[I]/=Math.sqrt(B),d.axes[0]=P,d.axes[1]=D,d.fragClipBounds[0]=u(S,x[0],_,-1e8),d.fragClipBounds[1]=u(S,x[1],_,1e8),e.vao.draw(f.TRIANGLES,e.vertexCount),e.lineWidth>0&&(f.lineWidth(e.lineWidth),e.vao.draw(f.LINES,e.lineVertexCount,e.vertexCount))}}function f(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||b,s.view=n.view||b,s.projection=n.projection||b,w[0]=2/o.drawingBufferWidth,w[1]=2/o.drawingBufferHeight,s.screenSize=w,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=I,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}h(e,r,n,i,a),r.vao.unbind()}function d(t){var e=t.gl,r=y.createPerspective(e),n=y.createOrtho(e),i=y.createProject(e),a=y.createPickPerspective(e),s=y.createPickOrtho(e),l=y.createPickProject(e),u=p(e),c=p(e),h=p(e),f=p(e),d=g(e,[{buffer:u,size:3,type:e.FLOAT},{buffer:c,size:4,type:e.FLOAT},{buffer:h,size:2,type:e.FLOAT},{buffer:f,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),m=new o(e,r,n,i,u,c,h,f,d,a,s,l);return m.update(t),m}var p=t(\"gl-buffer\"),g=t(\"gl-vao\"),m=t(\"typedarray-pool\"),v=t(\"gl-mat4/multiply\"),y=t(\"./lib/shaders\"),x=t(\"./lib/glyphs\"),b=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];e.exports=d;var _=o.prototype;_.pickSlots=1,_.setPickBase=function(t){this.pickId=t},_.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},_.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var w=[0,0],M=[0,0,0],A=[0,0,0],k=[0,0,0,1],T=[0,0,0,1],E=b.slice(),S=[0,0,0],L=[[0,0,0],[0,0,0]],z=[-1e8,-1e8,-1e8],C=[1e8,1e8,1e8],I=[z,C];_.draw=function(t){var e=this.useOrtho?this.orthoShader:this.shader;f(e,this.projectShader,this,t,!1,!1)},_.drawTransparent=function(t){var e=this.useOrtho?this.orthoShader:this.shader;f(e,this.projectShader,this,t,!0,!1)},_.drawPick=function(t){var e=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;f(e,this.pickProjectShader,this,t,!1,!0)},_.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(t){if(t=t||{},\"perspective\"in t&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(\"projectOpacity\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{var r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\"opacity\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\"normal\",a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-(1/0),-(1/0),-(1/0)],l=t.glyph,u=t.color,c=t.size,h=t.angle,f=t.lineColor,d=0,p=0,g=0,v=n.length;t:for(var y=0;y<v;++y){for(var b=n[y],_=0;_<3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w;w=Array.isArray(l)?x(l[y],i):l?x(l,i):x(\"\\u25cf\",i);var M=w[0],A=w[1],k=w[2];p+=3*M.cells.length,g+=2*A.edges.length}var T=p+g,E=m.mallocFloat(3*T),S=m.mallocFloat(4*T),L=m.mallocFloat(2*T),z=m.mallocUint32(T),C=[0,a[1]],I=0,P=p,D=[0,0,0,1],O=[0,0,0,1],R=Array.isArray(u)&&Array.isArray(u[0]),F=Array.isArray(f)&&Array.isArray(f[0]);t:for(var y=0;y<v;++y){for(var b=n[y],_=0;_<3;++_){if(isNaN(b[_])||!isFinite(b[_])){d+=1;continue t}s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_])}var w;w=Array.isArray(l)?x(l[y],i):l?x(l,i):x(\"\\u25cf\",i);var M=w[0],A=w[1],k=w[2];if(Array.isArray(u)){var j;if(j=R?u[y]:u,3===j.length){for(var _=0;_<3;++_)D[_]=j[_];D[3]=1}else if(4===j.length)for(var _=0;_<4;++_)D[_]=j[_]}else D[0]=D[1]=D[2]=0,D[3]=1;if(Array.isArray(f)){var j;if(j=F?f[y]:f,3===j.length){for(var _=0;_<3;++_)O[_]=j[_];O[_]=1}else if(4===j.length)for(var _=0;_<4;++_)O[_]=j[_]}else O[0]=O[1]=O[2]=0,O[3]=1;var N=.5;Array.isArray(c)?N=+c[y]:c?N=+c:this.useOrtho&&(N=12);var B=0;Array.isArray(h)?B=+h[y]:h&&(B=+h);for(var U=Math.cos(B),V=Math.sin(B),b=n[y],_=0;_<3;++_)s[_]=Math.max(s[_],b[_]),o[_]=Math.min(o[_],b[_]);a[0]<0?C[0]=a[0]*(1+k[1][0]):a[0]>0&&(C[0]=-a[0]*(1+k[0][0]));for(var q=M.cells,H=M.positions,_=0;_<q.length;++_)for(var G=q[_],X=0;X<3;++X){for(var Y=0;Y<3;++Y)E[3*I+Y]=b[Y];for(var Y=0;Y<4;++Y)S[4*I+Y]=D[Y];z[I]=d;var W=H[G[X]];L[2*I]=N*(U*W[0]-V*W[1]+C[0]),L[2*I+1]=N*(V*W[0]+U*W[1]+C[1]),I+=1}for(var q=A.edges,H=A.positions,_=0;_<q.length;++_)for(var G=q[_],X=0;X<2;++X){for(var Y=0;Y<3;++Y)E[3*P+Y]=b[Y];for(var Y=0;Y<4;++Y)S[4*P+Y]=O[Y];z[P]=d;var W=H[G[X]];L[2*P]=N*(U*W[0]-V*W[1]+C[0]),L[2*P+1]=N*(V*W[0]+U*W[1]+C[1]),P+=1}d+=1}this.vertexCount=p,this.lineVertexCount=g,this.pointBuffer.update(E),this.colorBuffer.update(S),this.glyphBuffer.update(L),this.idBuffer.update(new Uint32Array(z)),m.free(E),m.free(S),m.free(L),m.free(z),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},_.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{\"./lib/glyphs\":214,\"./lib/shaders\":215,\"gl-buffer\":128,\"gl-mat4/multiply\":151,\"gl-vao\":236,\"typedarray-pool\":496}],217:[function(t,e,r){\"use strict\";r.boxVertex=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 vertex;\\n\\nuniform vec2 cornerA, cornerB;\\n\\nvoid main() {\\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\\n}\\n\",r.boxFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"},{}],218:[function(t,e,r){\"use strict\";function n(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-(1/0),-(1/0)],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}function i(t,e){var r=t.gl,i=o(r,[0,0,0,1,1,0,1,1]),l=a(r,s.boxVertex,s.boxFragment),u=new n(t,i,l);return u.update(e),t.addOverlay(u),u}var a=t(\"gl-shader\"),o=t(\"gl-buffer\"),s=t(\"./lib/shaders\");e.exports=i;var l=n.prototype;l.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,u=t.viewBox,c=t.pixelRatio,h=(e[0]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],f=(e[1]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1],d=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],p=(e[3]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1];if(h=Math.max(h,u[0]),f=Math.max(f,u[1]),d=Math.min(d,u[2]),p=Math.min(p,u[3]),!(d<h||p<f)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,i),o.drawBox(0,f,h,p,i),o.drawBox(0,p,g,m,i),o.drawBox(d,f,g,p,i)),this.innerFill&&o.drawBox(h,f,d,p,n),r>0){var v=r*c;o.drawBox(h-v,f-v,d+v,f+v,a),o.drawBox(h-v,p-v,d+v,p+v,a),o.drawBox(h-v,f-v,h+v,p+v,a),o.drawBox(d-v,f-v,d+v,p+v,a)}}}},l.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},l.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\"./lib/shaders\":217,\"gl-buffer\":128,\"gl-shader\":220}],219:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function i(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}function a(t,e){var r=o(t,e),n=s.mallocUint8(e[0]*e[1]*4);return new i(t,r,n)}e.exports=a;var o=t(\"gl-fbo\"),s=t(\"typedarray-pool\"),l=t(\"ndarray\"),u=t(\"bit-twiddle\").nextPow2,c=t(\"cwise/lib/wrapper\")({args:[\"array\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\",args:[],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[]},body:{body:\"{if(_inline_46_arg0_<255||_inline_46_arg1_<255||_inline_46_arg2_<255||_inline_46_arg3_<255){var _inline_46_l=_inline_46_arg4_-_inline_46_arg6_[0],_inline_46_a=_inline_46_arg5_-_inline_46_arg6_[1],_inline_46_f=_inline_46_l*_inline_46_l+_inline_46_a*_inline_46_a;_inline_46_f<this_closestD2&&(this_closestD2=_inline_46_f,this_closestX=_inline_46_arg6_[0],this_closestY=_inline_46_arg6_[1])}}\",args:[{name:\"_inline_46_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg4_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg5_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg6_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[\"_inline_46_a\",\"_inline_46_f\",\"_inline_46_l\"]},post:{body:\"{return[this_closestX,this_closestY,this_closestD2]}\",args:[],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[]},debug:!1,funcName:\"cwise\",blockSize:64}),h=i.prototype;Object.defineProperty(h,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){s.free(this.buffer);for(var n=this.buffer=s.mallocUint8(u(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),h.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},h.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},h.query=function(t,e,r){if(!this.gl)return null;var i=this.fbo.shape.slice();t|=0,e|=0,\"number\"!=typeof r&&(r=1);var a=0|Math.min(Math.max(t-r,0),i[0]),o=0|Math.min(Math.max(t+r,0),i[0]),s=0|Math.min(Math.max(e-r,0),i[1]),u=0|Math.min(Math.max(e+r,0),i[1]);if(o<=a||u<=s)return null;var h=[o-a,u-s],f=l(this.buffer,[h[0],h[1],4],[4,4*i[0],1],4*(a+i[0]*s)),d=c(f.hi(h[0],h[1],1),r,r),p=d[0],g=d[1];if(p<0||Math.pow(this.radius,2)<d[2])return null;var m=f.get(p,g,0),v=f.get(p,g,1),y=f.get(p,g,2),x=f.get(p,g,3);return new n(p+a|0,g+s|0,m,[v,y,x],Math.sqrt(d[2]))},h.dispose=function(){this.gl&&(this.fbo.dispose(),s.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\"bit-twiddle\":54,\"cwise/lib/wrapper\":94,\"gl-fbo\":135,ndarray:427,\"typedarray-pool\":496}],220:[function(t,e,r){\"use strict\";function n(t){this.gl=t,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name<e.name?-1:1}function a(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}var o=t(\"./lib/create-uniforms\"),s=t(\"./lib/create-attributes\"),l=t(\"./lib/reflect\"),u=t(\"./lib/shader-cache\"),c=t(\"./lib/runtime-reflect\"),h=t(\"./lib/GLError\"),f=n.prototype;f.bind=function(){this.program||this._relink(),this.gl.useProgram(this.program)},f.dispose=function(){this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function a(){d.program=u.program(p,d._vref,d._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var f=t;t=f.vertex,e=f.fragment,r=f.uniforms,n=f.attributes}var d=this,p=d.gl,g=d._vref;d._vref=u.shader(p,p.VERTEX_SHADER,t),g&&g.dispose(),d.vertShader=d._vref.shader;var m=this._fref;if(d._fref=u.shader(p,p.FRAGMENT_SHADER,e),m&&m.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new h(y,\"Error linking program:\"+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}n=n.slice(),n.sort(i);for(var x=[],b=[],_=[],w=0;w<n.length;++w){var M=n[w];if(M.type.indexOf(\"mat\")>=0){for(var A=0|M.type.charAt(M.type.length-1),k=new Array(A),T=0;T<A;++T)k[T]=_.length,b.push(M.name+\"[\"+T+\"]\"),\"number\"==typeof M.location?_.push(M.location+T):Array.isArray(M.location)&&M.location.length===A&&\"number\"==typeof M.location[T]?_.push(0|M.location[T]):_.push(-1);x.push({name:M.name,type:M.type,locations:k})}else x.push({name:M.name,type:M.type,locations:[_.length]}),b.push(M.name),\"number\"==typeof M.location?_.push(0|M.location):_.push(-1)}for(var E=0,w=0;w<_.length;++w)if(_[w]<0){for(;_.indexOf(E)>=0;)E+=1;_[w]=E}var S=new Array(r.length);a(),d._relink=a,d.types={uniforms:l(r),attributes:l(n)},d.attributes=s(p,d,x,_),Object.defineProperty(d,\"uniforms\",o(p,d,r,S))},e.exports=a},{\"./lib/GLError\":221,\"./lib/create-attributes\":222,\"./lib/create-uniforms\":223,\"./lib/reflect\":224,\"./lib/runtime-reflect\":225,\"./lib/shader-cache\":226}],221:[function(t,e,r){arguments[4][181][0].apply(r,arguments)},{dup:181}],222:[function(t,e,r){arguments[4][182][0].apply(r,arguments)},{\"./GLError\":221,dup:182}],223:[function(t,e,r){arguments[4][183][0].apply(r,arguments)},{\"./GLError\":221,\"./reflect\":224,dup:183}],224:[function(t,e,r){arguments[4][184][0].apply(r,arguments)},{dup:184}],225:[function(t,e,r){arguments[4][185][0].apply(r,arguments)},{dup:185}],226:[function(t,e,r){arguments[4][186][0].apply(r,arguments)},{\"./GLError\":221,dup:186,\"gl-format-compiler-error\":136,\"weakmap-shim\":517}],227:[function(t,e,r){\"use strict\";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}function i(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r}e.exports=i;var a=n.prototype;a.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(t){return t.slice()}),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},a.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),u=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,u,s[0],u,e[0],r[0]),t[1]&&a.drawLine(l,u,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,u,s[2],u,e[2],r[2]),t[3]&&a.drawLine(l,u,l,s[3],e[3],r[3])}},a.dispose=function(){this.plot.removeOverlay(this)}},{}],228:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, color;\\nattribute float weight;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 coordinates[3];\\nuniform vec4 colors[3];\\nuniform vec2 screenShape;\\nuniform float lineWidth;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vertexPosition = mix(coordinates[0],\\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\\n\\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\\n  vec2 delta = weight * clipOffset * screenShape;\\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\\n\\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\\n}\\n\",a=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\";e.exports=function(t){return n(t,i,a,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},{\"gl-shader\":220}],229:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}function i(t,e){function r(t,e,r,n,a,o){var s=[t,e,r,0,0,0,1];s[n+3]=1,s[n]=a,i.push.apply(i,s),s[6]=-1,i.push.apply(i,s),s[n]=o,i.push.apply(i,s),i.push.apply(i,s),s[6]=1,i.push.apply(i,s),s[n]=a,i.push.apply(i,s)}var i=[];r(0,0,0,0,0,1),r(0,0,0,1,0,1),r(0,0,0,2,0,1),r(1,0,0,1,-1,1),r(1,0,0,2,-1,1),r(0,1,0,0,-1,1),r(0,1,0,2,-1,1),r(0,0,1,0,-1,1),r(0,0,1,1,-1,1);var l=a(t,i),u=o(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),c=s(t);c.attributes.position.location=0,c.attributes.color.location=1,c.attributes.weight.location=2;var h=new n(t,l,u,c);return h.update(e),h}var a=t(\"gl-buffer\"),o=t(\"gl-vao\"),s=t(\"./shaders/index\");e.exports=i;var l=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],u=n.prototype,c=[0,0,0],h=[0,0,0],f=[0,0];u.isTransparent=function(){return!1},u.drawTransparent=function(t){},\nu.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||l,o=t.view||l,s=t.projection||l;this.axes&&(i=this.axes.lastCubeProps.axis);for(var u=c,d=h,p=0;p<3;++p)i&&i[p]<0?(u[p]=this.bounds[0][p],d[p]=this.bounds[1][p]):(u[p]=this.bounds[1][p],d[p]=this.bounds[0][p]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=s,n.uniforms.coordinates=[this.position,u,d],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(var p=0;p<3;++p)n.uniforms.lineWidth=this.lineWidth[p]*this.pixelRatio,this.enabled[p]&&(r.draw(e.TRIANGLES,6,6*p),this.drawSides[p]&&r.draw(e.TRIANGLES,12,18+12*p));r.unbind()},u.update=function(t){t&&(\"bounds\"in t&&(this.bounds=t.bounds),\"position\"in t&&(this.position=t.position),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"colors\"in t&&(this.colors=t.colors),\"enabled\"in t&&(this.enabled=t.enabled),\"drawSides\"in t&&(this.drawSides=t.drawSides))},u.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders/index\":228,\"gl-buffer\":128,\"gl-vao\":236}],230:[function(t,e,r){var n=t(\"gl-shader\"),i=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  worldCoordinate = vec3(uv.zw, f.x);\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n  vec4 clipPosition = projection * view * worldPosition;\\n  gl_Position = clipPosition;\\n  kill = f.y;\\n  value = f.z;\\n  planeCoordinate = uv.xy;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * worldPosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  lightDirection = lightPosition - cameraCoordinate.xyz;\\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\",a=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution_2_0(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\n\\n\\nfloat beckmannSpecular_1_1(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution_2_0(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\n\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  if (kill > 0.0 ||\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  vec3 N = normalize(surfaceNormal);\\n  vec3 V = normalize(eyeDirection);\\n  vec3 L = normalize(lightDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = beckmannSpecular_1_1(L, V, N, roughness);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  //decide how to interpolate color \\u2014 in vertex or in fragment\\n  vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\\n\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\",o=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\n\\n  vec4 clipPosition = projection * view * worldPosition;\\n  clipPosition.z = clipPosition.z + zOffset;\\n\\n  gl_Position = clipPosition;\\n  value = f;\\n  kill = -1.0;\\n  worldCoordinate = dataCoordinate;\\n  planeCoordinate = uv.zw;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Don't do lighting for contours\\n  surfaceNormal   = vec3(1,0,0);\\n  eyeDirection    = vec3(0,1,0);\\n  lightDirection  = vec3(0,0,1);\\n}\\n\",s=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n  float vh = 255.0 * v;\\n  float upper = floor(vh);\\n  float lower = fract(vh);\\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n  if(kill > 0.0 ||\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\n    discard;\\n  }\\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\";r.createShader=function(t){var e=n(t,i,a,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,i,s,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,o,a,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,o,s,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\"gl-shader\":220}],231:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}function i(t){var e=b([y({colormap:t,nshades:R,format:\"rgba\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return x.divseq(e,255),e}function a(t,e,r,i,a,o,s,l,u,c,h,f,d,p){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=i,this._pickShader=a,this._coordinateBuffer=o,this._vao=s,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new n([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=p,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[_(v.mallocFloat(1024),[0,0]),_(v.mallocFloat(1024),[0,0]),_(v.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.snapToData=!1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}function o(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||j,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=N.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],M(l,t.model,l);var u=N.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return N.showSurface=o,N.showContour=s,N}function s(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=B;n.model=t.model||P,n.view=t.view||P,n.projection=t.projection||P,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.contourColor=this.contourColor[0],n.inverseModel=A(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],s=0;s<3;++s)a[s]=Math.min(Math.max(this.clipBounds[i][s],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=V,n.vertexColor=this.vertexColor;var l=U;for(M(l,n.view,n.model),M(l,n.projection,l),A(l,l),i=0;i<3;++i)n.eyePosition[i]=l[12+i]/l[15];var u=l[15];for(i=0;i<3;++i)u+=this.lightPosition[i]*l[4*i+3];for(i=0;i<3;++i){var c=l[12+i];for(s=0;s<3;++s)c+=l[4*s+i]*this.lightPosition[s];n.lightPosition[i]=c/u}var h=o(n,this);if(h.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=h.projections[i],this._shader.uniforms.clipBounds=h.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(h.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var d=this._contourVAO;for(d.bind(),i=0;i<3;++i)for(f.uniforms.permutation=O[i],r.lineWidth(this.contourWidth[i]),s=0;s<this.contourLevels[i].length;++s)this._contourCounts[i][s]&&(s===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==s&&s-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),f.uniforms.height=this.contourLevels[i][s],d.draw(r.LINES,this._contourCounts[i][s],this._contourOffsets[i][s]));for(i=0;i<3;++i)for(f.uniforms.model=h.projections[i],f.uniforms.clipBounds=h.clipBounds[i],s=0;s<3;++s)if(this.contourProject[i][s]){f.uniforms.permutation=O[s],r.lineWidth(this.contourWidth[s]);for(var p=0;p<this.contourLevels[s].length;++p)p===this.highlightLevel[s]?(f.uniforms.contourColor=this.highlightColor[s],f.uniforms.contourTint=this.highlightTint[s]):0!==p&&p-1!==this.highlightLevel[s]||(f.uniforms.contourColor=this.contourColor[s],f.uniforms.contourTint=this.contourTint[s]),f.uniforms.height=this.contourLevels[s][p],d.draw(r.LINES,this._contourCounts[s][p],this._contourOffsets[s][p])}for(d=this._dynamicVAO,d.bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=O[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],d.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),s=0;s<3;++s)this.contourProject[s][i]&&(f.uniforms.model=h.projections[s],f.uniforms.clipBounds=h.clipBounds[s],d.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));d.unbind()}}function l(t,e){var r=e.shape.slice(),n=t.shape.slice();x.assign(t.lo(1,1).hi(r[0],r[1]),e),x.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),x.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),x.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),x.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))}function u(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function c(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function h(t){if(Array.isArray(t)){if(Array.isArray(t))return[c(t[0]),c(t[1]),c(t[2])];var e=c(t);return[e.slice(),e.slice(),e.slice()]}}function f(t){var e=t.gl,r=S(e),n=z(e),i=L(e),o=C(e),s=p(e),l=g(e,[{buffer:s,size:4,stride:I,offset:0},{buffer:s,size:3,stride:I,offset:16},{buffer:s,size:3,stride:I,offset:28}]),u=p(e),c=g(e,[{buffer:u,size:4,stride:20,offset:0},{buffer:u,size:1,stride:20,offset:16}]),h=p(e),f=g(e,[{buffer:h,size:2,type:e.FLOAT}]),d=m(e,1,R,e.RGBA,e.UNSIGNED_BYTE);d.minFilter=e.LINEAR,d.magFilter=e.LINEAR;var v=new a(e,[0,0],[[0,0,0],[0,0,0]],r,n,s,l,d,i,o,u,c,h,f),y={levels:[[],[],[]]};for(var x in t)y[x]=t[x];return y.colormap=y.colormap||\"jet\",v.update(y),v}e.exports=f;var d=t(\"bit-twiddle\"),p=t(\"gl-buffer\"),g=t(\"gl-vao\"),m=t(\"gl-texture2d\"),v=t(\"typedarray-pool\"),y=t(\"colormap\"),x=t(\"ndarray-ops\"),b=t(\"ndarray-pack\"),_=t(\"ndarray\"),w=t(\"surface-nets\"),M=t(\"gl-mat4/multiply\"),A=t(\"gl-mat4/invert\"),k=t(\"binary-search-bounds\"),T=t(\"ndarray-gradient\"),E=t(\"./lib/shaders\"),S=E.createShader,L=E.createContourShader,z=E.createPickShader,C=E.createPickContourShader,I=40,P=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],D=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],O=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];!function(){for(var t=0;t<3;++t){var e=O[t],r=(t+1)%3,n=(t+2)%3;e[r+0]=1,e[n+3]=1,e[t+6]=1}}();var R=256,F=a.prototype;F.isTransparent=function(){return this.opacity<1},F.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},F.pickSlots=1,F.setPickBase=function(t){this.pickId=t};var j=[0,0,0],N={showSurface:!1,showContour:!1,projections:[P.slice(),P.slice(),P.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]},B={model:P,view:P,projection:P,inverseModel:P.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},U=P.slice(),V=[1,0,0,0,1,0,0,0,1];F.draw=function(t){return s.call(this,t,!1)},F.drawTransparent=function(t){return s.call(this,t,!0)};var q={model:P,view:P,projection:P,inverseModel:P,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};F.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=q;r.model=t.model||P,r.view=t.view||P,r.projection=t.projection||P,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=V;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var s=o(r,this);if(s.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=s.projections[n],this._pickShader.uniforms.clipBounds=s.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(s.showContour){var l=this._contourPickShader;l.bind(),l.uniforms=r;var u=this._contourVAO;for(u.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),l.uniforms.permutation=O[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(l.uniforms.height=this.contourLevels[a][n],u.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(l.uniforms.model=s.projections[n],l.uniforms.clipBounds=s.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){l.uniforms.permutation=O[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(l.uniforms.height=this.contourLevels[a][c],u.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}u.unbind()}},F.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var h=c?a:1-a,f=0;f<2;++f)for(var d=f?l:1-l,p=i+c,g=s+f,m=h*d,v=0;v<3;++v)u[v]+=this._field[v].get(p,g)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=k.le(this.contourLevels[x],u[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-u[x])>Math.abs(_-u[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},F.update=function(t){t=t||{},this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=u(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=u(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=u(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=h(t.contourColor)),\"contourProject\"in t&&(this.contourProject=u(t.contourProject,function(t){return u(t,Boolean)})),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=h(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=u(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=u(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var n=(e.shape[0]+2)*(e.shape[1]+2);n>this._field[2].data.length&&(v.freeFloat(this._field[2].data),this._field[2].data=v.mallocFloat(d.nextPow2(n))),this._field[2]=_(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),l(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(v.freeFloat(this._field[o].data),this._field[o].data=v.mallocFloat(this._field[2].size)),this._field[o]=_(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var s=t.coords;if(!Array.isArray(s)||3!==s.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var c=s[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error(\"gl-surface: coords have incorrect shape\");l(this._field[o],c)}}else if(t.ticks){var f=t.ticks;if(!Array.isArray(f)||2!==f.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var p=f[o];if((Array.isArray(p)||p.length)&&(p=_(p)),p.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var g=_(p.data,a);g.stride[o]=p.stride[0],g.stride[1^o]=0,l(this._field[o],g)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=_(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var y=0;y<a[0];++y)this._field[0].set(y+1,0,y);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),y=0;y<a[1];++y)this._field[1].set(0,y+1,y);this._field[1].set(0,a[1]+1,a[1]-1)}var x=this._field,b=_(v.mallocFloat(3*x[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)T(b.pick(o),x[o],\"mirror\");var M=_(v.mallocFloat(3*x[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(y=0;y<a[1]+2;++y){var A=b.get(0,o,y,0),k=b.get(0,o,y,1),E=b.get(1,o,y,0),S=b.get(1,o,y,1),L=b.get(2,o,y,0),z=b.get(2,o,y,1),C=E*z-S*L,I=L*k-z*A,P=A*S-k*E,O=Math.sqrt(C*C+I*I+P*P);O<1e-8?(O=Math.max(Math.abs(C),Math.abs(I),Math.abs(P)),O<1e-8?(P=1,I=C=0,O=1):O=1/O):O=1/Math.sqrt(O),M.set(o,y,0,C*O),M.set(o,y,1,I*O),M.set(o,y,2,P*O)}v.free(b.data);var R=[1/0,1/0,1/0],F=[-(1/0),-(1/0),-(1/0)],j=1/0,N=-(1/0),B=(a[0]-1)*(a[1]-1)*6,U=v.mallocFloat(d.nextPow2(10*B)),V=0,q=0;for(o=0;o<a[0]-1;++o)t:for(y=0;y<a[1]-1;++y){for(var H=0;H<2;++H)for(var G=0;G<2;++G)for(var X=0;X<3;++X){var Y=this._field[X].get(1+o+H,1+y+G);if(isNaN(Y)||!isFinite(Y))continue t}for(X=0;X<6;++X){var W=o+D[X][0],Z=y+D[X][1],Q=this._field[0].get(W+1,Z+1),K=this._field[1].get(W+1,Z+1);Y=this._field[2].get(W+1,Z+1);var $=Y;C=M.get(W+1,Z+1,0),I=M.get(W+1,Z+1,1),P=M.get(W+1,Z+1,2),t.intensity&&($=t.intensity.get(W,Z)),U[V++]=W,U[V++]=Z,U[V++]=Q,U[V++]=K,U[V++]=Y,U[V++]=0,U[V++]=$,U[V++]=C,U[V++]=I,U[V++]=P,R[0]=Math.min(R[0],Q),R[1]=Math.min(R[1],K),R[2]=Math.min(R[2],Y),j=Math.min(j,$),F[0]=Math.max(F[0],Q),F[1]=Math.max(F[1],K),F[2]=Math.max(F[2],Y),N=Math.max(N,$),q+=1}}for(t.intensityBounds&&(j=+t.intensityBounds[0],N=+t.intensityBounds[1]),o=6;o<V;o+=10)U[o]=(U[o]-j)/(N-j);this._vertexCount=q,this._coordinateBuffer.update(U.subarray(0,V)),v.freeFloat(U),v.free(M.data),this.bounds=[R,F],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===j&&this.intensityBounds[1]===N||(r=!0),this.intensityBounds=[j,N]}if(\"levels\"in t){var J=t.levels;for(J=Array.isArray(J[0])?J.slice():[[],[],J],o=0;o<3;++o)J[o]=J[o].slice(),J.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if(J[o].length!==this.contourLevels[o].length){r=!0;break}for(y=0;y<J[o].length;++y)if(J[o][y]!==this.contourLevels[o][y]){r=!0;break t}}this.contourLevels=J}if(r){x=this._field,a=this.shape;for(var tt=[],et=0;et<3;++et){J=this.contourLevels[et];var rt=[],nt=[],it=[0,0,0];for(o=0;o<J.length;++o){var at=w(this._field[et],J[o]);rt.push(tt.length/5|0),q=0;t:for(y=0;y<at.cells.length;++y){var ot=at.cells[y];for(X=0;X<2;++X){var st=at.positions[ot[X]],lt=st[0],ut=0|Math.floor(lt),ct=lt-ut,ht=st[1],ft=0|Math.floor(ht),dt=ht-ft,pt=!1;e:for(var gt=0;gt<3;++gt){it[gt]=0;var mt=(et+gt+1)%3;for(H=0;H<2;++H){var vt=H?ct:1-ct;for(W=0|Math.min(Math.max(ut+H,0),a[0]),G=0;G<2;++G){var yt=G?dt:1-dt;if(Z=0|Math.min(Math.max(ft+G,0),a[1]),Y=gt<2?this._field[mt].get(W,Z):(this.intensity.get(W,Z)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(Y)||isNaN(Y)){pt=!0;break e}var xt=vt*yt;it[gt]+=xt*Y}}}if(pt){if(X>0){for(var bt=0;bt<5;++bt)tt.pop();q-=1}continue t}tt.push(it[0],it[1],st[0],st[1],it[2]),q+=1}}nt.push(q)}this._contourOffsets[et]=rt,this._contourCounts[et]=nt}var _t=v.mallocFloat(tt.length);for(o=0;o<tt.length;++o)_t[o]=tt[o];this._contourBuffer.update(_t),v.freeFloat(_t)}t.colormap&&this._colorMap.setPixels(i(t.colormap))},F.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)v.freeFloat(this._field[t].data)},F.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=v.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,u=this._field[o],c=this._field[s],h=this._field[l],f=(this.intensity,w(u,r[o])),d=f.cells,p=f.positions;for(this._dynamicOffsets[o]=n,e=0;e<d.length;++e)for(var g=d[e],m=0;m<2;++m){var y=p[g[m]],x=+y[0],b=0|x,_=0|Math.min(b+1,i[0]),M=x-b,A=1-M,k=+y[1],T=0|k,E=0|Math.min(T+1,i[1]),S=k-T,L=1-S,z=A*L,C=A*S,I=M*L,P=M*S,D=z*c.get(b,T)+C*c.get(b,E)+I*c.get(_,T)+P*c.get(_,E),O=z*h.get(b,T)+C*h.get(b,E)+I*h.get(_,T)+P*h.get(_,E);if(isNaN(D)||isNaN(O)){m&&(n-=1);break}a[2*n+0]=D,a[2*n+1]=O,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),v.freeFloat(a)}}},{\"./lib/shaders\":230,\"binary-search-bounds\":53,\"bit-twiddle\":54,colormap:80,\"gl-buffer\":128,\"gl-mat4/invert\":149,\"gl-mat4/multiply\":151,\"gl-texture2d\":232,\"gl-vao\":236,ndarray:427,\"ndarray-gradient\":418,\"ndarray-ops\":421,\"ndarray-pack\":422,\"surface-nets\":487,\"typedarray-pool\":496}],232:[function(t,e,r){\"use strict\";function n(t){v=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],y=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],x=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function i(t){return\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&t instanceof ImageData}function a(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function o(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}function s(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function l(t,e,r,n,i,a,o,l){var u=l.dtype,c=l.shape.slice();if(c.length<2||c.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var h=0,f=0,d=s(c,l.stride.slice());\"float32\"===u?h=t.FLOAT:\"float64\"===u?(h=t.FLOAT,d=!1,u=\"float32\"):\"uint8\"===u?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,d=!1,u=\"uint8\");var v=1;if(2===c.length)f=t.LUMINANCE,c=[c[0],c[1],1],l=p(l.data,c,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==c.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===c[2])f=t.ALPHA;else if(2===c[2])f=t.LUMINANCE_ALPHA;else if(3===c[2])f=t.RGB;else{if(4!==c[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");f=t.RGBA}v=c[2]}if(f!==t.LUMINANCE&&f!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(f=i),f!==i)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var y=l.size,x=o.indexOf(n)<0;if(x&&o.push(n),h===a&&d)0===l.offset&&l.data.length===y?x?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data):x?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data.subarray(l.offset,l.offset+y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data.subarray(l.offset,l.offset+y));else{var _;_=a===t.FLOAT?m.mallocFloat32(y):m.mallocUint8(y);var w=p(_,c,[c[2],c[2]*c[0],1]);h===t.FLOAT&&a===t.UNSIGNED_BYTE?b(w,l):g.assign(w,l),x?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,_.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,_.subarray(0,y)),a===t.FLOAT?m.freeFloat32(_):m.freeUint8(_)}}function u(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function c(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var s=u(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new o(t,s,e,r,n,i)}function h(t,e,r,n){var i=u(t);return t.texImage2D(t.TEXTURE_2D,0,r,r,n,e),new o(t,i,0|e.width,0|e.height,r,n)}function f(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]<0||n[0]>i||n[1]<0||n[1]>i)throw new Error(\"gl-texture2d: Invalid texture size\");var a=s(n,e.stride.slice()),l=0;\"float32\"===r?l=t.FLOAT:\"float64\"===r?(l=t.FLOAT,a=!1,r=\"float32\"):\"uint8\"===r?l=t.UNSIGNED_BYTE:(l=t.UNSIGNED_BYTE,a=!1,r=\"uint8\");var c=0;if(2===n.length)c=t.LUMINANCE,n=[n[0],n[1],1],e=p(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===n[2])c=t.ALPHA;else if(2===n[2])c=t.LUMINANCE_ALPHA;else if(3===n[2])c=t.RGB;else{if(4!==n[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");c=t.RGBA}}l!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(l=t.UNSIGNED_BYTE,a=!1);var h,f,d=e.size;if(a)h=0===e.offset&&e.data.length===d?e.data:e.data.subarray(e.offset,e.offset+d);else{var v=[n[2],n[2]*n[0],1];f=m.malloc(d,r);var y=p(f,n,v,0);\"float32\"!==r&&\"float64\"!==r||l!==t.UNSIGNED_BYTE?g.assign(y,e):b(y,e),h=f.subarray(0,d)}var x=u(t);return t.texImage2D(t.TEXTURE_2D,0,c,n[0],n[1],0,c,l,h),a||m.free(f),new o(t,x,n[0],n[1],c,l)}function d(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(v||n(t),\"number\"==typeof arguments[1])return c(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return c(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(\"object\"==typeof arguments[1]){var e=arguments[1];if(i(e))return h(t,e,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return f(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}var p=t(\"ndarray\"),g=t(\"ndarray-ops\"),m=t(\"typedarray-pool\");e.exports=d;var v=null,y=null,x=null,b=function(t,e){g.muls(t,e,255)},_=o.prototype;Object.defineProperties(_,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&v.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),y.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&v.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),y.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples);\n}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),x.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),x.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(x.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return a(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,a(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,a(this,this._shape[0],t),t}}}),_.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},_.dispose=function(){this.gl.deleteTexture(this.handle)},_.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},_.setPixels=function(t,e,r,n){var a=this.gl;if(this.bind(),Array.isArray(e)?(n=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),n=n||0,i(t)){var o=this._mipLevels.indexOf(n)<0;o?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,t),this._mipLevels.push(n)):a.texSubImage2D(a.TEXTURE_2D,n,e,r,this.format,this.type,t)}else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>n||r+t.shape[0]>this._shape[0]>>>n||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");l(a,e,r,n,this.format,this.type,this._mipLevels,t)}}},{ndarray:427,\"ndarray-ops\":421,\"typedarray-pool\":496}],233:[function(t,e,r){\"use strict\";function n(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,u=!!a.normalized,c=a.stride||0,h=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,u,c,h)}else{if(\"number\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\"gl-vao: Invalid vertex attribute\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else{t.bindBuffer(t.ARRAY_BUFFER,null);for(var i=0;i<n;++i)t.disableVertexAttribArray(i)}}e.exports=n},{}],234:[function(t,e,r){\"use strict\";function n(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}function i(t){return new n(t)}var a=t(\"./do-bind.js\");n.prototype.bind=function(){a(this.gl,this._elements,this._attributes)},n.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},n.prototype.dispose=function(){},n.prototype.unbind=function(){},n.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=i},{\"./do-bind.js\":233}],235:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}function a(t,e){return new i(t,e,e.createVertexArrayOES())}var o=t(\"./do-bind.js\");n.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),o(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i<t.length;++i){var a=t[i];\"number\"==typeof a?this._attribs.push(new n(i,1,a)):Array.isArray(a)&&this._attribs.push(new n(i,a.length,a[0],a[1],a[2],a[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=a},{\"./do-bind.js\":233}],236:[function(t,e,r){\"use strict\";function n(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}function i(t,e,r,i){var s,l=t.createVertexArray?new n(t):t.getExtension(\"OES_vertex_array_object\");return s=l?a(t,l):o(t),s.update(e,r,i),s}var a=t(\"./lib/vao-native.js\"),o=t(\"./lib/vao-emulated.js\");e.exports=i},{\"./lib/vao-emulated.js\":234,\"./lib/vao-native.js\":235}],237:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}e.exports=n},{}],238:[function(t,e,r){function n(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}e.exports=n},{}],239:[function(t,e,r){function n(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}e.exports=n},{}],240:[function(t,e,r){function n(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}e.exports=n},{}],241:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}e.exports=n},{}],242:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}e.exports=n},{}],243:[function(t,e,r){function n(t,e,r,n){return i[0]=n,i[1]=r,i[2]=e,i[3]=t,a[0]}e.exports=n;var i=new Uint8Array(4),a=new Float32Array(i.buffer)},{}],244:[function(t,e,r){function n(t){for(var e=Array.isArray(t)?t:i(t),r=0;r<e.length;r++){var n=e[r];if(\"preprocessor\"===n.type){var o=n.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?a(l):l).trim()}}}}var i=t(\"glsl-tokenizer\"),a=t(\"atob-lite\");e.exports=n},{\"atob-lite\":35,\"glsl-tokenizer\":251}],245:[function(t,e,r){function n(t){function e(t){t.length&&V.push({type:M[B],data:t,position:G,line:q,column:H})}function r(t){j=0,W+=t,F=W.length;for(var e;O=W[j],j<F;){switch(e=j,B){case h:j=S();break;case f:j=E();break;case d:j=T();break;case p:j=L();break;case g:j=I();break;case w:j=C();break;case m:j=P();break;case c:j=D();break;case b:j=k();break;case u:j=A()}if(e!==j)switch(W[e]){case\"\\n\":H=0,++q;break;default:++H}}return N+=j,W=W.slice(j),V}function n(t){return U.length&&e(U.join(\"\")),B=_,e(\"(eof)\"),V}function A(){return U=U.length?[]:U,\"/\"===R&&\"*\"===O?(G=N+j-1,B=h,R=O,j+1):\"/\"===R&&\"/\"===O?(G=N+j-1,B=f,R=O,j+1):\"#\"===O?(B=d,G=N+j,j):/\\s/.test(O)?(B=b,G=N+j,j):(X=/\\d/.test(O),Y=/[^\\w_]/.test(O),G=N+j,B=X?g:Y?p:c,j)}function k(){return/[^\\s]/g.test(O)?(e(U.join(\"\")),B=u,j):(U.push(O),R=O,j+1)}function T(){return\"\\r\"!==O&&\"\\n\"!==O||\"\\\\\"===R?(U.push(O),R=O,j+1):(e(U.join(\"\")),B=u,j)}function E(){return T()}function S(){return\"/\"===O&&\"*\"===R?(U.push(O),e(U.join(\"\")),B=u,j+1):(U.push(O),R=O,j+1)}function L(){if(\".\"===R&&/\\d/.test(O))return B=m,j;if(\"/\"===R&&\"*\"===O)return B=h,j;if(\"/\"===R&&\"/\"===O)return B=f,j;if(\".\"===O&&U.length){for(;z(U););return B=m,j}if(\";\"===O||\")\"===O||\"(\"===O){if(U.length)for(;z(U););return e(O),B=u,j+1}var t=2===U.length&&\"=\"!==O;if(/[\\w_\\d\\s]/.test(O)||t){for(;z(U););return B=u,j}return U.push(O),R=O,j+1}function z(t){for(var r,n,i=0;;){if(r=a.indexOf(t.slice(0,t.length+i).join(\"\")),n=a[r],r===-1){if(i--+t.length>0)continue;n=t.slice(0,1).join(\"\")}return e(n),G+=n.length,U=U.slice(n.length),U.length}}function C(){return/[^a-fA-F0-9]/.test(O)?(e(U.join(\"\")),B=u,j):(U.push(O),R=O,j+1)}function I(){return\".\"===O?(U.push(O),B=m,R=O,j+1):/[eE]/.test(O)?(U.push(O),B=m,R=O,j+1):\"x\"===O&&1===U.length&&\"0\"===U[0]?(B=w,U.push(O),R=O,j+1):/[^\\d]/.test(O)?(e(U.join(\"\")),B=u,j):(U.push(O),R=O,j+1)}function P(){return\"f\"===O&&(U.push(O),R=O,j+=1),/[eE]/.test(O)?(U.push(O),R=O,j+1):\"-\"===O&&/[eE]/.test(R)?(U.push(O),R=O,j+1):/[^\\d]/.test(O)?(e(U.join(\"\")),B=u,j):(U.push(O),R=O,j+1)}function D(){if(/[^\\d\\w_]/.test(O)){var t=U.join(\"\");return B=Q.indexOf(t)>-1?x:Z.indexOf(t)>-1?y:v,e(U.join(\"\")),B=u,j}return U.push(O),R=O,j+1}var O,R,F,j=0,N=0,B=u,U=[],V=[],q=1,H=0,G=0,X=!1,Y=!1,W=\"\";t=t||{};var Z=o,Q=i;return\"300 es\"===t.version&&(Z=l,Q=s),function(t){return V=[],null!==t?r(t.replace?t.replace(/\\r\\n/g,\"\\n\"):t):n()}}e.exports=n;var i=t(\"./lib/literals\"),a=t(\"./lib/operators\"),o=t(\"./lib/builtins\"),s=t(\"./lib/literals-300es\"),l=t(\"./lib/builtins-300es\"),u=999,c=9999,h=0,f=1,d=2,p=3,g=4,m=5,v=6,y=7,x=8,b=9,_=10,w=11,M=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},{\"./lib/builtins\":247,\"./lib/builtins-300es\":246,\"./lib/literals\":249,\"./lib/literals-300es\":248,\"./lib/operators\":250}],246:[function(t,e,r){var n=t(\"./builtins\");n=n.slice().filter(function(t){return!/^(gl\\_|texture)/.test(t)}),e.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},{\"./builtins\":247}],247:[function(t,e,r){e.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},{}],248:[function(t,e,r){var n=t(\"./literals\");e.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},{\"./literals\":249}],249:[function(t,e,r){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},{}],250:[function(t,e,r){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},{}],251:[function(t,e,r){function n(t,e){var r=i(e),n=[];return n=n.concat(r(t)),n=n.concat(r(null))}var i=t(\"./index\");e.exports=n},{\"./index\":245}],252:[function(t,e,r){\"use strict\";function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o<this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var u=a[i+n.length],c=a[i+n.length+1];this.keys=a.subarray(u,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var h=0;h<this.d*this.d;h++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}e.exports=n;var i=3;n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[],s={};return this._forEachCell(t,e,r,n,this._queryCell,o,s),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,u=this.bboxes,c=0;c<s.length;c++){var h=s[c];if(void 0===o[h]){var f=4*h;t<=u[f+2]&&e<=u[f+3]&&r>=u[f+0]&&n>=u[f+1]?(o[h]=!0,a.push(l[h])):o[h]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),u=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var d=this.d*f+h;if(i.call(this,t,e,r,n,d,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var o=e,s=0;s<t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],253:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,d=t[e+h];for(h+=f,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o+=Math.pow(2,n),a-=u}return(d?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),e+=o+h>=1?f/l:f*Math.pow(2,1-h),e*l>=2&&(o++,l/=2),o+h>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+d]=255&s,d+=p,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+d]=255&o,d+=p,o/=256,u-=8);t[r+d-p]|=128*g}},{}],254:[function(t,e,r){\"use strict\";function n(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function i(t,e,r){this.vertices=t,this.cell=e,this.index=r}function a(t,e){return c(t.vertices,e.vertices)}function o(t){for(var e=[\"function orient(){var tuple=this.tuple;return test(\"],r=0;r<=t;++r)r>0&&e.push(\",\"),e.push(\"tuple[\",r,\"]\");e.push(\")}return orient\");var n=new Function(\"test\",e.join(\"\")),i=u[t+1];return i||(i=u),n(i)}function s(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter(function(t){return!t.boundary}),this.tuple=new Array(t+1);for(var n=0;n<=t;++n)this.tuple[n]=this.vertices[n];var i=h[t];i||(i=h[t]=o(t)),this.orient=i}function l(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var i=t[0].length;if(r<=i)throw new Error(\"Must input at least d+1 points\");var a=t.slice(0,i+1),o=u.apply(void 0,a);if(0===o)throw new Error(\"Input not in general position\");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;o<0&&(l[0]=1,l[1]=0);for(var h=new n(l,new Array(i+1),!1),f=h.adjacent,d=new Array(i+2),c=0;c<=i;++c){for(var p=l.slice(),g=0;g<=i;++g)g===c&&(p[g]=-1);var m=p[0];p[0]=p[1],p[1]=m;var v=new n(p,new Array(i+1),!0);f[c]=v,d[c]=v}d[i+1]=h;for(var c=0;c<=i;++c)for(var p=f[c].vertices,y=f[c].adjacent,g=0;g<=i;++g){var x=p[g];if(x<0)y[g]=h;else for(var b=0;b<=i;++b)f[b].vertices.indexOf(x)<0&&(y[g]=f[b])}for(var _=new s(i,a,d),w=!!e,c=i+1;c<r;++c)_.insert(t[c],w);return _.boundary()}e.exports=l;var u=t(\"robust-orientation\"),c=t(\"simplicial-complex\").compareCells;n.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var h=[],f=s.prototype;f.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){t=o.pop();for(var s=(t.vertices,t.adjacent),l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,h=0;h<=r;++h){var f=c[h];f<0?i[h]=e:i[h]=a[f]}var d=this.orient();if(d>0)return u;u.lastVisited=-n,0===d&&o.push(u)}}}return null},f.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];s.lastVisited=r;for(var c=0;c<=n;++c){var h=u[c];if(!(h.lastVisited>=r)){var f=a[c];a[c]=t;var d=this.orient();if(a[c]=f,d<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},f.addPeaks=function(t,e){var r=this.vertices.length-1,o=this.dimension,s=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var f=[];h.length>0;){var e=h.pop(),d=e.vertices,p=e.adjacent,g=d.indexOf(r);if(!(g<0))for(var m=0;m<=o;++m)if(m!==g){var v=p[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=o;++b)y[b]<0?(x=b,l[b]=t):l[b]=s[y[b]];var _=this.orient();if(_>0){y[x]=r,v.boundary=!1,u.push(v),h.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var w=v.adjacent,M=d.slice(),A=p.slice(),k=new n(M,A,!0);c.push(k);var T=w.indexOf(e);if(!(T<0)){w[T]=k,A[g]=v,M[m]=-1,A[m]=e,p[m]=k,k.flip();for(var b=0;b<=o;++b){var E=M[b];if(!(E<0||E===r)){for(var S=new Array(o-1),L=0,z=0;z<=o;++z){var C=M[z];C<0||z===b||(S[L++]=C)}f.push(new i(S,k,b))}}}}}}f.sort(a);for(var m=0;m+1<f.length;m+=2){var I=f[m],P=f[m+1],D=I.index,O=P.index;D<0||O<0||(I.cell.adjacent[I.index]=P.cell,P.cell.adjacent[P.index]=I.cell)}},f.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];s<0?a[o]=t:a[o]=r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},f.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,u=0,c=0;c<=t;++c)s[c]>=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{\"robust-orientation\":465,\"simplicial-complex\":476}],255:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}function i(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function a(t,e){var r=p(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function o(t,e){var r=t.intervals([]);r.push(e),a(t,r)}function s(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?y:(r.splice(n,1),a(t,r),x)}function l(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function u(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function c(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function h(t,e){return t-e}function f(t,e){var r=t[0]-e[0];return r?r:t[1]-e[1]}function d(t,e){var r=t[1]-e[1];return r?r:t[0]-e[0]}function p(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(h);for(var i=e[e.length>>1],a=[],o=[],s=[],r=0;r<t.length;++r){var l=t[r];l[1]<i?a.push(l):i<l[0]?o.push(l):s.push(l)}var u=s,c=s.slice();return u.sort(f),c.sort(d),new n(i,p(a),p(o),u,c)}function g(t){this.root=t}function m(t){return new g(t&&0!==t.length?p(t):null)}var v=t(\"binary-search-bounds\"),y=0,x=1,b=2;e.exports=m;var _=n.prototype;_.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},_.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?o(this,t):this.left.insert(t):this.left=p([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?o(this,t):this.right.insert(t):this.right=p([t]);else{var r=v.ge(this.leftPoints,t,f),n=v.ge(this.rightPoints,t,d);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},_.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){if(!this.left)return y;var r=this.right?this.right.count:0;if(4*r>3*(e-1))return s(this,t);var n=this.left.remove(t);return n===b?(this.left=null,this.count-=1,x):(n===x&&(this.count-=1),n)}if(t[0]>this.mid){if(!this.right)return y;var a=this.left?this.left.count:0;if(4*a>3*(e-1))return s(this,t);var n=this.right.remove(t);return n===b?(this.right=null,this.count-=1,x):(n===x&&(this.count-=1),n)}if(1===this.count)return this.leftPoints[0]===t?b:y;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var o=this,l=this.left;l.right;)o=l,l=l.right;if(o===this)l.right=this.right;else{var u=this.left,n=this.right;o.count-=l.count,o.right=l.left,l.left=u,l.right=n}i(this,l),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?i(this,this.left):i(this,this.right);return x}for(var u=v.ge(this.leftPoints,t,f);u<this.leftPoints.length&&this.leftPoints[u][0]===t[0];++u)if(this.leftPoints[u]===t){this.count-=1,this.leftPoints.splice(u,1);for(var n=v.ge(this.rightPoints,t,d);n<this.rightPoints.length&&this.rightPoints[n][1]===t[1];++n)if(this.rightPoints[n]===t)return this.rightPoints.splice(n,1),x}return y},_.queryPoint=function(t,e){if(t<this.mid){if(this.left){var r=this.left.queryPoint(t,e);if(r)return r}return l(this.leftPoints,t,e)}if(t>this.mid){if(this.right){var r=this.right.queryPoint(t,e);if(r)return r}return u(this.rightPoints,t,e)}return c(this.leftPoints,e)},_.queryInterval=function(t,e,r){if(t<this.mid&&this.left){var n=this.left.queryInterval(t,e,r);if(n)return n}if(e>this.mid&&this.right){var n=this.right.queryInterval(t,e,r);if(n)return n}return e<this.mid?l(this.leftPoints,e,r):t>this.mid?u(this.rightPoints,t,r):c(this.leftPoints,r)};var w=g.prototype;w.insert=function(t){this.root?this.root.insert(t):this.root=new n(t[0],null,null,[t],[t])},w.remove=function(t){if(this.root){var e=this.root.remove(t);return e===b&&(this.root=null),e!==y}return!1},w.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},w.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(w,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(w,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\"binary-search-bounds\":53}],256:[function(t,e,r){\"use strict\";function n(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}e.exports=n},{}],257:[function(t,e,r){\"use strict\";function n(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}e.exports=n},{}],258:[function(t,e,r){function n(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function i(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}e.exports=function(t){return null!=t&&(n(t)||i(t)||!!t._isBuffer)}},{}],259:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){return new i(t,e,r,n,a)}function i(t,e,r,n,i){e=e||a,r=r||o,i=i||Array,this.nodeSize=n||64,this.points=t,this.ids=new i(t.length),this.coords=new i(2*t.length);for(var l=0;l<t.length;l++)this.ids[l]=l,this.coords[2*l]=e(t[l]),this.coords[2*l+1]=r(t[l]);s(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function a(t){return t[0]}function o(t){return t[1]}var s=t(\"./sort\"),l=t(\"./range\"),u=t(\"./within\");e.exports=n,i.prototype={range:function(t,e,r,n){return l(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return u(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\"./range\":260,\"./sort\":261,\"./within\":262}],260:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){for(var s,l,u=[0,t.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),d=u.pop();if(f-d<=o)for(var p=d;p<=f;p++)s=e[2*p],l=e[2*p+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[p]);else{var g=Math.floor((d+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[g]);var m=(h+1)%2;(0===h?r<=s:n<=l)&&(u.push(d),u.push(g-1),u.push(m)),(0===h?i>=s:a>=l)&&(u.push(g+1),u.push(f),u.push(m))}}return c}e.exports=n},{}],261:[function(t,e,r){\"use strict\";function n(t,e,r,a,o,s){if(!(o-a<=r)){var l=Math.floor((a+o)/2);i(t,e,l,a,o,s%2),n(t,e,r,a,l-1,s+1),n(t,e,r,l+1,o,s+1)}}function i(t,e,r,n,o,s){for(;o>n;){if(o-n>600){var l=o-n+1,u=r-n+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1),d=Math.max(n,Math.floor(r-u*h/l+f)),p=Math.min(o,Math.floor(r+(l-u)*h/l+f));i(t,e,r,d,p,s)}var g=e[2*r+s],m=n,v=o;for(a(t,e,n,r),e[2*o+s]>g&&a(t,e,n,o);m<v;){for(a(t,e,m,v),m++,v--;e[2*m+s]<g;)m++;for(;e[2*v+s]>g;)v--}e[2*n+s]===g?a(t,e,n,v):(v++,a(t,e,v,o)),v<=r&&(n=v+1),r<=v&&(o=v-1)}}function a(t,e,r,n){o(t,r,n),o(e,2*r,2*n),o(e,2*r+1,2*n+1)}function o(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],262:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,o){for(var s=[0,t.length-1,0],l=[],u=a*a;s.length;){var c=s.pop(),h=s.pop(),f=s.pop();if(h-f<=o)for(var d=f;d<=h;d++)i(e[2*d],e[2*d+1],r,n)<=u&&l.push(t[d]);else{var p=Math.floor((f+h)/2),g=e[2*p],m=e[2*p+1];i(g,m,r,n)<=u&&l.push(t[p]);var v=(c+1)%2;(0===c?r-a<=g:n-a<=m)&&(s.push(f),s.push(p-1),s.push(v)),(0===c?r+a>=g:n+a>=m)&&(s.push(p+1),s.push(h),s.push(v))}}return l}function i(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=n},{}],263:[function(t,e,r){\"use strict\";function n(t,e){var r;if(h(t)){var l,u=t.stops&&\"object\"==typeof t.stops[0][0],c=u||void 0!==t.property,f=u||!c,d=t.type||e||\"exponential\";if(\"exponential\"===d)l=o;else if(\"interval\"===d)l=a;else if(\"categorical\"===d)l=i;else{if(\"identity\"!==d)throw new Error('Unknown function type \"'+d+'\"');l=s}if(u){for(var p={},g=[],m=0;m<t.stops.length;m++){var v=t.stops[m];void 0===p[v[0].zoom]&&(p[v[0].zoom]={zoom:v[0].zoom,type:t.type,property:t.property,stops:[]}),p[v[0].zoom].stops.push([v[0].value,v[1]])}for(var y in p)g.push([p[y].zoom,n(p[y])]);r=function(e,r){return o({stops:g,base:t.base},e)(e,r)},r.isFeatureConstant=!1,r.isZoomConstant=!1}else f?(r=function(e){return l(t,e)},r.isFeatureConstant=!0,r.isZoomConstant=!1):(r=function(e,r){return l(t,r[t.property])},r.isFeatureConstant=!1,r.isZoomConstant=!0)}else r=function(){\nreturn t},r.isFeatureConstant=!0,r.isZoomConstant=!0;return r}function i(t,e){for(var r=0;r<t.stops.length;r++)if(e===t.stops[r][0])return t.stops[r][1];return t.stops[0][1]}function a(t,e){for(var r=0;r<t.stops.length&&!(e<t.stops[r][0]);r++);return t.stops[Math.max(r-1,0)][1]}function o(t,e){for(var r=void 0!==t.base?t.base:1,n=0;;){if(n>=t.stops.length)break;if(e<=t.stops[n][0])break;n++}return 0===n?t.stops[n][1]:n===t.stops.length?t.stops[n-1][1]:l(e,r,t.stops[n-1][0],t.stops[n][0],t.stops[n-1][1],t.stops[n][1])}function s(t,e){return e}function l(t,e,r,n,i,a){return\"function\"==typeof i?function(){var o=i.apply(void 0,arguments),s=a.apply(void 0,arguments);return l(t,e,r,n,o,s)}:i.length?c(t,e,r,n,i,a):u(t,e,r,n,i,a)}function u(t,e,r,n,i,a){var o,s=n-r,l=t-r;return o=1===e?l/s:(Math.pow(e,l)-1)/(Math.pow(e,s)-1),i*(1-o)+a*o}function c(t,e,r,n,i,a){for(var o=[],s=0;s<i.length;s++)o[s]=u(t,e,r,n,i[s],a[s]);return o}function h(t){return\"object\"==typeof t&&(t.stops||\"identity\"===t.type)}e.exports.isFunctionDefinition=h,e.exports.interpolated=function(t){return n(t,\"exponential\")},e.exports[\"piecewise-constant\"]=function(t){return n(t,\"interval\")}},{}],264:[function(t,e,r){t(\"path\");e.exports={debug:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform lowp vec4 u_color;\\n\\nvoid main() {\\n    gl_FragColor = u_color;\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},circle:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    float t = smoothstep(1.0 - max(blur, v_antialiasblur), 1.0, length(v_extrude));\\n    gl_FragColor = color * (1.0 - t) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\nuniform float u_devicepixelratio;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize lowp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n    if (u_scale_with_map) {\\n        gl_Position.xy += extrude;\\n    } else {\\n        gl_Position.xy += extrude * gl_Position.w;\\n    }\\n\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\n    // to keep the blur at roughly 1px, the two are inversely related.\\n    v_antialiasblur = 1.0 / u_devicepixelratio / radius;\\n}\\n\"},line:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform lowp vec4 u_color;\\nuniform lowp float u_opacity;\\nuniform float u_blur;\\n\\nvarying vec2 v_linewidth;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_linewidth.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\n    // (v_linewidth.s)\\n    float blur = u_blur * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\n\\n    gl_FragColor = u_color * (alpha * u_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_linewidth;\\nuniform mediump float u_gapwidth;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_extra;\\nuniform mat2 u_antialiasingmatrix;\\nuniform mediump float u_offset;\\nuniform mediump float u_blur;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n    // We store the texture normals in the most insignificant bit\\n    // transform y so that 0 => -1 and 1 => 1\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = mod(a_pos, 2.0);\\n    normal.y = sign(normal.y - 0.5);\\n    v_normal = normal;\\n\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    // Remove the texture normal bit of the position before scaling it with the\\n    // model/view matrix.\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\n\\n    // position of y on the screen\\n    float y = gl_Position.y / gl_Position.w;\\n\\n    // how much features are squished in the y direction by the tilt\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\n\\n    // how much features are squished in all directions by the perspectiveness\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\n\\n    v_linewidth = vec2(outset, inset);\\n    v_gamma_scale = perspective_scale * squish_scale;\\n}\\n\"},linepattern:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_blur;\\n\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\nuniform float u_opacity;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_linewidth.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\n    // (v_linewidth.s)\\n    float blur = u_blur * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\n\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n    float y_a = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_a.y);\\n    float y_b = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_b.y);\\n    vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n    vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n    alpha *= u_opacity;\\n\\n    gl_FragColor = color * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_linewidth;\\nuniform mediump float u_gapwidth;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_extra;\\nuniform mat2 u_antialiasingmatrix;\\nuniform mediump float u_offset;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n    // We store the texture normals in the most insignificant bit\\n    // transform y so that 0 => -1 and 1 => 1\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = mod(a_pos, 2.0);\\n    normal.y = sign(normal.y - 0.5);\\n    v_normal = normal;\\n\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    // Remove the texture normal bit of the position before scaling it with the\\n    // model/view matrix.\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\n    v_linesofar = a_linesofar;\\n\\n    // position of y on the screen\\n    float y = gl_Position.y / gl_Position.w;\\n\\n    // how much features are squished in the y direction by the tilt\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\n\\n    // how much features are squished in all directions by the perspectiveness\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\n\\n    v_linewidth = vec2(outset, inset);\\n    v_gamma_scale = perspective_scale * squish_scale;\\n}\\n\"},linesdfpattern:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform lowp vec4 u_color;\\nuniform lowp float u_opacity;\\n\\nuniform float u_blur;\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_linewidth.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\n    // (v_linewidth.s)\\n    float blur = u_blur * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\n\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n    alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n    gl_FragColor = u_color * (alpha * u_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_linewidth;\\nuniform mediump float u_gapwidth;\\nuniform mediump float u_antialiasing;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform float u_extra;\\nuniform mat2 u_antialiasingmatrix;\\nuniform mediump float u_offset;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n    // We store the texture normals in the most insignificant bit\\n    // transform y so that 0 => -1 and 1 => 1\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = mod(a_pos, 2.0);\\n    normal.y = sign(normal.y - 0.5);\\n    v_normal = normal;\\n\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    // Remove the texture normal bit of the position before scaling it with the\\n    // model/view matrix.\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\n\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n    // position of y on the screen\\n    float y = gl_Position.y / gl_Position.w;\\n\\n    // how much features are squished in the y direction by the tilt\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\n\\n    // how much features are squished in all directions by the perspectiveness\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\n\\n    v_linewidth = vec2(outset, inset);\\n    v_gamma_scale = perspective_scale * squish_scale;\\n}\\n\"},outline:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = smoothstep(1.0, 0.0, dist);\\n    gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},outlinepattern:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_opacity;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    // find distance to outline for alpha interpolation\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = smoothstep(1.0, 0.0, dist);\\n    \\n\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\\n\\n    // the correct offset needs to be calculated.\\n    //\\n    // The offset depends on how many pixels are between the world origin and\\n    // the edge of the tile:\\n    // vec2 offset = mod(pixel_coord, size)\\n    //\\n    // At high zoom levels there are a ton of pixels between the world origin\\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\\n    // precision for highp floats. We need more than that.\\n    //\\n    // The pixel_coord is passed in as two 16 bit values:\\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\\n    //\\n    // The offset is calculated in a series of steps that should preserve this precision:\\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\\n\\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\\n\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},pattern:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_opacity;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\\n\\n    // the correct offset needs to be calculated.\\n    //\\n    // The offset depends on how many pixels are between the world origin and\\n    // the edge of the tile:\\n    // vec2 offset = mod(pixel_coord, size)\\n    //\\n    // At high zoom levels there are a ton of pixels between the world origin\\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\\n    // precision for highp floats. We need more than that.\\n    //\\n    // The pixel_coord is passed in as two 16 bit values:\\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\\n    //\\n    // The offset is calculated in a series of steps that should preserve this precision:\\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\\n\\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\\n}\\n\"},raster:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_opacity0;\\nuniform float u_opacity1;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n    // read and cross-fade colors from the main and parent tiles\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\n    vec4 color = color0 * u_opacity0 + color1 * u_opacity1;\\n    vec3 rgb = color.rgb;\\n\\n    // spin\\n    rgb = vec3(\\n        dot(rgb, u_spin_weights.xyz),\\n        dot(rgb, u_spin_weights.zxy),\\n        dot(rgb, u_spin_weights.yzx));\\n\\n    // saturation\\n    float average = (color.r + color.g + color.b) / 3.0;\\n    rgb += (average - rgb) * u_saturation_factor;\\n\\n    // contrast\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n    // brightness\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb), color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},icon:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp float u_opacity;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n    lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * u_opacity;\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n    vec2 a_tex = a_texture_pos.xy;\\n    mediump float a_labelminzoom = a_data[0];\\n    mediump vec2 a_zoom = a_data.pq;\\n    mediump float a_minzoom = a_zoom[0];\\n    mediump float a_maxzoom = a_zoom[1];\\n\\n    // u_zoom is the current zoom level adjusted for the change in font size\\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n    vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n    if (u_rotate_with_map) {\\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n        gl_Position.z += z * gl_Position.w;\\n    } else {\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n    }\\n\\n    v_tex = a_tex / u_texsize;\\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},sdf:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp vec4 u_color;\\nuniform lowp float u_opacity;\\nuniform lowp float u_buffer;\\nuniform lowp float u_gamma;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    lowp float dist = texture2D(u_texture, v_tex).a;\\n    lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n    lowp float gamma = u_gamma * v_gamma_scale;\\n    lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha;\\n\\n    gl_FragColor = u_color * (alpha * u_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nconst float PI = 3.141592653589793;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    vec2 a_tex = a_texture_pos.xy;\\n    mediump float a_labelminzoom = a_data[0];\\n    mediump vec2 a_zoom = a_data.pq;\\n    mediump float a_minzoom = a_zoom[0];\\n    mediump float a_maxzoom = a_zoom[1];\\n\\n    // u_zoom is the current zoom level adjusted for the change in font size\\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n    // pitch-alignment: map\\n    // rotation-alignment: map | viewport\\n    if (u_pitch_with_map) {\\n        lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\n        lowp float asin = sin(angle);\\n        lowp float acos = cos(angle);\\n        mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n        vec2 offset = RotationMatrix * a_offset;\\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n        gl_Position.z += z * gl_Position.w;\\n    // pitch-alignment: viewport\\n    // rotation-alignment: map\\n    } else if (u_rotate_with_map) {\\n        // foreshortening factor to apply on pitched maps\\n        // as a label goes from horizontal <=> vertical in angle\\n        // it goes from 0% foreshortening to up to around 70% foreshortening\\n        lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n        lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\n\\n        // use the lineangle to position points a,b along the line\\n        // project the points and calculate the label angle in projected space\\n        // this calculation allows labels to be rendered unskewed on pitched maps\\n        vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n        vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n        lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n        lowp float asin = sin(angle);\\n        lowp float acos = cos(angle);\\n        mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n        vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n        gl_Position.z += z * gl_Position.w;\\n    // pitch-alignment: viewport\\n    // rotation-alignment: viewport\\n    } else {\\n        vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n    }\\n\\n    v_gamma_scale = (gl_Position.w - 0.5);\\n\\n    v_tex = a_tex / u_texsize;\\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"\n},collisionbox:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n    float alpha = 0.5;\\n\\n    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n    if (v_placement_zoom > u_zoom) {\\n        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n    }\\n\\n    if (u_zoom >= v_max_zoom) {\\n        gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n    }\\n\\n    if (v_placement_zoom >= u_maxzoom) {\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n    }\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n    v_max_zoom = a_data.x;\\n    v_placement_zoom = a_data.y;\\n}\\n\"}},e.exports.util=\"float evaluate_zoom_function_1(const vec4 values, const float t) {\\n    if (t < 1.0) {\\n        return mix(values[0], values[1], t);\\n    } else if (t < 2.0) {\\n        return mix(values[1], values[2], t - 1.0);\\n    } else {\\n        return mix(values[2], values[3], t - 2.0);\\n    }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n    if (t < 1.0) {\\n        return mix(value0, value1, t);\\n    } else if (t < 2.0) {\\n        return mix(value1, value2, t - 1.0);\\n    } else {\\n        return mix(value2, value3, t - 2.0);\\n    }\\n}\\n\"},{path:434}],265:[function(t,e,r){\"use strict\";function n(t,e){this.message=(t?t+\": \":\"\")+i.apply(i,Array.prototype.slice.call(arguments,2)),null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}var i=t(\"util\").format;e.exports=n},{util:504}],266:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}},{}],267:[function(t,e,r){\"use strict\";e.exports=function(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}},{}],268:[function(t,e,r){\"use strict\";e.exports=function(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}},{}],269:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"../util/extend\");e.exports=function(e){var r=t(\"./validate_function\"),o=t(\"./validate_object\"),s={\"*\":function(){return[]},array:t(\"./validate_array\"),boolean:t(\"./validate_boolean\"),number:t(\"./validate_number\"),color:t(\"./validate_color\"),constants:t(\"./validate_constants\"),enum:t(\"./validate_enum\"),filter:t(\"./validate_filter\"),function:t(\"./validate_function\"),layer:t(\"./validate_layer\"),object:t(\"./validate_object\"),source:t(\"./validate_source\"),string:t(\"./validate_string\")},l=e.value,u=e.valueSpec,c=e.key,h=e.styleSpec,f=e.style;if(\"string\"===i(l)&&\"@\"===l[0]){if(h.$version>7)return[new n(c,l,\"constants have been deprecated as of v8\")];if(!(l in f.constants))return[new n(c,l,'constant \"%s\" not found',l)];e=a({},e,{value:f.constants[l]})}return u.function&&\"object\"===i(l)?r(e):u.type&&s[u.type]?s[u.type](e):o(a({},e,{valueSpec:u.type?h[u.type]:u}))}},{\"../error/validation_error\":265,\"../util/extend\":266,\"../util/get_type\":267,\"./validate_array\":270,\"./validate_boolean\":271,\"./validate_color\":272,\"./validate_constants\":273,\"./validate_enum\":274,\"./validate_filter\":275,\"./validate_function\":276,\"./validate_layer\":278,\"./validate_number\":280,\"./validate_object\":281,\"./validate_source\":283,\"./validate_string\":284}],270:[function(t,e,r){\"use strict\";var n=t(\"../util/get_type\"),i=t(\"./validate\"),a=t(\"../error/validation_error\");e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,u=t.arrayElementValidator||i;if(\"array\"!==n(e))return[new a(l,e,\"array expected, %s found\",n(e))];if(r.length&&e.length!==r.length)return[new a(l,e,\"array length %d expected, length %d found\",r.length,e.length)];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return[new a(l,e,\"array length at least %d expected, length %d found\",r[\"min-length\"],e.length)];var c={type:r.value};s.$version<7&&(c.function=r.function),\"object\"===n(r.value)&&(c=r.value);for(var h=[],f=0;f<e.length;f++)h=h.concat(u({array:e,arrayIndex:f,value:e[f],valueSpec:c,style:o,styleSpec:s,key:l+\"[\"+f+\"]\"}));return h}},{\"../error/validation_error\":265,\"../util/get_type\":267,\"./validate\":269}],271:[function(t,e,r){\"use strict\";var n=t(\"../util/get_type\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\"boolean\"!==a?[new i(r,e,\"boolean expected, %s found\",a)]:[]}},{\"../error/validation_error\":265,\"../util/get_type\":267}],272:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"csscolorparser\").parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return\"string\"!==o?[new n(e,r,\"color expected, %s found\",o)]:null===a(r)?[new n(e,r,'color expected, \"%s\" found',r)]:[]}},{\"../error/validation_error\":265,\"../util/get_type\":267,csscolorparser:89}],273:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\");e.exports=function(t){var e=t.key,r=t.value,a=t.styleSpec;if(a.$version>7)return r?[new n(e,r,\"constants have been deprecated as of v8\")]:[];var o=i(r);if(\"object\"!==o)return[new n(e,r,\"object expected, %s found\",o)];var s=[];for(var l in r)\"@\"!==l[0]&&s.push(new n(e+\".\"+l,r[l],'constants must start with \"@\"'));return s}},{\"../error/validation_error\":265,\"../util/get_type\":267}],274:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/unbundle_jsonlint\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return a.values.indexOf(i(r))===-1&&o.push(new n(e,r,\"expected one of [%s], %s found\",a.values.join(\", \"),r)),o}},{\"../error/validation_error\":265,\"../util/unbundle_jsonlint\":268}],275:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"./validate_enum\"),a=t(\"../util/get_type\"),o=t(\"../util/unbundle_jsonlint\");e.exports=function t(e){var r,s=e.value,l=e.key,u=e.styleSpec,c=[];if(\"array\"!==a(s))return[new n(l,s,\"array expected, %s found\",a(s))];if(s.length<1)return[new n(l,s,\"filter array must have at least 1 element\")];switch(c=c.concat(i({key:l+\"[0]\",value:s[0],valueSpec:u.filter_operator,style:e.style,styleSpec:e.styleSpec})),o(s[0])){case\"<\":case\"<=\":case\">\":case\">=\":s.length>=2&&\"$type\"==s[1]&&c.push(new n(l,s,'\"$type\" cannot be use with operator \"%s\"',s[0]));case\"==\":case\"!=\":3!=s.length&&c.push(new n(l,s,'filter array for operator \"%s\" must have 3 elements',s[0]));case\"in\":case\"!in\":s.length>=2&&(r=a(s[1]),\"string\"!==r?c.push(new n(l+\"[1]\",s[1],\"string expected, %s found\",r)):\"@\"===s[1][0]&&c.push(new n(l+\"[1]\",s[1],\"filter key cannot be a constant\")));for(var h=2;h<s.length;h++)r=a(s[h]),\"$type\"==s[1]?c=c.concat(i({key:l+\"[\"+h+\"]\",value:s[h],valueSpec:u.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"===r&&\"@\"===s[h][0]?c.push(new n(l+\"[\"+h+\"]\",s[h],\"filter value cannot be a constant\")):\"string\"!==r&&\"number\"!==r&&\"boolean\"!==r&&c.push(new n(l+\"[\"+h+\"]\",s[h],\"string, number, or boolean expected, %s found\",r));break;case\"any\":case\"all\":case\"none\":for(h=1;h<s.length;h++)c=c.concat(t({key:l+\"[\"+h+\"]\",value:s[h],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":r=a(s[1]),2!==s.length?c.push(new n(l,s,'filter array for \"%s\" operator must have 2 elements',s[0])):\"string\"!==r?c.push(new n(l+\"[1]\",s[1],\"string expected, %s found\",r)):\"@\"===s[1][0]&&c.push(new n(l+\"[1]\",s[1],\"filter key cannot be a constant\"))}return c}},{\"../error/validation_error\":265,\"../util/get_type\":267,\"../util/unbundle_jsonlint\":268,\"./validate_enum\":274}],276:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"./validate\"),o=t(\"./validate_object\"),s=t(\"./validate_array\"),l=t(\"./validate_number\");e.exports=function(t){function e(t){var e=[],a=t.value;return e=e.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:r})),\"array\"===i(a)&&0===a.length&&e.push(new n(t.key,a,\"array must have at least one stop\")),e}function r(t){var e=[],r=t.value,s=t.key;if(\"array\"!==i(r))return[new n(s,r,\"array expected, %s found\",i(r))];if(2!==r.length)return[new n(s,r,\"array length %d expected, length %d found\",2,r.length)];var f=i(r[0]);if(c||(c=f),f!==c)return[new n(s,r,\"%s stop key type must match previous stop key type %s\",f,c)];if(\"object\"===f){if(void 0===r[0].zoom)return[new n(s,r,\"object stop key must have zoom\")];if(void 0===r[0].value)return[new n(s,r,\"object stop key must have value\")];e=e.concat(o({key:s+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:u}}))}else e=e.concat((d?l:u)({key:s+\"[0]\",value:r[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec}));return e=e.concat(a({key:s+\"[1]\",value:r[1],valueSpec:h,style:t.style,styleSpec:t.styleSpec})),\"number\"===i(r[0])&&(\"piecewise-constant\"===h.function&&r[0]%1!==0&&e.push(new n(s+\"[0]\",r[0],\"zoom level for piecewise-constant functions must be an integer\")),0!==t.arrayIndex&&r[0]<t.array[t.arrayIndex-1][0]&&e.push(new n(s+\"[0]\",r[0],\"array stops must appear in ascending order\"))),e}function u(t){var e=[],r=i(t.value);return\"number\"!==r&&\"string\"!==r&&\"array\"!==r&&e.push(new n(t.key,t.value,\"property value must be a number, string or array\")),e}var c,h=t.valueSpec,f=void 0!==t.value.property||\"object\"===c,d=void 0===t.value.property||\"object\"===c,p=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:e}});return t.styleSpec.$version>=8&&(f&&!t.valueSpec[\"property-function\"]?p.push(new n(t.key,t.value,\"property functions not supported\")):d&&!t.valueSpec[\"zoom-function\"]&&p.push(new n(t.key,t.value,\"zoom functions not supported\"))),p}},{\"../error/validation_error\":265,\"../util/get_type\":267,\"./validate\":269,\"./validate_array\":270,\"./validate_number\":280,\"./validate_object\":281}],277:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"./validate_string\");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new n(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new n(r,e,'\"glyphs\" url must include a \"{range}\" token')),a)}},{\"../error/validation_error\":265,\"./validate_string\":284}],278:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/unbundle_jsonlint\"),a=t(\"./validate_object\"),o=t(\"./validate_filter\"),s=t(\"./validate_paint_property\"),l=t(\"./validate_layout_property\"),u=t(\"../util/extend\");e.exports=function(t){var e=[],r=t.value,c=t.key,h=t.style,f=t.styleSpec;r.type||r.ref||e.push(new n(c,r,'either \"type\" or \"ref\" is required'));var d=i(r.type),p=i(r.ref);if(r.id)for(var g=0;g<t.arrayIndex;g++){var m=h.layers[g];i(m.id)===i(r.id)&&e.push(new n(c,r.id,'duplicate layer id \"%s\", previously used at line %d',r.id,m.id.__line__))}if(\"ref\"in r){[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(t){t in r&&e.push(new n(c,r[t],'\"%s\" is prohibited for ref layers',t))});var v;h.layers.forEach(function(t){t.id==p&&(v=t)}),v?v.ref?e.push(new n(c,r.ref,\"ref cannot reference another ref layer\")):d=i(v.type):e.push(new n(c,r.ref,'ref layer \"%s\" not found',p))}else if(\"background\"!==d)if(r.source){var y=h.sources&&h.sources[r.source];y?\"vector\"==y.type&&\"raster\"==d?e.push(new n(c,r.source,'layer \"%s\" requires a raster source',r.id)):\"raster\"==y.type&&\"raster\"!=d?e.push(new n(c,r.source,'layer \"%s\" requires a vector source',r.id)):\"vector\"!=y.type||r[\"source-layer\"]||e.push(new n(c,r,'layer \"%s\" must specify a \"source-layer\"',r.id)):e.push(new n(c,r.source,'source \"%s\" not found',r.source))}else e.push(new n(c,r,'missing required property \"source\"'));return e=e.concat(a({key:c,value:r,valueSpec:f.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return l(u({layerType:d},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return s(u({layerType:d},t))}}})}}}))}},{\"../error/validation_error\":265,\"../util/extend\":266,\"../util/unbundle_jsonlint\":268,\"./validate_filter\":275,\"./validate_layout_property\":279,\"./validate_object\":281,\"./validate_paint_property\":282}],279:[function(t,e,r){\"use strict\";var n=t(\"./validate\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[\"layout_\"+t.layerType];if(t.valueSpec||l[s]){var u=[];return\"symbol\"===t.layerType&&(\"icon-image\"===s&&r&&!r.sprite?u.push(new i(e,o,'use of \"icon-image\" requires a style \"sprite\" property')):\"text-field\"===s&&r&&!r.glyphs&&u.push(new i(e,o,'use of \"text-field\" requires a style \"glyphs\" property'))),u.concat(n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}))}return[new i(e,o,'unknown property \"%s\"',s)]}},{\"../error/validation_error\":265,\"./validate\":269}],280:[function(t,e,r){\"use strict\";var n=t(\"../util/get_type\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return\"number\"!==o?[new i(e,r,\"number expected, %s found\",o)]:\"minimum\"in a&&r<a.minimum?[new i(e,r,\"%s is less than the minimum value %s\",r,a.minimum)]:\"maximum\"in a&&r>a.maximum?[new i(e,r,\"%s is greater than the maximum value %s\",r,a.maximum)]:[]}},{\"../error/validation_error\":265,\"../util/get_type\":267}],281:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"./validate\");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec,s=t.objectElementValidators||{},l=t.style,u=t.styleSpec,c=[],h=i(r);if(\"object\"!==h)return[new n(e,r,\"object expected, %s found\",h)];for(var f in r){var d=f.split(\".\")[0],p=o&&(o[d]||o[\"*\"]),g=s[d]||s[\"*\"];p||g?c=c.concat((g||a)({key:(e?e+\".\":e)+f,value:r[f],valueSpec:p,style:l,styleSpec:u,object:r,objectKey:f})):\"\"!==e&&1!==e.split(\".\").length&&c.push(new n(e,r[f],'unknown property \"%s\"',f))}for(d in o)o[d].required&&void 0===o[d].default&&void 0===r[d]&&c.push(new n(e,r,'missing required property \"%s\"',d));return c}},{\"../error/validation_error\":265,\"../util/get_type\":267,\"./validate\":269}],282:[function(t,e,r){\"use strict\";var n=t(\"./validate\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[\"paint_\"+t.layerType],u=s.match(/^(.*)-transition$/);return u&&l[u[1]]&&l[u[1]].transition?n({key:e,value:o,valueSpec:a.transition,style:r,styleSpec:a}):t.valueSpec||l[s]?n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}):[new i(e,o,'unknown property \"%s\"',s)]}},{\"../error/validation_error\":265,\"./validate\":269}],283:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/unbundle_jsonlint\"),a=t(\"./validate_object\"),o=t(\"./validate_enum\");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'\"type\" is required')];var u=i(e.type);switch(u){case\"vector\":case\"raster\":var c=[];if(c=c.concat(a({key:r,value:e,valueSpec:s.source_tile,style:t.style,styleSpec:s})),\"url\"in e)for(var h in e)[\"type\",\"url\",\"tileSize\"].indexOf(h)<0&&c.push(new n(r+\".\"+h,e[h],'a source with a \"url\" property may not include a \"%s\" property',h));return c;case\"geojson\":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case\"video\":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case\"image\":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});default:return o({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"]},style:l,styleSpec:s})}}},{\"../error/validation_error\":265,\"../util/unbundle_jsonlint\":268,\"./validate_enum\":274,\"./validate_object\":281}],284:[function(t,e,r){\"use strict\";var n=t(\"../util/get_type\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\"string\"!==a?[new i(r,e,\"string expected, %s found\",a)]:[]}},{\"../error/validation_error\":265,\"../util/get_type\":267}],285:[function(t,e,r){\"use strict\";function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:u}})),e.$version>7&&t.constants&&(r=r.concat(o({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(\"./validate/validate_constants\"),s=t(\"./validate/validate\"),l=t(\"../reference/latest.min\"),u=t(\"./validate/validate_glyphs_url\");n.source=a(t(\"./validate/validate_source\")),n.layer=a(t(\"./validate/validate_layer\")),n.filter=a(t(\"./validate/validate_filter\")),n.paintProperty=a(t(\"./validate/validate_paint_property\")),n.layoutProperty=a(t(\"./validate/validate_layout_property\")),e.exports=n},{\"../reference/latest.min\":286,\"./validate/validate\":269,\"./validate/validate_constants\":273,\"./validate/validate_filter\":275,\"./validate/validate_glyphs_url\":277,\"./validate/validate_layer\":278,\"./validate/validate_layout_property\":279,\"./validate/validate_paint_property\":282,\"./validate/validate_source\":283}],286:[function(t,e,r){e.exports=t(\"./v8.min.json\")},{\"./v8.min.json\":287}],287:[function(t,e,r){e.exports={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_tile\",\"source_geojson\",\"source_video\",\"source_image\"],source_tile:{type:{required:!0,type:\"enum\",values:[\"vector\",\"raster\"]},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:[\"geojson\"]},data:{type:\"*\"},maxzoom:{type:\"number\",default:14},buffer:{type:\"number\",default:64},tolerance:{type:\"number\",default:3},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:400},clusterMaxZoom:{type:\"number\"}},source_video:{type:{required:!0,type:\"enum\",values:[\"video\"]},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:[\"image\"]},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:[\"fill\",\"line\",\"symbol\",\"circle\",\"raster\",\"background\"]},metadata:{type:\"*\"},ref:{type:\"string\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:22},maxzoom:{type:\"number\",minimum:0,maximum:22},interactive:{type:\"boolean\",default:!1},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"},\"paint.*\":{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_symbol\",\"layout_raster\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_fill:{visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_circle:{visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_line:{\"line-cap\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"butt\",\"round\",\"square\"],default:\"butt\"},\"line-join\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"bevel\",\"round\",\"miter\"],default:\"miter\"},\"line-miter-limit\":{type:\"number\",default:2,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[{\"line-join\":\"miter\"}]},\"line-round-limit\":{type:\"number\",default:1.05,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[{\"line-join\":\"round\"}]},visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"point\",\"line\"],default:\"point\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}]},\"symbol-avoid-edges\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1},\"icon-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"icon-image\",\"text-field\"]},\"icon-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"viewport\",requires:[\"icon-image\"]},\"icon-size\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"icon-image\"]},\"icon-text-fit\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!1,values:[\"none\",\"both\",\"width\",\"height\"],default:\"none\",requires:[\"icon-image\",\"text-field\"]},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"icon-image\",\"icon-text-fit\",\"text-field\"]},\"icon-image\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,tokens:!0},\"icon-rotate\":{type:\"number\",default:0,period:360,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"degrees\",requires:[\"icon-image\"]},\"icon-padding\":{type:\"number\",default:2,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":\"line\"}]},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"icon-image\"]},\"text-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],requires:[\"text-field\"]},\"text-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"viewport\",requires:[\"text-field\"]},\"text-field\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:\"\",tokens:!0},\"text-font\":{type:\"array\",value:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"]},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"em\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-line-height\":{type:\"number\",default:1.2,units:\"em\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-letter-spacing\":{type:\"number\",default:0,units:\"em\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-justify\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"left\",\"center\",\"right\"],default:\"center\",requires:[\"text-field\"]},\"text-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:\"center\",requires:[\"text-field\"]},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\",{\"symbol-placement\":\"line\"}]},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":\"line\"}]},\"text-transform\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"none\",\"uppercase\",\"lowercase\"],default:\"none\",requires:[\"text-field\"]},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,length:2,default:[0,0],requires:[\"text-field\"]},\"text-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"text-field\"]},\"text-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"text-field\"]},\"text-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"text-field\",\"icon-image\"]},visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_raster:{visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:[\"==\",\"!=\",\">\",\">=\",\"<\",\"<=\",\"in\",\"!in\",\"all\",\"any\",\"none\",\"has\",\"!has\"]},geometry_type:{type:\"enum\",values:[\"Point\",\"LineString\",\"Polygon\"]},color_operation:{type:\"enum\",values:[\"lighten\",\"saturate\",\"spin\",\"fade\",\"mix\"]},function:{stops:{type:\"array\",required:!0,value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:[\"exponential\",\"interval\",\"categorical\"],default:\"exponential\"}},function_stop:{type:\"array\",minimum:0,maximum:22,value:[\"number\",\"color\"],length:2},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!0},\"fill-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"fill-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{type:\"color\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}]},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"fill-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"fill-translate\"]},\"fill-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,transition:!0}},paint_line:{\"line-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"line-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"line-pattern\"}]},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"line-translate\"]},\"line-width\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-offset\":{type:\"number\",default:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-dasharray\":{type:\"array\",value:\"number\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}]},\"line-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,transition:!0}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-blur\":{type:\"number\",default:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"circle-translate\"]},\"circle-pitch-scale\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\n\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-halo-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"text-field\",\"text-translate\"]}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"degrees\"},\"raster-brightness-min\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,default:0,minimum:0,maximum:1,transition:!0},\"raster-brightness-max\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"milliseconds\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0,requires:[{\"!\":\"background-pattern\"}]},\"background-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}}}},{}],288:[function(t,e,r){\"use strict\";function n(t){return!!(i()&&a()&&o()&&s()&&l()&&u()&&c()&&h(t&&t.failIfMajorPerformanceCaveat))}function i(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function a(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function o(){return Function.prototype&&Function.prototype.bind}function s(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function l(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function u(){return\"Worker\"in window}function c(){return\"Uint8ClampedArray\"in window}function h(t){return void 0===d[t]&&(d[t]=f(t)),d[t]}function f(t){var e=document.createElement(\"canvas\"),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(\"webgl\",r)||e.probablySupportsContext(\"experimental-webgl\",r):e.supportsContext?e.supportsContext(\"webgl\",r)||e.supportsContext(\"experimental-webgl\",r):e.getContext(\"webgl\",r)||e.getContext(\"experimental-webgl\",r)}\"undefined\"!=typeof e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var d={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],289:[function(t,e,r){\"use strict\";function n(t){var e=t.layoutVertexArrayType;this.layoutVertexArray=new e;var r=t.elementArrayType;r&&(this.elementArray=new r);var n=t.elementArrayType2;n&&(this.elementArray2=new n),this.paintVertexArrays=i.mapObject(t.paintVertexArrayTypes,function(t){return new t})}var i=t(\"../util/util\");e.exports=n,n.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,n.prototype.hasCapacityFor=function(t){return this.layoutVertexArray.length+t<=n.MAX_VERTEX_ARRAY_LENGTH},n.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},n.prototype.trim=function(){this.layoutVertexArray.trim(),this.elementArray&&this.elementArray.trim(),this.elementArray2&&this.elementArray2.trim();for(var t in this.paintVertexArrays)this.paintVertexArrays[t].trim()},n.prototype.serialize=function(){return{layoutVertexArray:this.layoutVertexArray.serialize(),elementArray:this.elementArray&&this.elementArray.serialize(),elementArray2:this.elementArray2&&this.elementArray2.serialize(),paintVertexArrays:i.mapObject(this.paintVertexArrays,function(t){return t.serialize()})}},n.prototype.getTransferables=function(t){t.push(this.layoutVertexArray.arrayBuffer),this.elementArray&&t.push(this.elementArray.arrayBuffer),this.elementArray2&&t.push(this.elementArray2.arrayBuffer);for(var e in this.paintVertexArrays)t.push(this.paintVertexArrays[e].arrayBuffer)}},{\"../util/util\":403}],290:[function(t,e,r){\"use strict\";function n(t){if(this.zoom=t.zoom,this.overscaling=t.overscaling,this.layer=t.layer,this.childLayers=t.childLayers,this.type=this.layer.type,this.features=[],this.id=this.layer.id,this.index=t.index,this.sourceLayer=this.layer.sourceLayer,this.sourceLayerIndex=t.sourceLayerIndex,this.minZoom=this.layer.minzoom,this.maxZoom=this.layer.maxzoom,this.paintAttributes=i(this),t.arrays){var e=this.programInterfaces;this.bufferGroups=c.mapObject(t.arrays,function(r,n){var i=e[n],a=t.paintVertexArrayTypes[n];return r.map(function(t){return new u(t,{layoutVertexArrayType:i.layoutVertexArrayType.serialize(),elementArrayType:i.elementArrayType&&i.elementArrayType.serialize(),elementArrayType2:i.elementArrayType2&&i.elementArrayType2.serialize(),paintVertexArrayTypes:a})})})}}function i(t){var e={};for(var r in t.programInterfaces){for(var n=e[r]={},i=0;i<t.childLayers.length;i++){var s=t.childLayers[i];n[s.id]={attributes:[],uniforms:[],defines:[],vertexPragmas:{define:{},initialize:{}},fragmentPragmas:{define:{},initialize:{}}}}var l=t.programInterfaces[r];if(l.paintAttributes)for(var u=\"{precision}\",h=\"{type}\",d=0;d<l.paintAttributes.length;d++){var p=l.paintAttributes[d];p.multiplier=p.multiplier||1;for(var g=0;g<t.childLayers.length;g++){var m=t.childLayers[g],v=n[m.id],y=p.name;f(\"a_\"===p.name.slice(0,2));var x,b=p.name.slice(2);if(v.fragmentPragmas.initialize[b]=\"\",m.isPaintValueFeatureConstant(p.paintProperty))v.uniforms.push(p),v.fragmentPragmas.define[b]=v.vertexPragmas.define[b]=[\"uniform\",u,h,y].join(\" \")+\";\",v.fragmentPragmas.initialize[b]=v.vertexPragmas.initialize[b]=[u,h,b,\"=\",y].join(\" \")+\";\\n\";else if(m.isPaintValueZoomConstant(p.paintProperty)){v.attributes.push(c.extend({},p,{name:y})),x=[\"varying\",u,h,b].join(\" \")+\";\\n\";var _=[v.fragmentPragmas.define[b],\"attribute\",u,h,y].join(\" \")+\";\\n\";v.fragmentPragmas.define[b]=x,v.vertexPragmas.define[b]=x+_,v.vertexPragmas.initialize[b]=[b,\"=\",y,\"/\",p.multiplier.toFixed(1)].join(\" \")+\";\\n\"}else{for(var w=\"u_\"+y.slice(2)+\"_t\",M=m.getPaintValueStopZoomLevels(p.paintProperty),A=0;A<M.length&&M[A]<t.zoom;)A++;for(var k=Math.max(0,Math.min(M.length-4,A-2)),T=[],E=0;E<4;E++)T.push(M[Math.min(k+E,M.length-1)]);x=[\"varying\",u,h,b].join(\" \")+\";\\n\",v.vertexPragmas.define[b]=x+[\"uniform\",\"lowp\",\"float\",w].join(\" \")+\";\\n\",v.fragmentPragmas.define[b]=x,v.uniforms.push(c.extend({},p,{name:w,getValue:o(p,k),components:1}));var S=p.components;if(1===S)v.attributes.push(c.extend({},p,{getValue:a(p,T),isFunction:!0,components:4*S})),v.vertexPragmas.define[b]+=[\"attribute\",u,\"vec4\",y].join(\" \")+\";\\n\",v.vertexPragmas.initialize[b]=[b,\"=\",\"evaluate_zoom_function_1(\"+y+\", \"+w+\")\",\"/\",p.multiplier.toFixed(1)].join(\" \")+\";\\n\";else{for(var L=[],z=0;z<4;z++)L.push(y+z),v.attributes.push(c.extend({},p,{getValue:a(p,[T[z]]),isFunction:!0,name:y+z})),v.vertexPragmas.define[b]+=[\"attribute\",u,h,y+z].join(\" \")+\";\\n\";v.vertexPragmas.initialize[b]=[b,\" = \",\"evaluate_zoom_function_4(\"+L.join(\", \")+\", \"+w+\")\",\"/\",p.multiplier.toFixed(1)].join(\" \")+\";\\n\"}}}}}return e}function a(t,e){return function(r,n,i){if(1===e.length)return t.getValue(r,c.extend({},n,{zoom:e[0]}),i);for(var a=[],o=0;o<e.length;o++){var s=e[o];a.push(t.getValue(r,c.extend({},n,{zoom:s}),i)[0])}return a}}function o(t,e){return function(r,n){var i=r.getPaintInterpolationT(t.paintProperty,n.zoom);return[Math.max(0,Math.min(4,i-e))]}}var s=t(\"feature-filter\"),l=t(\"./array_group\"),u=t(\"./buffer_group\"),c=t(\"../util/util\"),h=t(\"../util/struct_array\"),f=t(\"assert\");e.exports=n,n.create=function(e){var r={fill:t(\"./bucket/fill_bucket\"),line:t(\"./bucket/line_bucket\"),circle:t(\"./bucket/circle_bucket\"),symbol:t(\"./bucket/symbol_bucket\")};return new r[e.layer.type](e)},n.EXTENT=8192,n.prototype.populateArrays=function(){this.createArrays(),this.recalculateStyleLayers();for(var t=0;t<this.features.length;t++)this.addFeature(this.features[t]);this.trimArrays()},n.prototype.prepareArrayGroup=function(t,e){var r=this.arrayGroups[t],n=r.length&&r[r.length-1];return n&&n.hasCapacityFor(e)||(n=new l({layoutVertexArrayType:this.programInterfaces[t].layoutVertexArrayType,elementArrayType:this.programInterfaces[t].elementArrayType,elementArrayType2:this.programInterfaces[t].elementArrayType2,paintVertexArrayTypes:this.paintVertexArrayTypes[t]}),n.index=r.length,r.push(n)),n},n.prototype.createArrays=function(){this.arrayGroups={},this.paintVertexArrayTypes={};for(var t in this.programInterfaces){this.arrayGroups[t]=[];var e=this.paintVertexArrayTypes[t]={},r=this.paintAttributes[t];for(var i in r)e[i]=new n.VertexArrayType(r[i].attributes)}},n.prototype.destroy=function(t){for(var e in this.bufferGroups)for(var r=this.bufferGroups[e],n=0;n<r.length;n++)r[n].destroy(t)},n.prototype.trimArrays=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r<e.length;r++)e[r].trim()},n.prototype.isEmpty=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r<e.length;r++)if(!e[r].isEmpty())return!1;return!0},n.prototype.getTransferables=function(t){for(var e in this.arrayGroups)for(var r=this.arrayGroups[e],n=0;n<r.length;n++)r[n].getTransferables(t)},n.prototype.setUniforms=function(t,e,r,n,i){for(var a=this.paintAttributes[e][n.id].uniforms,o=0;o<a.length;o++){var s=a[o],l=r[s.name];t[\"uniform\"+s.components+\"fv\"](l,s.getValue(n,i))}},n.prototype.serialize=function(){return{layerId:this.layer.id,zoom:this.zoom,arrays:c.mapObject(this.arrayGroups,function(t){return t.map(function(t){return t.serialize()})}),paintVertexArrayTypes:c.mapObject(this.paintVertexArrayTypes,function(t){return c.mapObject(t,function(t){return t.serialize()})}),childLayerIds:this.childLayers.map(function(t){return t.id})}},n.prototype.createFilter=function(){this.filter||(this.filter=s(this.layer.filter))};var d={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};n.prototype.recalculateStyleLayers=function(){for(var t=0;t<this.childLayers.length;t++)this.childLayers[t].recalculate(this.zoom,d)},n.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a=0;a<this.childLayers.length;a++)for(var o=this.childLayers[a],s=this.arrayGroups[t],l=n.index;l<s.length;l++){var u=s[l],c=u.layoutVertexArray.length,h=u.paintVertexArrays[o.id];h.resize(c);for(var f=this.paintAttributes[t][o.id].attributes,d=0;d<f.length;d++)for(var p=f[d],g=p.getValue(o,e,r),m=p.multiplier||1,v=p.components||1,y=l===n.index?i:0,x=y;x<c;x++)for(var b=h.get(x),_=0;_<v;_++){var w=v>1?p.name+_:p.name;b[w]=g[_]*m}}},n.VertexArrayType=function(t){return new h({members:t,alignment:4})},n.ElementArrayType=function(t){return new h({members:[{type:\"Uint16\",name:\"vertices\",components:t||3}]})}},{\"../util/struct_array\":401,\"../util/util\":403,\"./array_group\":289,\"./bucket/circle_bucket\":291,\"./bucket/fill_bucket\":292,\"./bucket/line_bucket\":293,\"./bucket/symbol_bucket\":294,\"./buffer_group\":296,assert:34,\"feature-filter\":105}],291:[function(t,e,r){\"use strict\";function n(){i.apply(this,arguments)}var i=t(\"../bucket\"),a=t(\"../../util/util\"),o=t(\"../load_geometry\"),s=i.EXTENT;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.addCircleVertex=function(t,e,r,n,i){return t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)},n.prototype.programInterfaces={circle:{layoutVertexArrayType:new i.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:new i.ElementArrayType,paintAttributes:[{name:\"a_color\",components:4,type:\"Uint8\",getValue:function(t,e,r){return t.getPaintValue(\"circle-color\",e,r)},multiplier:255,paintProperty:\"circle-color\"},{name:\"a_radius\",components:1,type:\"Uint16\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\"circle-radius\",e,r)]},multiplier:10,paintProperty:\"circle-radius\"},{name:\"a_blur\",components:1,type:\"Uint16\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\"circle-blur\",e,r)]},multiplier:10,paintProperty:\"circle-blur\"},{name:\"a_opacity\",components:1,type:\"Uint16\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\"circle-opacity\",e,r)]},multiplier:255,paintProperty:\"circle-opacity\"}]}},n.prototype.addFeature=function(t){for(var e={zoom:this.zoom},r=o(t),n=this.prepareArrayGroup(\"circle\",0),i=n.layoutVertexArray.length,a=0;a<r.length;a++)for(var l=0;l<r[a].length;l++){var u=r[a][l].x,c=r[a][l].y;if(!(u<0||u>=s||c<0||c>=s)){var h=this.prepareArrayGroup(\"circle\",4),f=h.layoutVertexArray,d=this.addCircleVertex(f,u,c,-1,-1);this.addCircleVertex(f,u,c,1,-1),this.addCircleVertex(f,u,c,1,1),this.addCircleVertex(f,u,c,-1,1),h.elementArray.emplaceBack(d,d+1,d+2),h.elementArray.emplaceBack(d,d+3,d+2)}}this.populatePaintArrays(\"circle\",e,t.properties,n,i)}},{\"../../util/util\":403,\"../bucket\":290,\"../load_geometry\":298}],292:[function(t,e,r){\"use strict\";function n(){i.apply(this,arguments)}var i=t(\"../bucket\"),a=t(\"../../util/util\"),o=t(\"../load_geometry\"),s=t(\"earcut\"),l=t(\"../../util/classify_rings\"),u=500;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.programInterfaces={fill:{layoutVertexArrayType:new i.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:new i.ElementArrayType(1),elementArrayType2:new i.ElementArrayType(2),paintAttributes:[{name:\"a_color\",components:4,type:\"Uint8\",getValue:function(t,e,r){return t.getPaintValue(\"fill-color\",e,r)},multiplier:255,paintProperty:\"fill-color\"},{name:\"a_outline_color\",components:4,type:\"Uint8\",getValue:function(t,e,r){return t.getPaintValue(\"fill-outline-color\",e,r)},multiplier:255,paintProperty:\"fill-outline-color\"},{name:\"a_opacity\",components:1,type:\"Uint8\",getValue:function(t,e,r){return[t.getPaintValue(\"fill-opacity\",e,r)]},multiplier:255,paintProperty:\"fill-opacity\"}]}},n.prototype.addFeature=function(t){for(var e=o(t),r=l(e,u),n=this.prepareArrayGroup(\"fill\",0),i=n.layoutVertexArray.length,a=0;a<r.length;a++)this.addPolygon(r[a]);this.populatePaintArrays(\"fill\",{zoom:this.zoom},t.properties,n,i)},n.prototype.addPolygon=function(t){for(var e=0,r=0;r<t.length;r++)e+=t[r].length;for(var n=this.prepareArrayGroup(\"fill\",e),i=[],a=[],o=n.layoutVertexArray.length,l=0;l<t.length;l++){var u=t[l];l>0&&a.push(i.length/2);for(var c=0;c<u.length;c++){var h=u[c],f=n.layoutVertexArray.emplaceBack(h.x,h.y);c>=1&&n.elementArray2.emplaceBack(f-1,f),i.push(h.x),i.push(h.y)}}for(var d=s(i,a),p=0;p<d.length;p++)n.elementArray.emplaceBack(d[p]+o)}},{\"../../util/classify_rings\":391,\"../../util/util\":403,\"../bucket\":290,\"../load_geometry\":298,earcut:99}],293:[function(t,e,r){\"use strict\";function n(){i.apply(this,arguments)}var i=t(\"../bucket\"),a=t(\"../../util/util\"),o=t(\"../load_geometry\"),s=i.EXTENT,l=63,u=Math.cos(37.5*(Math.PI/180)),c=15,h=15,f=.5,d=Math.pow(2,h-1)/f;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.addLineVertex=function(t,e,r,n,i,a,o){return t.emplaceBack(e.x<<1|n,e.y<<1|i,Math.round(l*r.x)+128,Math.round(l*r.y)+128,(0===a?0:a<0?-1:1)+1|(o*f&63)<<2,o*f>>6)},n.prototype.programInterfaces={line:{layoutVertexArrayType:new i.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),elementArrayType:new i.ElementArrayType}},n.prototype.addFeature=function(t){for(var e=o(t,h),r=0;r<e.length;r++)this.addLine(e[r],this.layer.layout[\"line-join\"],this.layer.layout[\"line-cap\"],this.layer.layout[\"line-miter-limit\"],this.layer.layout[\"line-round-limit\"])},n.prototype.addLine=function(t,e,r,n,i){for(var a=t.length;a>2&&t[a-1].equals(t[a-2]);)a--;if(!(t.length<2)){\"bevel\"===e&&(n=1.05);var o=c*(s/(512*this.overscaling)),l=t[0],h=t[a-1],f=l.equals(h);if(this.prepareArrayGroup(\"line\",10*a),2!==a||!f){this.distance=0;var d,p,g,m,v,y,x,b=r,_=f?\"butt\":r,w=!0;this.e1=this.e2=this.e3=-1,f&&(d=t[a-2],v=l.sub(d)._unit()._perp());for(var M=0;M<a;M++)if(g=f&&M===a-1?t[1]:t[M+1],!g||!t[M].equals(g)){v&&(m=v),d&&(p=d),d=t[M],v=g?g.sub(d)._unit()._perp():m,m=m||v;var A=m.add(v)._unit(),k=A.x*v.x+A.y*v.y,T=1/k,E=k<u&&p&&g;if(E&&M>0){var S=d.dist(p);if(S>2*o){var L=d.sub(d.sub(p)._mult(o/S)._round());this.distance+=L.dist(p),this.addCurrentVertex(L,this.distance,m.mult(1),0,0,!1),p=L}}var z=p&&g,C=z?e:g?b:_;if(z&&\"round\"===C&&(T<i?C=\"miter\":T<=2&&(C=\"fakeround\")),\"miter\"===C&&T>n&&(C=\"bevel\"),\"bevel\"===C&&(T>2&&(C=\"flipbevel\"),T<n&&(C=\"miter\")),p&&(this.distance+=d.dist(p)),\"miter\"===C)A._mult(T),this.addCurrentVertex(d,this.distance,A,0,0,!1);else if(\"flipbevel\"===C){if(T>100)A=v.clone();else{var I=m.x*v.y-m.y*v.x>0?-1:1,P=T*m.add(v).mag()/m.sub(v).mag();A._perp()._mult(P*I)}this.addCurrentVertex(d,this.distance,A,0,0,!1),this.addCurrentVertex(d,this.distance,A.mult(-1),0,0,!1)}else if(\"bevel\"===C||\"fakeround\"===C){var D=m.x*v.y-m.y*v.x>0,O=-Math.sqrt(T*T-1);if(D?(x=0,y=O):(y=0,x=O),w||this.addCurrentVertex(d,this.distance,m,y,x,!1),\"fakeround\"===C){for(var R,F=Math.floor(8*(.5-(k-.5))),j=0;j<F;j++)R=v.mult((j+1)/(F+1))._add(m)._unit(),this.addPieSliceVertex(d,this.distance,R,D);this.addPieSliceVertex(d,this.distance,A,D);for(var N=F-1;N>=0;N--)R=m.mult((N+1)/(F+1))._add(v)._unit(),this.addPieSliceVertex(d,this.distance,R,D)}g&&this.addCurrentVertex(d,this.distance,v,-y,-x,!1)}else\"butt\"===C?(w||this.addCurrentVertex(d,this.distance,m,0,0,!1),g&&this.addCurrentVertex(d,this.distance,v,0,0,!1)):\"square\"===C?(w||(this.addCurrentVertex(d,this.distance,m,1,1,!1),this.e1=this.e2=-1),g&&this.addCurrentVertex(d,this.distance,v,-1,-1,!1)):\"round\"===C&&(w||(this.addCurrentVertex(d,this.distance,m,0,0,!1),this.addCurrentVertex(d,this.distance,m,1,1,!0),this.e1=this.e2=-1),g&&(this.addCurrentVertex(d,this.distance,v,-1,-1,!0),this.addCurrentVertex(d,this.distance,v,0,0,!1)));if(E&&M<a-1){var B=d.dist(g);if(B>2*o){var U=d.add(g.sub(d)._mult(o/B)._round());this.distance+=U.dist(d),this.addCurrentVertex(U,this.distance,v.mult(1),0,0,!1),d=U}}w=!1}}}},n.prototype.addCurrentVertex=function(t,e,r,n,i,a){var o,s=a?1:0,l=this.arrayGroups.line[this.arrayGroups.line.length-1],u=l.layoutVertexArray,c=l.elementArray;o=r.clone(),n&&o._sub(r.perp()._mult(n)),this.e3=this.addLineVertex(u,t,o,s,0,n,e),this.e1>=0&&this.e2>=0&&c.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),i&&o._sub(r.perp()._mult(i)),this.e3=this.addLineVertex(u,t,o,s,1,-i,e),this.e1>=0&&this.e2>=0&&c.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,e>d/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a))},n.prototype.addPieSliceVertex=function(t,e,r,n){var i=n?1:0;r=r.mult(n?-1:1);var a=this.arrayGroups.line[this.arrayGroups.line.length-1],o=a.layoutVertexArray,s=a.elementArray;this.e3=this.addLineVertex(o,t,r,0,i,0,e),this.e1>=0&&this.e2>=0&&s.emplaceBack(this.e1,this.e2,this.e3),n?this.e2=this.e3:this.e1=this.e3}},{\"../../util/util\":403,\"../bucket\":290,\"../load_geometry\":298}],294:[function(t,e,r){\"use strict\";function n(t){o.apply(this,arguments),this.showCollisionBoxes=t.showCollisionBoxes,this.overscaling=t.overscaling,this.collisionBoxArray=t.collisionBoxArray,this.symbolQuadsArray=t.symbolQuadsArray,this.symbolInstancesArray=t.symbolInstancesArray,this.sdfIcons=t.sdfIcons,this.iconsNeedLinear=t.iconsNeedLinear,this.adjustedTextSize=t.adjustedTextSize,this.adjustedIconSize=t.adjustedIconSize,this.fontstack=t.fontstack}function i(t,e,r,n,i,a,o,s,l,u,c){return t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a/4,o/4,10*(u||0),c,10*(s||0),10*Math.min(l||25,25))}var a=t(\"point-geometry\"),o=t(\"../bucket\"),s=t(\"../../symbol/anchor\"),l=t(\"../../symbol/get_anchors\"),u=t(\"../../util/token\"),c=t(\"../../symbol/quads\"),h=t(\"../../symbol/shaping\"),f=t(\"../../symbol/resolve_text\"),d=t(\"../../symbol/mergelines\"),p=t(\"../../symbol/clip_line\"),g=t(\"../../util/util\"),m=t(\"../load_geometry\"),v=t(\"../../symbol/collision_feature\"),y=h.shapeText,x=h.shapeIcon,b=c.getGlyphQuads,_=c.getIconQuads,w=o.EXTENT;e.exports=n,n.MAX_QUADS=65535,n.prototype=g.inherit(o,{}),n.prototype.serialize=function(){var t=o.prototype.serialize.apply(this);return t.sdfIcons=this.sdfIcons,t.iconsNeedLinear=this.iconsNeedLinear,t.adjustedTextSize=this.adjustedTextSize,t.adjustedIconSize=this.adjustedIconSize,t.fontstack=this.fontstack,t};var M=new o.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_offset\",components:2,type:\"Int16\"},{name:\"a_texture_pos\",components:2,type:\"Uint16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),A=new o.ElementArrayType;n.prototype.addCollisionBoxVertex=function(t,e,r,n,i){return t.emplaceBack(e.x,e.y,Math.round(r.x),Math.round(r.y),10*n,10*i)},n.prototype.programInterfaces={glyph:{layoutVertexArrayType:M,elementArrayType:A},icon:{layoutVertexArrayType:M,elementArrayType:A},collisionBox:{layoutVertexArrayType:new o.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}])}},n.prototype.populateArrays=function(t,e,r){var n={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};this.adjustedTextMaxSize=this.layer.getLayoutValue(\"text-size\",{zoom:18,zoomHistory:n}),this.adjustedTextSize=this.layer.getLayoutValue(\"text-size\",{zoom:this.zoom+1,zoomHistory:n}),this.adjustedIconMaxSize=this.layer.getLayoutValue(\"icon-size\",{zoom:18,zoomHistory:n}),this.adjustedIconSize=this.layer.getLayoutValue(\"icon-size\",{zoom:this.zoom+1,zoomHistory:n});var i=512*this.overscaling;this.tilePixelRatio=w/i,this.compareText={},this.iconsNeedLinear=!1,this.symbolInstancesStartIndex=this.symbolInstancesArray.length;var a=this.layer.layout,o=this.features,s=this.textFeatures,l=.5,c=.5;switch(a[\"text-anchor\"]){case\"right\":case\"top-right\":case\"bottom-right\":l=1;break;case\"left\":case\"top-left\":case\"bottom-left\":l=0}switch(a[\"text-anchor\"]){case\"bottom\":case\"bottom-right\":case\"bottom-left\":c=1;break;case\"top\":case\"top-right\":case\"top-left\":c=0}for(var h=\"right\"===a[\"text-justify\"]?1:\"left\"===a[\"text-justify\"]?0:.5,f=24,p=a[\"text-line-height\"]*f,v=\"line\"!==a[\"symbol-placement\"]?a[\"text-max-width\"]*f:0,b=a[\"text-letter-spacing\"]*f,_=[a[\"text-offset\"][0]*f,a[\"text-offset\"][1]*f],M=this.fontstack=a[\"text-font\"].join(\",\"),A=[],k=0;k<o.length;k++)A.push(m(o[k]));if(\"line\"===a[\"symbol-placement\"]){var T=d(o,s,A);A=T.geometries,o=T.features,s=T.textFeatures}for(var E,S,L=0;L<o.length;L++)if(A[L]){if(E=s[L]?y(s[L],e[M],v,p,l,c,h,b,_):null,a[\"icon-image\"]){var z=u(o[L].properties,a[\"icon-image\"]),C=r[z];S=x(C,a),C&&(void 0===this.sdfIcons?this.sdfIcons=C.sdf:this.sdfIcons!==C.sdf&&g.warnOnce(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),1!==C.pixelRatio?this.iconsNeedLinear=!0:0===a[\"icon-rotate\"]&&this.layer.isLayoutValueFeatureConstant(\"icon-rotate\")||(this.iconsNeedLinear=!0))}else S=null;(E||S)&&this.addFeature(A[L],E,S,o[L])}this.symbolInstancesEndIndex=this.symbolInstancesArray.length,this.placeFeatures(t,this.showCollisionBoxes),this.trimArrays()},n.prototype.addFeature=function(t,e,r,n){var i=this.layer.layout,a=24,o=this.adjustedTextSize/a,u=void 0!==this.adjustedTextMaxSize?this.adjustedTextMaxSize:this.adjustedTextSize,c=this.tilePixelRatio*o,h=this.tilePixelRatio*u/a,f=this.tilePixelRatio*this.adjustedIconSize,d=this.tilePixelRatio*i[\"symbol-spacing\"],g=i[\"symbol-avoid-edges\"],m=i[\"text-padding\"]*this.tilePixelRatio,v=i[\"icon-padding\"]*this.tilePixelRatio,y=i[\"text-max-angle\"]/180*Math.PI,x=\"map\"===i[\"text-rotation-alignment\"]&&\"line\"===i[\"symbol-placement\"],b=\"map\"===i[\"icon-rotation-alignment\"]&&\"line\"===i[\"symbol-placement\"],_=i[\"text-allow-overlap\"]||i[\"icon-allow-overlap\"]||i[\"text-ignore-placement\"]||i[\"icon-ignore-placement\"],M=\"line\"===i[\"symbol-placement\"],A=d/2;M&&(t=p(t,0,0,w,w));for(var k=0;k<t.length;k++){var T,E=t[k];T=M?l(E,d,y,e,r,a,h,this.overscaling,w):[new s(E[0].x,E[0].y,0)];for(var S=0,L=T.length;S<L;S++){var z=T[S];if(!(e&&M&&this.anchorIsTooClose(e.text,A,z))){var C=!(z.x<0||z.x>w||z.y<0||z.y>w);if(!g||C){var I=C||_;this.addSymbolInstance(z,E,e,r,this.layer,I,this.symbolInstancesArray.length,this.collisionBoxArray,n.index,this.sourceLayerIndex,this.index,c,m,x,f,v,b,{zoom:this.zoom},n.properties)}}}}},n.prototype.anchorIsTooClose=function(t,e,r){var n=this.compareText;if(t in n){for(var i=n[t],a=i.length-1;a>=0;a--)if(r.dist(i[a])<e)return!0}else n[t]=[];return n[t].push(r),!1},n.prototype.placeFeatures=function(t,e){this.recalculateStyleLayers(),this.createArrays();var r=this.layer.layout,n=t.maxScale,i=\"map\"===r[\"text-rotation-alignment\"]&&\"line\"===r[\"symbol-placement\"],a=\"map\"===r[\"icon-rotation-alignment\"]&&\"line\"===r[\"symbol-placement\"],o=r[\"text-allow-overlap\"]||r[\"icon-allow-overlap\"]||r[\"text-ignore-placement\"]||r[\"icon-ignore-placement\"];if(o){var s=this.symbolInstancesArray.toArray(this.symbolInstancesStartIndex,this.symbolInstancesEndIndex),l=t.angle,u=Math.sin(l),c=Math.cos(l);this.sortedSymbolInstances=s.sort(function(t,e){var r=u*t.anchorPointX+c*t.anchorPointY|0,n=u*e.anchorPointX+c*e.anchorPointY|0;return r-n||e.index-t.index})}for(var h=this.symbolInstancesStartIndex;h<this.symbolInstancesEndIndex;h++){var f=this.sortedSymbolInstances?this.sortedSymbolInstances[h-this.symbolInstancesStartIndex]:this.symbolInstancesArray.get(h),d={boxStartIndex:f.textBoxStartIndex,boxEndIndex:f.textBoxEndIndex},p={boxStartIndex:f.iconBoxStartIndex,boxEndIndex:f.iconBoxEndIndex},g=!(f.textBoxStartIndex===f.textBoxEndIndex),m=!(f.iconBoxStartIndex===f.iconBoxEndIndex),v=r[\"text-optional\"]||!g,y=r[\"icon-optional\"]||!m,x=g?t.placeCollisionFeature(d,r[\"text-allow-overlap\"],r[\"symbol-avoid-edges\"]):t.minScale,b=m?t.placeCollisionFeature(p,r[\"icon-allow-overlap\"],r[\"symbol-avoid-edges\"]):t.minScale;v||y?!y&&x?x=Math.max(b,x):!v&&b&&(b=Math.max(b,x)):b=x=Math.max(b,x),g&&(t.insertCollisionFeature(d,x,r[\"text-ignore-placement\"]),x<=n&&this.addSymbols(\"glyph\",f.glyphQuadStartIndex,f.glyphQuadEndIndex,x,r[\"text-keep-upright\"],i,t.angle)),m&&(t.insertCollisionFeature(p,b,r[\"icon-ignore-placement\"]),b<=n&&this.addSymbols(\"icon\",f.iconQuadStartIndex,f.iconQuadEndIndex,b,r[\"icon-keep-upright\"],a,t.angle))}e&&this.addToDebugBuffers(t)},n.prototype.addSymbols=function(t,e,r,n,a,o,s){for(var l=this.prepareArrayGroup(t,4*(r-e)),u=l.elementArray,c=l.layoutVertexArray,h=this.zoom,f=Math.max(Math.log(n)/Math.LN2+h,0),d=e;d<r;d++){var p=this.symbolQuadsArray.get(d).SymbolQuad,g=(p.anchorAngle+s+Math.PI)%(2*Math.PI);if(!(a&&o&&(g<=Math.PI/2||g>3*Math.PI/2))){var m=p.tl,v=p.tr,y=p.bl,x=p.br,b=p.tex,_=p.anchorPoint,w=Math.max(h+Math.log(p.minScale)/Math.LN2,f),M=Math.min(h+Math.log(p.maxScale)/Math.LN2,25);if(!(M<=w)){w===f&&(w=0);var A=Math.round(p.glyphAngle/(2*Math.PI)*256),k=i(c,_.x,_.y,m.x,m.y,b.x,b.y,w,M,f,A);i(c,_.x,_.y,v.x,v.y,b.x+b.w,b.y,w,M,f,A),i(c,_.x,_.y,y.x,y.y,b.x,b.y+b.h,w,M,f,A),i(c,_.x,_.y,x.x,x.y,b.x+b.w,b.y+b.h,w,M,f,A),u.emplaceBack(k,k+1,k+2),u.emplaceBack(k+1,k+2,k+3)}}}},n.prototype.updateIcons=function(t){this.recalculateStyleLayers();var e=this.layer.layout[\"icon-image\"];if(e)for(var r=0;r<this.features.length;r++){var n=u(this.features[r].properties,e);n&&(t[n]=!0)}},n.prototype.updateFont=function(t){this.recalculateStyleLayers();var e=this.layer.layout[\"text-font\"],r=t[e]=t[e]||{};this.textFeatures=f(this.features,this.layer.layout,r)},n.prototype.addToDebugBuffers=function(t){for(var e=this.prepareArrayGroup(\"collisionBox\",0),r=e.layoutVertexArray,n=-t.angle,i=t.yStretch,o=this.symbolInstancesStartIndex;o<this.symbolInstancesEndIndex;o++){var s=this.symbolInstancesArray.get(o);s.textCollisionFeature={boxStartIndex:s.textBoxStartIndex,boxEndIndex:s.textBoxEndIndex},s.iconCollisionFeature={boxStartIndex:s.iconBoxStartIndex,boxEndIndex:s.iconBoxEndIndex};for(var l=0;l<2;l++){var u=s[0===l?\"textCollisionFeature\":\"iconCollisionFeature\"];if(u)for(var c=u.boxStartIndex;c<u.boxEndIndex;c++){var h=this.collisionBoxArray.get(c),f=h.anchorPoint,d=new a(h.x1,h.y1*i)._rotate(n),p=new a(h.x2,h.y1*i)._rotate(n),g=new a(h.x1,h.y2*i)._rotate(n),m=new a(h.x2,h.y2*i)._rotate(n),v=Math.max(0,Math.min(25,this.zoom+Math.log(h.maxScale)/Math.LN2)),y=Math.max(0,Math.min(25,this.zoom+Math.log(h.placementScale)/Math.LN2));this.addCollisionBoxVertex(r,f,d,v,y),this.addCollisionBoxVertex(r,f,p,v,y),this.addCollisionBoxVertex(r,f,p,v,y),this.addCollisionBoxVertex(r,f,m,v,y),this.addCollisionBoxVertex(r,f,m,v,y),this.addCollisionBoxVertex(r,f,g,v,y),this.addCollisionBoxVertex(r,f,g,v,y),this.addCollisionBoxVertex(r,f,d,v,y)}}}},n.prototype.addSymbolInstance=function(t,e,r,i,a,o,s,l,u,c,h,f,d,p,m,y,x,w,M){var A,k,T,E,S,L,z,C;if(r&&(z=o?b(t,r,f,e,a,p):[],S=new v(l,e,t,u,c,h,r,f,d,p,!1)),A=this.symbolQuadsArray.length,z&&z.length)for(var I=0;I<z.length;I++)this.addSymbolQuad(z[I]);k=this.symbolQuadsArray.length;var P=S?S.boxStartIndex:this.collisionBoxArray.length,D=S?S.boxEndIndex:this.collisionBoxArray.length;i&&(C=o?_(t,i,m,e,a,x,r,w,M):[],L=new v(l,e,t,u,c,h,i,m,y,x,!0)),T=this.symbolQuadsArray.length,C&&1===C.length&&this.addSymbolQuad(C[0]),E=this.symbolQuadsArray.length;var O=L?L.boxStartIndex:this.collisionBoxArray.length,R=L?L.boxEndIndex:this.collisionBoxArray.length;return E>n.MAX_QUADS&&g.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),k>n.MAX_QUADS&&g.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),this.symbolInstancesArray.emplaceBack(P,D,O,R,A,k,T,E,t.x,t.y,s)},n.prototype.addSymbolQuad=function(t){return this.symbolQuadsArray.emplaceBack(t.anchorPoint.x,t.anchorPoint.y,t.tl.x,t.tl.y,t.tr.x,t.tr.y,t.bl.x,t.bl.y,t.br.x,t.br.y,t.tex.h,t.tex.w,t.tex.x,t.tex.y,t.anchorAngle,t.glyphAngle,t.maxScale,t.minScale)}},{\"../../symbol/anchor\":352,\"../../symbol/clip_line\":354,\"../../symbol/collision_feature\":356,\"../../symbol/get_anchors\":358,\"../../symbol/mergelines\":361,\"../../symbol/quads\":362,\"../../symbol/resolve_text\":363,\"../../symbol/shaping\":364,\"../../util/token\":402,\"../../util/util\":403,\"../bucket\":290,\"../load_geometry\":298,\"point-geometry\":442}],295:[function(t,e,r){\"use strict\";function n(t,e,r){this.arrayBuffer=t.arrayBuffer,\nthis.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e}e.exports=n,n.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)};var i={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"};n.prototype.setVertexAttribPointers=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],a=e[n.name];void 0!==a&&t.vertexAttribPointer(a,n.components,t[i[n.type]],!1,this.arrayType.bytesPerElement,n.offset)}},n.prototype.destroy=function(t){this.buffer&&t.deleteBuffer(this.buffer)},n.BufferType={VERTEX:\"ARRAY_BUFFER\",ELEMENT:\"ELEMENT_ARRAY_BUFFER\"}},{}],296:[function(t,e,r){\"use strict\";function n(t,e){this.layoutVertexBuffer=new a(t.layoutVertexArray,e.layoutVertexArrayType,a.BufferType.VERTEX),t.elementArray&&(this.elementBuffer=new a(t.elementArray,e.elementArrayType,a.BufferType.ELEMENT));var r,n=this.vaos={};t.elementArray2&&(this.elementBuffer2=new a(t.elementArray2,e.elementArrayType2,a.BufferType.ELEMENT),r=this.secondVaos={}),this.paintVertexBuffers=i.mapObject(t.paintVertexArrays,function(i,s){return n[s]=new o,t.elementArray2&&(r[s]=new o),new a(i,e.paintVertexArrayTypes[s],a.BufferType.VERTEX)})}var i=t(\"../util/util\"),a=t(\"./buffer\"),o=t(\"../render/vertex_array_object\");e.exports=n,n.prototype.destroy=function(t){this.layoutVertexBuffer.destroy(t),this.elementBuffer&&this.elementBuffer.destroy(t),this.elementBuffer2&&this.elementBuffer2.destroy(t);for(var e in this.paintVertexBuffers)this.paintVertexBuffers[e].destroy(t);for(var r in this.vaos)this.vaos[r].destroy(t);for(var n in this.secondVaos)this.secondVaos[n].destroy(t)}},{\"../render/vertex_array_object\":318,\"../util/util\":403,\"./buffer\":295}],297:[function(t,e,r){\"use strict\";function n(t,e,r){if(t.grid){var n=t,i=e;t=n.coord,e=n.overscaling,this.grid=new p(n.grid),this.featureIndexArray=new A(n.featureIndexArray),this.rawTileData=i,this.bucketLayerIDs=n.bucketLayerIDs}else this.grid=new p(h,16,0),this.featureIndexArray=new A;this.coord=t,this.overscaling=e,this.x=t.x,this.y=t.y,this.z=t.z-Math.log(e)/Math.LN2,this.setCollisionTile(r)}function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function a(t,e){return e-t}function o(t){return t[\"line-gap-width\"]>0?t[\"line-gap-width\"]+2*t[\"line-width\"]:t[\"line-width\"]}function s(t,e,r,n,i){if(!e[0]&&!e[1])return t;e=u.convert(e),\"viewport\"===r&&e._rotate(-n);for(var a=[],o=0;o<t.length;o++){for(var s=t[o],l=[],c=0;c<s.length;c++)l.push(s[c].sub(e._mult(i)));a.push(l)}return a}function l(t,e){for(var r=[],n=new u(0,0),i=0;i<t.length;i++){for(var a=t[i],o=[],s=0;s<a.length;s++){var l=a[s-1],c=a[s],h=a[s+1],f=0===s?n:c.sub(l)._unit()._perp(),d=s===a.length-1?n:h.sub(c)._unit()._perp(),p=f._add(d)._unit(),g=p.x*d.x+p.y*d.y;p._mult(1/g),o.push(p._mult(e)._add(c))}r.push(o)}return r}var u=t(\"point-geometry\"),c=t(\"./load_geometry\"),h=t(\"./bucket\").EXTENT,f=t(\"feature-filter\"),d=t(\"../util/struct_array\"),p=t(\"grid-index\"),g=t(\"../util/dictionary_coder\"),m=t(\"vector-tile\"),v=t(\"pbf\"),y=t(\"../util/vectortile_to_geojson\"),x=t(\"../util/util\").arraysIntersect,b=t(\"../util/intersection_tests\"),_=b.multiPolygonIntersectsBufferedMultiPoint,w=b.multiPolygonIntersectsMultiPolygon,M=b.multiPolygonIntersectsBufferedMultiLine,A=new d({members:[{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]});e.exports=n,n.prototype.insert=function(t,e,r,n){var i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(e,r,n);for(var a=c(t),o=0;o<a.length;o++){for(var s=a[o],l=[1/0,1/0,-(1/0),-(1/0)],u=0;u<s.length;u++){var h=s[u];l[0]=Math.min(l[0],h.x),l[1]=Math.min(l[1],h.y),l[2]=Math.max(l[2],h.x),l[3]=Math.max(l[3],h.y)}this.grid.insert(i,l[0],l[1],l[2],l[3])}},n.prototype.setCollisionTile=function(t){this.collisionTile=t},n.prototype.serialize=function(){var t={coord:this.coord,overscaling:this.overscaling,grid:this.grid.toArrayBuffer(),featureIndexArray:this.featureIndexArray.serialize(),bucketLayerIDs:this.bucketLayerIDs};return{data:t,transferables:[t.grid,t.featureIndexArray.arrayBuffer]}},n.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new m.VectorTile(new v(new Uint8Array(this.rawTileData))).layers,this.sourceLayerCoder=new g(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"]));var r={},n=t.params||{},s=h/t.tileSize/t.scale,l=f(n.filter),c=0;for(var d in e){var p=e[d],y=p.paint,x=0;\"line\"===p.type?x=o(y)/2+Math.abs(y[\"line-offset\"])+i(y[\"line-translate\"]):\"fill\"===p.type?x=i(y[\"fill-translate\"]):\"circle\"===p.type&&(x=y[\"circle-radius\"]+i(y[\"circle-translate\"])),c=Math.max(c,x*s)}for(var b=t.queryGeometry.map(function(t){return t.map(function(t){return new u(t.x,t.y)})}),_=1/0,w=1/0,M=-(1/0),A=-(1/0),k=0;k<b.length;k++)for(var T=b[k],E=0;E<T.length;E++){var S=T[E];_=Math.min(_,S.x),w=Math.min(w,S.y),M=Math.max(M,S.x),A=Math.max(A,S.y)}var L=this.grid.query(_-c,w-c,M+c,A+c);L.sort(a),this.filterMatching(r,L,this.featureIndexArray,b,l,n.layers,e,t.bearing,s);var z=this.collisionTile.queryRenderedSymbols(_,w,M,A,t.scale);return z.sort(),this.filterMatching(r,z,this.collisionTile.collisionBoxArray,b,l,n.layers,e,t.bearing,s),r},n.prototype.filterMatching=function(t,e,r,n,i,a,u,h,f){for(var d,p=0;p<e.length;p++){var g=e[p];if(g!==d){d=g;var m=r.get(g),v=this.bucketLayerIDs[m.bucketIndex];if(!a||x(a,v)){var b=this.sourceLayerCoder.decode(m.sourceLayerIndex),A=this.vtLayers[b],k=A.feature(m.featureIndex);if(i(k))for(var T=null,E=0;E<v.length;E++){var S=v[E];if(!(a&&a.indexOf(S)<0)){var L=u[S];if(L){var z;if(\"symbol\"!==L.type){T||(T=c(k));var C=L.paint;if(\"line\"===L.type){z=s(n,C[\"line-translate\"],C[\"line-translate-anchor\"],h,f);var I=o(C)/2*f;if(C[\"line-offset\"]&&(T=l(T,C[\"line-offset\"]*f)),!M(z,T,I))continue}else if(\"fill\"===L.type){if(z=s(n,C[\"fill-translate\"],C[\"fill-translate-anchor\"],h,f),!w(z,T))continue}else if(\"circle\"===L.type){z=s(n,C[\"circle-translate\"],C[\"circle-translate-anchor\"],h,f);var P=C[\"circle-radius\"]*f;if(!_(z,T,P))continue}}var D=new y(k,this.z,this.x,this.y);D.layer=L.serialize({includeRefProperties:!0});var O=t[S];void 0===O&&(O=t[S]=[]),O.push(D)}}}}}}}},{\"../util/dictionary_coder\":393,\"../util/intersection_tests\":398,\"../util/struct_array\":401,\"../util/util\":403,\"../util/vectortile_to_geojson\":404,\"./bucket\":290,\"./load_geometry\":298,\"feature-filter\":105,\"grid-index\":252,pbf:436,\"point-geometry\":442,\"vector-tile\":505}],298:[function(t,e,r){\"use strict\";function n(t){return{min:-1*Math.pow(2,t-1),max:Math.pow(2,t-1)-1}}var i=t(\"../util/util\"),a=t(\"./bucket\").EXTENT,o=t(\"assert\"),s={15:n(15),16:n(16)};e.exports=function(t,e){var r=s[e||16];o(r);for(var n=a/t.extent,l=t.loadGeometry(),u=0;u<l.length;u++)for(var c=l[u],h=0;h<c.length;h++){var f=c[h];f.x=Math.round(f.x*n),f.y=Math.round(f.y*n),(f.x<r.min||f.x>r.max||f.y<r.min||f.y>r.max)&&i.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return l}},{\"../util/util\":403,\"./bucket\":290,assert:34}],299:[function(t,e,r){\"use strict\";function n(t,e,r){this.column=t,this.row=e,this.zoom=r}e.exports=n,n.prototype={clone:function(){return new n(this.column,this.row,this.zoom)},zoomTo:function(t){return this.clone()._zoomTo(t)},sub:function(t){return this.clone()._sub(t)},_zoomTo:function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},_sub:function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this}}},{}],300:[function(t,e,r){\"use strict\";function n(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}e.exports=n;var i=t(\"../util/util\").wrap;n.prototype.wrap=function(){return new n(i(this.lng,-180,180),this.lat)},n.prototype.toArray=function(){return[this.lng,this.lat]},n.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{\"../util/util\":403}],301:[function(t,e,r){\"use strict\";function n(t,e){t&&(e?this.extend(t).extend(e):4===t.length?this.extend([t[0],t[1]]).extend([t[2],t[3]]):this.extend(t[0]).extend(t[1]))}e.exports=n;var i=t(\"./lng_lat\");n.prototype={extend:function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof i)e=t,r=t;else{if(!(t instanceof n))return t?this.extend(i.convert(t)||n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new i(e.lng,e.lat),this._ne=new i(r.lng,r.lat)),this},getCenter:function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},getSouthWest:function(){return this._sw},getNorthEast:function(){return this._ne},getNorthWest:function(){return new i(this.getWest(),this.getNorth())},getSouthEast:function(){return new i(this.getEast(),this.getSouth())},getWest:function(){return this._sw.lng},getSouth:function(){return this._sw.lat},getEast:function(){return this._ne.lng},getNorth:function(){return this._ne.lat},toArray:function(){return[this._sw.toArray(),this._ne.toArray()]},toString:function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"}},n.convert=function(t){return!t||t instanceof n?t:new n(t)}},{\"./lng_lat\":300}],302:[function(t,e,r){\"use strict\";function n(t,e){this.tileSize=512,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new i(0,0),this.zoom=0,this.angle=0,this._altitude=1.5,this._pitch=0,this._unmodified=!0}var i=t(\"./lng_lat\"),a=t(\"point-geometry\"),o=t(\"./coordinate\"),s=t(\"../util/util\").wrap,l=t(\"../util/interpolate\"),u=t(\"../source/tile_coord\"),c=t(\"../data/bucket\").EXTENT,h=t(\"gl-matrix\"),f=h.vec4,d=h.mat4,p=h.mat2;e.exports=n,n.prototype={get minZoom(){return this._minZoom},set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},get maxZoom(){return this._maxZoom},set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},get worldSize(){return this.tileSize*this.scale},get centerPoint(){return this.size._div(2)},get size(){return new a(this.width,this.height)},get bearing(){return-this.angle/Math.PI*180},set bearing(t){var e=-s(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=p.create(),p.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},get pitch(){return this._pitch/Math.PI*180},set pitch(t){var e=Math.min(60,t)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},get altitude(){return this._altitude},set altitude(t){var e=Math.max(.75,t);this._altitude!==e&&(this._unmodified=!1,this._altitude=e,this._calcMatrices())},get zoom(){return this._zoom},set zoom(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._calcMatrices(),this._constrain())},get center(){return this._center},set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._calcMatrices(),this._constrain())},coveringZoomLevel:function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},coveringTiles:function(t){var e=this.coveringZoomLevel(t),r=e;if(e<t.minzoom)return[];e>t.maxzoom&&(e=t.maxzoom);var n=this,i=n.locationCoordinate(n.center)._zoomTo(e),o=new a(i.column-.5,i.row-.5);return u.cover(e,[n.pointCoordinate(new a(0,0))._zoomTo(e),n.pointCoordinate(new a(n.width,0))._zoomTo(e),n.pointCoordinate(new a(n.width,n.height))._zoomTo(e),n.pointCoordinate(new a(0,n.height))._zoomTo(e)],t.reparseOverscaled?r:e).sort(function(t,e){return o.dist(t)-o.dist(e)})},resize:function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._calcMatrices(),this._constrain()},get unmodified(){return this._unmodified},zoomScale:function(t){return Math.pow(2,t)},scaleZoom:function(t){return Math.log(t)/Math.LN2},project:function(t,e){return new a(this.lngX(t.lng,e),this.latY(t.lat,e))},unproject:function(t,e){return new i(this.xLng(t.x,e),this.yLat(t.y,e))},get x(){return this.lngX(this.center.lng)},get y(){return this.latY(this.center.lat)},get point(){return new a(this.x,this.y)},lngX:function(t,e){return(180+t)*(e||this.worldSize)/360},latY:function(t,e){var r=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-r)*(e||this.worldSize)/360},xLng:function(t,e){return 360*t/(e||this.worldSize)-180},yLat:function(t,e){var r=180-360*t/(e||this.worldSize);return 360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90},panBy:function(t){var e=this.centerPoint._add(t);this.center=this.pointLocation(e)},setLocationAtPoint:function(t,e){var r=this.locationCoordinate(t),n=this.pointCoordinate(e),i=this.pointCoordinate(this.centerPoint),a=n._sub(r);this._unmodified=!1,this.center=this.coordinateLocation(i._sub(a))},locationPoint:function(t){return this.coordinatePoint(this.locationCoordinate(t))},pointLocation:function(t){return this.coordinateLocation(this.pointCoordinate(t))},locationCoordinate:function(t){var e=this.zoomScale(this.tileZoom)/this.worldSize,r=i.convert(t);return new o(this.lngX(r.lng)*e,this.latY(r.lat)*e,this.tileZoom)},coordinateLocation:function(t){var e=this.zoomScale(t.zoom);return new i(this.xLng(t.column,e),this.yLat(t.row,e))},pointCoordinate:function(t){var e=0,r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];f.transformMat4(r,r,this.pixelMatrixInverse),f.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],s=r[0]/i,u=n[0]/a,c=r[1]/i,h=n[1]/a,d=r[2]/i,p=n[2]/a,g=d===p?0:(e-d)/(p-d),m=this.worldSize/this.zoomScale(this.tileZoom);return new o(l(s,u,g)/m,l(c,h,g)/m,this.tileZoom)},coordinatePoint:function(t){var e=this.worldSize/this.zoomScale(t.zoom),r=[t.column*e,t.row*e,0,1];return f.transformMat4(r,r,this.pixelMatrix),new a(r[0]/r[3],r[1]/r[3])},calculatePosMatrix:function(t,e){void 0===e&&(e=1/0),t instanceof u&&(t=t.toCoordinate(e));var r=Math.min(t.zoom,e),n=this.worldSize/Math.pow(2,r),i=new Float64Array(16);return d.identity(i),d.translate(i,i,[t.column*n,t.row*n,0]),d.scale(i,i,[n/c,n/c,1]),d.multiply(i,this.projMatrix,i),new Float32Array(i)},_constrain:function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,i,o,s,l,u=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),e=this.latY(this.latRange[0]),i=e-t<u.y?u.y/(e-t):0),this.lngRange&&(r=this.lngX(this.lngRange[0]),n=this.lngX(this.lngRange[1]),o=n-r<u.x?u.x/(n-r):0);var h=Math.max(o||0,i||0);if(h)return this.center=this.unproject(new a(o?(n+r)/2:this.x,i?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(h),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var f=this.y,d=u.y/2;f-d<t&&(l=t+d),f+d>e&&(l=e-d)}if(this.lngRange){var p=this.x,g=u.x/2;p-g<r&&(s=r+g),p+g>n&&(s=n-g)}void 0===s&&void 0===l||(this.center=this.unproject(new a(void 0!==s?s:this.x,void 0!==l?l:this.y))),this._unmodified=c,this._constraining=!1}},_calcMatrices:function(){if(this.height){var t=Math.atan(.5/this.altitude),e=Math.sin(t)*this.altitude/Math.sin(Math.PI/2-this._pitch-t),r=Math.cos(Math.PI/2-this._pitch)*e+this.altitude,n=new Float64Array(16);if(d.perspective(n,2*Math.atan(this.height/2/this.altitude),this.width/this.height,.1,r),d.translate(n,n,[0,0,-this.altitude]),d.scale(n,n,[1,-1,1/this.height]),d.rotateX(n,n,this._pitch),d.rotateZ(n,n,this.angle),d.translate(n,n,[-this.x,-this.y,0]),this.projMatrix=n,n=d.create(),d.scale(n,n,[this.width/2,-this.height/2,1]),d.translate(n,n,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),n,this.projMatrix),n=d.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}}}},{\"../data/bucket\":290,\"../source/tile_coord\":330,\"../util/interpolate\":397,\"../util/util\":403,\"./coordinate\":299,\"./lng_lat\":300,\"gl-matrix\":161,\"point-geometry\":442}],303:[function(t,e,r){\"use strict\";var n={\" \":[16,[]],\"!\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\"#\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\"%\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\"&\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\"'\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\"(\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\")\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\"*\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\"+\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\",\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\"-\":[26,[4,9,22,9]],\".\":[10,[5,2,4,1,5,0,6,1,5,2]],\"/\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\":\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\";\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\"<\":[24,[20,18,4,9,20,0]],\"=\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\">\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};e.exports=function(t,e,r,i){i=i||1;var a,o,s,l,u,c,h,f,d=[];for(a=0,o=t.length;a<o;a++)if(u=n[t[a]]){for(f=null,s=0,l=u[1].length;s<l;s+=2)u[1][s]===-1&&u[1][s+1]===-1?f=null:(c=e+u[1][s]*i,h=r-u[1][s+1]*i,f&&d.push(f.x,f.y,c,h),f={x:c,y:h});e+=u[0]*i}return d}},{}],304:[function(t,e,r){\"use strict\";var n=e.exports={};n.version=t(\"../package.json\").version,n.Map=t(\"./ui/map\"),n.Control=t(\"./ui/control/control\"),n.Navigation=t(\"./ui/control/navigation\"),n.Geolocate=t(\"./ui/control/geolocate\"),n.Attribution=t(\"./ui/control/attribution\"),n.Popup=t(\"./ui/popup\"),n.Marker=t(\"./ui/marker\"),n.Style=t(\"./style/style\"),n.LngLat=t(\"./geo/lng_lat\"),n.LngLatBounds=t(\"./geo/lng_lat_bounds\"),n.Point=t(\"point-geometry\"),n.Evented=t(\"./util/evented\"),n.util=t(\"./util/util\"),n.supported=t(\"./util/browser\").supported;var i=t(\"./util/ajax\");n.util.getJSON=i.getJSON,n.util.getArrayBuffer=i.getArrayBuffer;var a=t(\"./util/config\");n.config=a,Object.defineProperty(n,\"accessToken\",{get:function(){return a.ACCESS_TOKEN},set:function(t){a.ACCESS_TOKEN=t}})},{\"../package.json\":405,\"./geo/lng_lat\":300,\"./geo/lng_lat_bounds\":301,\"./style/style\":339,\"./ui/control/attribution\":370,\"./ui/control/control\":371,\"./ui/control/geolocate\":372,\"./ui/control/navigation\":373,\"./ui/map\":382,\"./ui/marker\":383,\"./ui/popup\":384,\"./util/ajax\":386,\"./util/browser\":387,\"./util/config\":392,\"./util/evented\":395,\"./util/util\":403,\"point-geometry\":442}],305:[function(t,e,r){\"use strict\";var n=t(\"assert\");e.exports=function(t){for(var e={define:{},initialize:{}},r=0;r<t.length;r++){var i=t[r];n(\"u_\"===i.name.slice(0,2));var a=\"{precision} \"+(1===i.components?\"float\":\"vec\"+i.components);e.define[i.name.slice(2)]=\"uniform \"+a+\" \"+i.name+\";\\n\",e.initialize[i.name.slice(2)]=a+\" \"+i.name.slice(2)+\" = \"+i.name+\";\\n\"}return e}},{assert:34}],306:[function(t,e,r){\"use strict\";function n(t,e,r){var n,s=t.gl,l=t.transform,u=r.paint[\"background-color\"],c=r.paint[\"background-pattern\"],h=r.paint[\"background-opacity\"],f=c?t.spriteAtlas.getPosition(c.from,!0):null,d=c?t.spriteAtlas.getPosition(c.to,!0):null;if(t.setDepthSublayer(0),f&&d){if(t.isOpaquePass)return;n=t.useProgram(\"pattern\"),s.uniform1i(n.u_image,0),s.uniform2fv(n.u_pattern_tl_a,f.tl),s.uniform2fv(n.u_pattern_br_a,f.br),s.uniform2fv(n.u_pattern_tl_b,d.tl),s.uniform2fv(n.u_pattern_br_b,d.br),s.uniform1f(n.u_opacity,h),s.uniform1f(n.u_mix,c.t),s.uniform2fv(n.u_pattern_size_a,f.size),s.uniform2fv(n.u_pattern_size_b,d.size),s.uniform1f(n.u_scale_a,c.fromScale),s.uniform1f(n.u_scale_b,c.toScale),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),t.tileExtentPatternVAO.bind(s,n,t.tileExtentBuffer)}else{if(t.isOpaquePass!==(1===u[3]))return;var p=a([{name:\"u_color\",components:4},{name:\"u_opacity\",components:1}]);n=t.useProgram(\"fill\",[],p,p),s.uniform4fv(n.u_color,u),s.uniform1f(n.u_opacity,h),t.tileExtentVAO.bind(s,n,t.tileExtentBuffer)}s.disable(s.STENCIL_TEST);for(var g=l.coveringTiles({tileSize:o}),m=0;m<g.length;m++){var v=g[m];if(f&&d){var y={coord:v,tileSize:o};s.uniform1f(n.u_tile_units_to_pixels,1/i(y,1,t.transform.tileZoom));var x=y.tileSize*Math.pow(2,t.transform.tileZoom-y.coord.z),b=x*(y.coord.x+v.w*Math.pow(2,y.coord.z)),_=x*y.coord.y;s.uniform2f(n.u_pixel_coord_upper,b>>16,_>>16),s.uniform2f(n.u_pixel_coord_lower,65535&b,65535&_)}s.uniformMatrix4fv(n.u_matrix,!1,t.transform.calculatePosMatrix(v)),s.drawArrays(s.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}s.stencilMask(0),s.stencilFunc(s.EQUAL,128,128)}var i=t(\"../source/pixels_to_tile_units\"),a=t(\"./create_uniform_pragmas\"),o=512;e.exports=n},{\"../source/pixels_to_tile_units\":324,\"./create_uniform_pragmas\":305}],307:[function(t,e,r){\"use strict\";function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;t.setDepthSublayer(0),t.depthMask(!1),a.disable(a.STENCIL_TEST);for(var o=0;o<n.length;o++){var s=n[o],l=e.getTile(s),u=l.getBucket(r);if(u){var c=u.bufferGroups.circle;if(c){var h=u.paintAttributes.circle[r.id],f=t.useProgram(\"circle\",h.defines,h.vertexPragmas,h.fragmentPragmas);\"map\"===r.paint[\"circle-pitch-scale\"]?(a.uniform1i(f.u_scale_with_map,!0),a.uniform2f(f.u_extrude_scale,t.transform.pixelsToGLUnits[0]*t.transform.altitude,t.transform.pixelsToGLUnits[1]*t.transform.altitude)):(a.uniform1i(f.u_scale_with_map,!1),a.uniform2fv(f.u_extrude_scale,t.transform.pixelsToGLUnits)),a.uniform1f(f.u_devicepixelratio,i.devicePixelRatio),a.uniformMatrix4fv(f.u_matrix,!1,t.translatePosMatrix(s.posMatrix,l,r.paint[\"circle-translate\"],r.paint[\"circle-translate-anchor\"])),u.setUniforms(a,\"circle\",f,r,{zoom:t.transform.zoom});for(var d=0;d<c.length;d++){var p=c[d];p.vaos[r.id].bind(a,f,p.layoutVertexBuffer,p.elementBuffer,p.paintVertexBuffers[r.id]),a.drawElements(a.TRIANGLES,3*p.elementBuffer.length,a.UNSIGNED_SHORT,0)}}}}}}var i=t(\"../util/browser\");e.exports=n},{\"../util/browser\":387}],308:[function(t,e,r){\"use strict\";function n(t,e,r,n){var i=t.gl;i.enable(i.STENCIL_TEST);for(var a=t.useProgram(\"collisionbox\"),o=0;o<n.length;o++){var s=n[o],l=e.getTile(s),u=l.getBucket(r);if(u){var c=u.bufferGroups.collisionBox;if(c&&c.length){var h=c[0];0!==h.layoutVertexBuffer.length&&(i.uniformMatrix4fv(a.u_matrix,!1,s.posMatrix),t.enableTileClippingMask(s),t.lineWidth(1),i.uniform1f(a.u_scale,Math.pow(2,t.transform.zoom-l.coord.z)),i.uniform1f(a.u_zoom,10*t.transform.zoom),i.uniform1f(a.u_maxzoom,10*(l.coord.z+1)),h.vaos[r.id].bind(i,a,h.layoutVertexBuffer),i.drawArrays(i.LINES,0,h.layoutVertexBuffer.length))}}}}e.exports=n},{}],309:[function(t,e,r){\"use strict\";function n(t,e,r){if(!t.isOpaquePass&&t.options.debug)for(var n=0;n<r.length;n++)i(t,e,r[n])}function i(t,e,r){var n=t.gl;n.disable(n.STENCIL_TEST),t.lineWidth(1*o.devicePixelRatio);var i=r.posMatrix,h=t.useProgram(\"debug\");n.uniformMatrix4fv(h.u_matrix,!1,i),n.uniform4f(h.u_color,1,0,0,1),t.debugVAO.bind(n,h,t.debugBuffer),n.drawArrays(n.LINE_STRIP,0,t.debugBuffer.length);for(var f=a(r.toString(),50,200,5),d=new t.PosArray,p=0;p<f.length;p+=2)d.emplaceBack(f[p],f[p+1]);var g=new u(d.serialize(),t.PosArray.serialize(),u.BufferType.VERTEX),m=new c;m.bind(n,h,g),n.uniform4f(h.u_color,1,1,1,1);for(var v=e.getTile(r).tileSize,y=l/(Math.pow(2,t.transform.zoom-r.z)*v),x=[[-1,-1],[-1,1],[1,-1],[1,1]],b=0;b<x.length;b++){var _=x[b];n.uniformMatrix4fv(h.u_matrix,!1,s.translate([],i,[y*_[0],y*_[1],0])),n.drawArrays(n.LINES,0,g.length)}n.uniform4f(h.u_color,0,0,0,1),n.uniformMatrix4fv(h.u_matrix,!1,i),n.drawArrays(n.LINES,0,g.length)}var a=t(\"../lib/debugtext\"),o=t(\"../util/browser\"),s=t(\"gl-matrix\").mat4,l=t(\"../data/bucket\").EXTENT,u=t(\"../data/buffer\"),c=t(\"./vertex_array_object\");e.exports=n},{\"../data/bucket\":290,\"../data/buffer\":295,\"../lib/debugtext\":303,\"../util/browser\":387,\"./vertex_array_object\":318,\"gl-matrix\":161}],310:[function(t,e,r){\"use strict\";function n(t,e,r,n){var o=t.gl;o.enable(o.STENCIL_TEST);var s;if(s=!r.paint[\"fill-pattern\"]&&(r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"]),t.isOpaquePass===s){t.setDepthSublayer(1);for(var l=0;l<n.length;l++)i(t,e,r,n[l])}if(!t.isOpaquePass&&r.paint[\"fill-antialias\"]){t.lineWidth(2),t.depthMask(!1);var u=r.getPaintProperty(\"fill-outline-color\");(u||!r.paint[\"fill-pattern\"])&&u?t.setDepthSublayer(2):t.setDepthSublayer(0);for(var c=0;c<n.length;c++)a(t,e,r,n[c])}}function i(t,e,r,n){var i=e.getTile(n),a=i.getBucket(r);if(a){var s=a.bufferGroups.fill;if(s){var l,u=t.gl,c=r.paint[\"fill-pattern\"];if(c)l=t.useProgram(\"pattern\"),o(c,r.paint[\"fill-opacity\"],i,n,t,l),u.activeTexture(u.TEXTURE0),t.spriteAtlas.bind(u,!0);else{var h=a.paintAttributes.fill[r.id];l=t.useProgram(\"fill\",h.defines,h.vertexPragmas,h.fragmentPragmas),a.setUniforms(u,\"fill\",l,r,{zoom:t.transform.zoom})}u.uniformMatrix4fv(l.u_matrix,!1,t.translatePosMatrix(n.posMatrix,i,r.paint[\"fill-translate\"],r.paint[\"fill-translate-anchor\"])),t.enableTileClippingMask(n);for(var f=0;f<s.length;f++){var d=s[f];d.vaos[r.id].bind(u,l,d.layoutVertexBuffer,d.elementBuffer,d.paintVertexBuffers[r.id]),u.drawElements(u.TRIANGLES,d.elementBuffer.length,u.UNSIGNED_SHORT,0)}}}}function a(t,e,r,n){var i=e.getTile(n),a=i.getBucket(r);if(a){var s,l=t.gl,u=a.bufferGroups.fill,c=r.paint[\"fill-pattern\"],h=r.paint[\"fill-opacity\"],f=r.getPaintProperty(\"fill-outline-color\");if(c&&!f)s=t.useProgram(\"outlinepattern\"),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight);else{var d=a.paintAttributes.fill[r.id];s=t.useProgram(\"outline\",d.defines,d.vertexPragmas,d.fragmentPragmas),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(s.u_opacity,h),a.setUniforms(l,\"fill\",s,r,{zoom:t.transform.zoom})}l.uniformMatrix4fv(s.u_matrix,!1,t.translatePosMatrix(n.posMatrix,i,r.paint[\"fill-translate\"],r.paint[\"fill-translate-anchor\"])),\nc&&o(c,h,i,n,t,s),t.enableTileClippingMask(n);for(var p=0;p<u.length;p++){var g=u[p];g.secondVaos[r.id].bind(l,s,g.layoutVertexBuffer,g.elementBuffer2,g.paintVertexBuffers[r.id]),l.drawElements(l.LINES,2*g.elementBuffer2.length,l.UNSIGNED_SHORT,0)}}}function o(t,e,r,n,i,a){var o=i.gl,l=i.spriteAtlas.getPosition(t.from,!0),u=i.spriteAtlas.getPosition(t.to,!0);if(l&&u){o.uniform1i(a.u_image,0),o.uniform2fv(a.u_pattern_tl_a,l.tl),o.uniform2fv(a.u_pattern_br_a,l.br),o.uniform2fv(a.u_pattern_tl_b,u.tl),o.uniform2fv(a.u_pattern_br_b,u.br),o.uniform1f(a.u_opacity,e),o.uniform1f(a.u_mix,t.t),o.uniform1f(a.u_tile_units_to_pixels,1/s(r,1,i.transform.tileZoom)),o.uniform2fv(a.u_pattern_size_a,l.size),o.uniform2fv(a.u_pattern_size_b,u.size),o.uniform1f(a.u_scale_a,t.fromScale),o.uniform1f(a.u_scale_b,t.toScale);var c=r.tileSize*Math.pow(2,i.transform.tileZoom-r.coord.z),h=c*(r.coord.x+n.w*Math.pow(2,r.coord.z)),f=c*r.coord.y;o.uniform2f(a.u_pixel_coord_upper,h>>16,f>>16),o.uniform2f(a.u_pixel_coord_lower,65535&h,65535&f),o.activeTexture(o.TEXTURE0),i.spriteAtlas.bind(o,!0)}}var s=t(\"../source/pixels_to_tile_units\");e.exports=n},{\"../source/pixels_to_tile_units\":324}],311:[function(t,e,r){\"use strict\";var n=t(\"../util/browser\"),i=t(\"gl-matrix\").mat2,a=t(\"../source/pixels_to_tile_units\");e.exports=function(t,e,r,o){if(!t.isOpaquePass){t.setDepthSublayer(0),t.depthMask(!1);var s=t.gl;if(s.enable(s.STENCIL_TEST),!(r.paint[\"line-width\"]<=0)){var l=1/n.devicePixelRatio,u=r.paint[\"line-blur\"]+l,c=r.paint[\"line-color\"],h=t.transform,f=i.create();i.scale(f,f,[1,Math.cos(h._pitch)]),i.rotate(f,f,t.transform.angle);var d,p,g,m,v,y=Math.sqrt(h.height*h.height/4*(1+h.altitude*h.altitude)),x=h.height/2*Math.tan(h._pitch),b=(y+x)/y-1,_=r.paint[\"line-dasharray\"],w=r.paint[\"line-pattern\"];if(_)d=t.useProgram(\"linesdfpattern\"),s.uniform1f(d.u_linewidth,r.paint[\"line-width\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\"line-gap-width\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform4fv(d.u_color,c),s.uniform1f(d.u_opacity,r.paint[\"line-opacity\"]),p=t.lineAtlas.getDash(_.from,\"round\"===r.layout[\"line-cap\"]),g=t.lineAtlas.getDash(_.to,\"round\"===r.layout[\"line-cap\"]),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.lineAtlas.bind(s),s.uniform1f(d.u_tex_y_a,p.y),s.uniform1f(d.u_tex_y_b,g.y),s.uniform1f(d.u_mix,_.t),s.uniform1f(d.u_extra,b),s.uniform1f(d.u_offset,-r.paint[\"line-offset\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f);else if(w){if(m=t.spriteAtlas.getPosition(w.from,!0),v=t.spriteAtlas.getPosition(w.to,!0),!m||!v)return;d=t.useProgram(\"linepattern\"),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),s.uniform1f(d.u_linewidth,r.paint[\"line-width\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\"line-gap-width\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform2fv(d.u_pattern_tl_a,m.tl),s.uniform2fv(d.u_pattern_br_a,m.br),s.uniform2fv(d.u_pattern_tl_b,v.tl),s.uniform2fv(d.u_pattern_br_b,v.br),s.uniform1f(d.u_fade,w.t),s.uniform1f(d.u_opacity,r.paint[\"line-opacity\"]),s.uniform1f(d.u_extra,b),s.uniform1f(d.u_offset,-r.paint[\"line-offset\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f)}else d=t.useProgram(\"line\"),s.uniform1f(d.u_linewidth,r.paint[\"line-width\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\"line-gap-width\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform1f(d.u_extra,b),s.uniform1f(d.u_offset,-r.paint[\"line-offset\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f),s.uniform4fv(d.u_color,c),s.uniform1f(d.u_opacity,r.paint[\"line-opacity\"]);for(var M=0;M<o.length;M++){var A=o[M],k=e.getTile(A),T=k.getBucket(r);if(T){var E=T.bufferGroups.line;if(E){t.enableTileClippingMask(A);var S=t.translatePosMatrix(A.posMatrix,k,r.paint[\"line-translate\"],r.paint[\"line-translate-anchor\"]);s.uniformMatrix4fv(d.u_matrix,!1,S);var L=1/a(k,1,t.transform.zoom);if(_){var z=p.width*_.fromScale,C=g.width*_.toScale,I=[1/a(k,z,t.transform.tileZoom),-p.height/2],P=[1/a(k,C,t.transform.tileZoom),-g.height/2],D=t.lineAtlas.width/(256*Math.min(z,C)*n.devicePixelRatio)/2;s.uniform1f(d.u_ratio,L),s.uniform2fv(d.u_patternscale_a,I),s.uniform2fv(d.u_patternscale_b,P),s.uniform1f(d.u_sdfgamma,D)}else w?(s.uniform1f(d.u_ratio,L),s.uniform2fv(d.u_pattern_size_a,[a(k,m.size[0]*w.fromScale,t.transform.tileZoom),v.size[1]]),s.uniform2fv(d.u_pattern_size_b,[a(k,v.size[0]*w.toScale,t.transform.tileZoom),v.size[1]])):s.uniform1f(d.u_ratio,L);for(var O=0;O<E.length;O++){var R=E[O];R.vaos[r.id].bind(s,d,R.layoutVertexBuffer,R.elementBuffer),s.drawElements(s.TRIANGLES,3*R.elementBuffer.length,s.UNSIGNED_SHORT,0)}}}}}}}},{\"../source/pixels_to_tile_units\":324,\"../util/browser\":387,\"gl-matrix\":161}],312:[function(t,e,r){\"use strict\";function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;a.enable(a.DEPTH_TEST),t.depthMask(!0),a.depthFunc(a.LESS);for(var o=n.length&&n[0].z,s=0;s<n.length;s++){var l=n[s];t.setDepthSublayer(l.z-o),i(t,e,r,l)}a.depthFunc(a.LEQUAL)}}function i(t,e,r,n){var i=t.gl;i.disable(i.STENCIL_TEST);var u=e.getTile(n),c=t.transform.calculatePosMatrix(n,e.maxzoom),h=t.useProgram(\"raster\");i.uniformMatrix4fv(h.u_matrix,!1,c),i.uniform1f(h.u_brightness_low,r.paint[\"raster-brightness-min\"]),i.uniform1f(h.u_brightness_high,r.paint[\"raster-brightness-max\"]),i.uniform1f(h.u_saturation_factor,s(r.paint[\"raster-saturation\"])),i.uniform1f(h.u_contrast_factor,o(r.paint[\"raster-contrast\"])),i.uniform3fv(h.u_spin_weights,a(r.paint[\"raster-hue-rotate\"]));var f,d,p=u.source&&u.source.findLoadedParent(n,0,{}),g=l(u,p,r,t.transform);i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,u.texture),i.activeTexture(i.TEXTURE1),p?(i.bindTexture(i.TEXTURE_2D,p.texture),f=Math.pow(2,p.coord.z-u.coord.z),d=[u.coord.x*f%1,u.coord.y*f%1]):(i.bindTexture(i.TEXTURE_2D,u.texture),g[1]=0),i.uniform2fv(h.u_tl_parent,d||[0,0]),i.uniform1f(h.u_scale_parent,f||1),i.uniform1f(h.u_buffer_scale,1),i.uniform1f(h.u_opacity0,g[0]),i.uniform1f(h.u_opacity1,g[1]),i.uniform1i(h.u_image0,0),i.uniform1i(h.u_image1,1);var m=u.boundsBuffer||t.rasterBoundsBuffer,v=u.boundsVAO||t.rasterBoundsVAO;v.bind(i,h,m),i.drawArrays(i.TRIANGLE_STRIP,0,m.length)}function a(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}function o(t){return t>0?1/(1-t):1+t}function s(t){return t>0?1-1/(1.001-t):-t}function l(t,e,r,n){var i=[1,0],a=r.paint[\"raster-fade-duration\"];if(t.source&&a>0){var o=(new Date).getTime(),s=(o-t.timeAdded)/a,l=e?(o-e.timeAdded)/a:-1,c=n.coveringZoomLevel(t.source),h=!!e&&Math.abs(e.coord.z-c)>Math.abs(t.coord.z-c);!e||h?(i[0]=u.clamp(s,0,1),i[1]=1-i[0]):(i[0]=u.clamp(1-l,0,1),i[1]=1-i[0])}var f=r.paint[\"raster-opacity\"];return i[0]*=f,i[1]*=f,i}var u=t(\"../util/util\"),c=t(\"../util/struct_array\");e.exports=n,n.RasterBoundsArray=new c({members:[{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]})},{\"../util/struct_array\":401,\"../util/util\":403}],313:[function(t,e,r){\"use strict\";function n(t,e,r,n){if(!t.isOpaquePass){var a=!(r.layout[\"text-allow-overlap\"]||r.layout[\"icon-allow-overlap\"]||r.layout[\"text-ignore-placement\"]||r.layout[\"icon-ignore-placement\"]),o=t.gl;a?o.disable(o.STENCIL_TEST):o.enable(o.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),o.disable(o.DEPTH_TEST),i(t,e,r,n,!1,r.paint[\"icon-translate\"],r.paint[\"icon-translate-anchor\"],r.layout[\"icon-rotation-alignment\"],r.layout[\"icon-rotation-alignment\"],r.layout[\"icon-size\"],r.paint[\"icon-halo-width\"],r.paint[\"icon-halo-color\"],r.paint[\"icon-halo-blur\"],r.paint[\"icon-opacity\"],r.paint[\"icon-color\"]),i(t,e,r,n,!0,r.paint[\"text-translate\"],r.paint[\"text-translate-anchor\"],r.layout[\"text-rotation-alignment\"],r.layout[\"text-pitch-alignment\"],r.layout[\"text-size\"],r.paint[\"text-halo-width\"],r.paint[\"text-halo-color\"],r.paint[\"text-halo-blur\"],r.paint[\"text-opacity\"],r.paint[\"text-color\"]),o.enable(o.DEPTH_TEST),e.map.showCollisionBoxes&&s(t,e,r,n)}}function i(t,e,r,n,i,o,s,l,u,c,h,f,d,p,g){for(var m=0;m<n.length;m++){var v=e.getTile(n[m]),y=v.getBucket(r);if(y){var x=y.bufferGroups,b=i?x.glyph:x.icon;b.length&&(t.enableTileClippingMask(n[m]),a(t,r,n[m].posMatrix,v,y,b,i,i||y.sdfIcons,!i&&y.iconsNeedLinear,i?y.adjustedTextSize:y.adjustedIconSize,y.fontstack,o,s,l,u,c,h,f,d,p,g))}}}function a(t,e,r,n,i,a,s,u,c,h,f,d,p,g,m,v,y,x,b,_,w){var M,A,k,T=t.gl,E=t.transform,S=\"map\"===g,L=\"map\"===m,z=s?24:1,C=v/z;if(L?(A=l(n,1,t.transform.zoom)*C,k=1/Math.cos(E._pitch),M=[A,A]):(A=t.transform.altitude*C,k=1,M=[E.pixelsToGLUnits[0]*A,E.pixelsToGLUnits[1]*A]),s||t.style.sprite.loaded()){var I=t.useProgram(u?\"sdf\":\"icon\");if(T.uniformMatrix4fv(I.u_matrix,!1,t.translatePosMatrix(r,n,d,p)),T.uniform1i(I.u_rotate_with_map,S),T.uniform1i(I.u_pitch_with_map,L),T.uniform2fv(I.u_extrude_scale,M),T.activeTexture(T.TEXTURE0),T.uniform1i(I.u_texture,0),s){var P=f&&t.glyphSource.getGlyphAtlas(f);if(!P)return;P.updateTexture(T),T.uniform2f(I.u_texsize,P.width/4,P.height/4)}else{var D=t.options.rotating||t.options.zooming,O=1!==C||o.devicePixelRatio!==t.spriteAtlas.pixelRatio||c,R=L||t.transform.pitch;t.spriteAtlas.bind(T,u||D||O||R),T.uniform2f(I.u_texsize,t.spriteAtlas.width/4,t.spriteAtlas.height/4)}var F=Math.log(v/h)/Math.LN2||0;T.uniform1f(I.u_zoom,10*(t.transform.zoom-F)),T.activeTexture(T.TEXTURE1),t.frameHistory.bind(T),T.uniform1i(I.u_fadetexture,1);var j;if(u){var N=8,B=1.19,U=6,V=.105*z/v/o.devicePixelRatio;if(y){T.uniform1f(I.u_gamma,(b*B/C/N+V)*k),T.uniform4fv(I.u_color,x),T.uniform1f(I.u_opacity,_),T.uniform1f(I.u_buffer,(U-y/C)/N);for(var q=0;q<a.length;q++)j=a[q],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}T.uniform1f(I.u_gamma,V*k),T.uniform4fv(I.u_color,w),T.uniform1f(I.u_opacity,_),T.uniform1f(I.u_buffer,.75),T.uniform1f(I.u_pitch,E.pitch/360*2*Math.PI),T.uniform1f(I.u_bearing,E.bearing/360*2*Math.PI),T.uniform1f(I.u_aspect_ratio,E.width/E.height);for(var H=0;H<a.length;H++)j=a[H],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}else{T.uniform1f(I.u_opacity,_);for(var G=0;G<a.length;G++)j=a[G],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}}}var o=t(\"../util/browser\"),s=t(\"./draw_collision_debug\"),l=t(\"../source/pixels_to_tile_units\");e.exports=n},{\"../source/pixels_to_tile_units\":324,\"../util/browser\":387,\"./draw_collision_debug\":308}],314:[function(t,e,r){\"use strict\";function n(){this.changeTimes=new Float64Array(256),this.changeOpacities=new Uint8Array(256),this.opacities=new Uint8ClampedArray(256),this.array=new Uint8Array(this.opacities.buffer),this.fadeDuration=300,this.previousZoom=0,this.firstFrame=!0}e.exports=n,n.prototype.record=function(t){var e=Date.now();this.firstFrame&&(e=0,this.firstFrame=!1),t=Math.floor(10*t);var r;if(t<this.previousZoom)for(r=t+1;r<=this.previousZoom;r++)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];else for(r=t;r>this.previousZoom;r--)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];for(r=0;r<256;r++){var n=e-this.changeTimes[r],i=n/this.fadeDuration*255;r<=t?this.opacities[r]=this.changeOpacities[r]+i:this.opacities[r]=this.changeOpacities[r]-i}this.changed=!0,this.previousZoom=t},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.changed&&(t.texSubImage2D(t.TEXTURE_2D,0,0,0,256,1,t.ALPHA,t.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,256,1,0,t.ALPHA,t.UNSIGNED_BYTE,this.array))}},{}],315:[function(t,e,r){\"use strict\";function n(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}}var i=t(\"../util/util\");e.exports=n,n.prototype.setSprite=function(t){this.sprite=t},n.prototype.getDash=function(t,e){var r=t.join(\",\")+e;return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},n.prototype.addDash=function(t,e){var r=e?7:0,n=2*r+1,a=128;if(this.nextRow+n>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var o=0,s=0;s<t.length;s++)o+=t[s];for(var l=this.width/o,u=l/2,c=t.length%2===1,h=-r;h<=r;h++)for(var f=this.nextRow+r+h,d=this.width*f,p=c?-t[t.length-1]:0,g=t[0],m=1,v=0;v<this.width;v++){for(;g<v/l;)p=g,g+=t[m],c&&m===t.length-1&&(g+=t[0]),m++;var y,x=Math.abs(v-p*l),b=Math.abs(v-g*l),_=Math.min(x,b),w=m%2===1;if(e){var M=r?h/r*(u+1):0;if(w){var A=u-Math.abs(M);y=Math.sqrt(_*_+A*A)}else y=u-Math.sqrt(_*_+M*M)}else y=(w?1:-1)*_;this.data[3+4*(d+v)]=Math.max(0,Math.min(255,y+a))}var k={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:o};return this.nextRow+=n,this.dirty=!0,k},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.RGBA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))}},{\"../util/util\":403}],316:[function(t,e,r){\"use strict\";function n(t,e){this.gl=t,this.transform=e,this.reusableTextures={},this.preFbos={},this.frameHistory=new o,this.setup(),this.numSublayers=s.maxUnderzooming+s.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE)}var i=t(\"../util/browser\"),a=t(\"gl-matrix\").mat4,o=t(\"./frame_history\"),s=t(\"../source/source_cache\"),l=t(\"../data/bucket\").EXTENT,u=t(\"../source/pixels_to_tile_units\"),c=t(\"../util/util\"),h=t(\"../util/struct_array\"),f=t(\"../data/buffer\"),d=t(\"./vertex_array_object\"),p=t(\"./draw_raster\").RasterBoundsArray,g=t(\"./create_uniform_pragmas\");e.exports=n,c.extend(n.prototype,t(\"./painter/use_program\")),n.prototype.resize=function(t,e){var r=this.gl;this.width=t*i.devicePixelRatio,this.height=e*i.devicePixelRatio,r.viewport(0,0,this.width,this.height)},n.prototype.setup=function(){var t=this.gl;t.verbose=!0,t.enable(t.BLEND),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.enable(t.STENCIL_TEST),t.enable(t.DEPTH_TEST),t.depthFunc(t.LEQUAL),this._depthMask=!1,t.depthMask(!1);var e=this.PosArray=new h({members:[{name:\"a_pos\",type:\"Int16\",components:2}]}),r=new e;r.emplaceBack(0,0),r.emplaceBack(l,0),r.emplaceBack(0,l),r.emplaceBack(l,l),this.tileExtentBuffer=new f(r.serialize(),e.serialize(),f.BufferType.VERTEX),this.tileExtentVAO=new d,this.tileExtentPatternVAO=new d;var n=new e;n.emplaceBack(0,0),n.emplaceBack(l,0),n.emplaceBack(l,l),n.emplaceBack(0,l),n.emplaceBack(0,0),this.debugBuffer=new f(n.serialize(),e.serialize(),f.BufferType.VERTEX),this.debugVAO=new d;var i=new p;i.emplaceBack(0,0,0,0),i.emplaceBack(l,0,32767,0),i.emplaceBack(0,l,0,32767),i.emplaceBack(l,l,32767,32767),this.rasterBoundsBuffer=new f(i.serialize(),p.serialize(),f.BufferType.VERTEX),this.rasterBoundsVAO=new d},n.prototype.clearColor=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},n.prototype.clearStencil=function(){var t=this.gl;t.clearStencil(0),t.stencilMask(255),t.clear(t.STENCIL_BUFFER_BIT)},n.prototype.clearDepth=function(){var t=this.gl;t.clearDepth(1),this.depthMask(!0),t.clear(t.DEPTH_BUFFER_BIT)},n.prototype._renderTileClippingMasks=function(t){var e=this.gl;e.colorMask(!1,!1,!1,!1),this.depthMask(!1),e.disable(e.DEPTH_TEST),e.enable(e.STENCIL_TEST),e.stencilMask(248),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE);var r=1;this._tileClippingMaskIDs={};for(var n=0;n<t.length;n++){var i=t[n],a=this._tileClippingMaskIDs[i.id]=r++<<3;e.stencilFunc(e.ALWAYS,a,248);var o=g([{name:\"u_color\",components:4},{name:\"u_opacity\",components:1}]),s=this.useProgram(\"fill\",[],o,o);e.uniformMatrix4fv(s.u_matrix,!1,i.posMatrix),this.tileExtentVAO.bind(e,s,this.tileExtentBuffer),e.drawArrays(e.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}e.stencilMask(0),e.colorMask(!0,!0,!0,!0),this.depthMask(!0),e.enable(e.DEPTH_TEST)},n.prototype.enableTileClippingMask=function(t){var e=this.gl;e.stencilFunc(e.EQUAL,this._tileClippingMaskIDs[t.id],248)},n.prototype.prepareBuffers=function(){},n.prototype.bindDefaultFramebuffer=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)};var m={symbol:t(\"./draw_symbol\"),circle:t(\"./draw_circle\"),line:t(\"./draw_line\"),fill:t(\"./draw_fill\"),raster:t(\"./draw_raster\"),background:t(\"./draw_background\"),debug:t(\"./draw_debug\")};n.prototype.render=function(t,e){this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.spriteAtlas=t.spriteAtlas,this.spriteAtlas.setSprite(t.sprite),this.glyphSource=t.glyphSource,this.frameHistory.record(this.transform.zoom),this.prepareBuffers(),this.clearColor(),this.clearDepth(),this.showOverdrawInspector(e.showOverdrawInspector),this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass({isOpaquePass:!0}),this.renderPass({isOpaquePass:!1})},n.prototype.renderPass=function(t){var e=this.style._groups,r=t.isOpaquePass;this.currentLayer=r?this.style._order.length:-1;for(var n=0;n<e.length;n++){var i,a=e[r?e.length-1-n:n],o=this.style.sources[a.source],s=[];if(o){for(s=o.getVisibleCoordinates(),i=0;i<s.length;i++)s[i].posMatrix=this.transform.calculatePosMatrix(s[i],o.maxzoom);this.clearStencil(),o.prepare&&o.prepare(),o.isTileClipped&&this._renderTileClippingMasks(s)}for(r?(this._showOverdrawInspector||this.gl.disable(this.gl.BLEND),this.isOpaquePass=!0):(this.gl.enable(this.gl.BLEND),this.isOpaquePass=!1,s.reverse()),i=0;i<a.length;i++){var l=a[r?a.length-1-i:i];this.currentLayer+=r?-1:1,this.renderLayer(this,o,l,s)}o&&m.debug(this,o,s)}},n.prototype.depthMask=function(t){t!==this._depthMask&&(this._depthMask=t,this.gl.depthMask(t))},n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||n.length)&&(this.id=r.id,m[r.type](t,e,r,n))},n.prototype.setDepthSublayer=function(t){var e=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,r=e-1+this.depthRange;this.gl.depthRange(r,e)},n.prototype.translatePosMatrix=function(t,e,r,n){if(!r[0]&&!r[1])return t;if(\"viewport\"===n){var i=Math.sin(-this.transform.angle),o=Math.cos(-this.transform.angle);r=[r[0]*o-r[1]*i,r[0]*i+r[1]*o]}var s=[u(e,r[0],this.transform.zoom),u(e,r[1],this.transform.zoom),0],l=new Float32Array(16);return a.translate(l,t,s),l},n.prototype.saveTexture=function(t){var e=this.reusableTextures[t.size];e?e.push(t):this.reusableTextures[t.size]=[t]},n.prototype.getTexture=function(t){var e=this.reusableTextures[t];return e&&e.length>0?e.pop():null},n.prototype.lineWidth=function(t){this.gl.lineWidth(c.clamp(t,this.lineWidthRange[0],this.lineWidthRange[1]))},n.prototype.showOverdrawInspector=function(t){if(t||this._showOverdrawInspector){this._showOverdrawInspector=t;var e=this.gl;if(t){e.blendFunc(e.CONSTANT_COLOR,e.ONE);var r=8,n=1/r;e.blendColor(n,n,n,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)}else e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}}},{\"../data/bucket\":290,\"../data/buffer\":295,\"../source/pixels_to_tile_units\":324,\"../source/source_cache\":328,\"../util/browser\":387,\"../util/struct_array\":401,\"../util/util\":403,\"./create_uniform_pragmas\":305,\"./draw_background\":306,\"./draw_circle\":307,\"./draw_debug\":309,\"./draw_fill\":310,\"./draw_line\":311,\"./draw_raster\":312,\"./draw_symbol\":313,\"./frame_history\":314,\"./painter/use_program\":317,\"./vertex_array_object\":318,\"gl-matrix\":161}],317:[function(t,e,r){\"use strict\";function n(t,e){return t.replace(/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,function(t,r,n,i,a){return e[r][a].replace(/{type}/g,i).replace(/{precision}/g,n)})}var i=t(\"assert\"),a=t(\"../../util/util\"),o=t(\"mapbox-gl-shaders\"),s=o.util;e.exports._createProgram=function(t,e,r,l){for(var u=this.gl,c=u.createProgram(),h=o[t],f=\"#define MAPBOX_GL_JS;\\n\",d=0;d<e.length;d++)f+=\"#define \"+e[d]+\";\\n\";var p=u.createShader(u.FRAGMENT_SHADER);u.shaderSource(p,n(f+h.fragmentSource,l)),u.compileShader(p),i(u.getShaderParameter(p,u.COMPILE_STATUS),u.getShaderInfoLog(p)),u.attachShader(c,p);var g=u.createShader(u.VERTEX_SHADER);u.shaderSource(g,n(f+s+h.vertexSource,r)),u.compileShader(g),i(u.getShaderParameter(g,u.COMPILE_STATUS),u.getShaderInfoLog(g)),u.attachShader(c,g),u.linkProgram(c),i(u.getProgramParameter(c,u.LINK_STATUS),u.getProgramInfoLog(c));for(var m={},v=u.getProgramParameter(c,u.ACTIVE_ATTRIBUTES),y=0;y<v;y++){var x=u.getActiveAttrib(c,y);m[x.name]=u.getAttribLocation(c,x.name)}for(var b={},_=u.getProgramParameter(c,u.ACTIVE_UNIFORMS),w=0;w<_;w++){var M=u.getActiveUniform(c,w);b[M.name]=u.getUniformLocation(c,M.name)}return a.extend({program:c,definition:h,attributes:m,numAttributes:v},m,b)},e.exports._createProgramCached=function(t,e,r,n){this.cache=this.cache||{};var i=JSON.stringify({name:t,defines:e,vertexPragmas:r,fragmentPragmas:n});return this.cache[i]||(this.cache[i]=this._createProgram(t,e,r,n)),this.cache[i]},e.exports.useProgram=function(t,e,r,n){var i=this.gl;e=e||[],this._showOverdrawInspector&&(e=e.concat(\"OVERDRAW_INSPECTOR\"));var a=this._createProgramCached(t,e,r,n),o=this.currentProgram;return o!==a&&(i.useProgram(a.program),this.currentProgram=a),a}},{\"../../util/util\":403,assert:34,\"mapbox-gl-shaders\":264}],318:[function(t,e,r){\"use strict\";function n(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.vao=null}var i=t(\"assert\");e.exports=n,n.prototype.bind=function(t,e,r,n,i){void 0===t.extVertexArrayObject&&(t.extVertexArrayObject=t.getExtension(\"OES_vertex_array_object\"));var a=!this.vao||this.boundProgram!==e||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==i||this.boundElementBuffer!==n;!t.extVertexArrayObject||a?this.freshBind(t,e,r,n,i):t.extVertexArrayObject.bindVertexArrayOES(this.vao)},n.prototype.freshBind=function(t,e,r,n,a){var o,s=e.numAttributes;if(t.extVertexArrayObject)this.vao&&this.destroy(t),this.vao=t.extVertexArrayObject.createVertexArrayOES(),t.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=e,this.boundVertexBuffer=r,this.boundVertexBuffer2=a,this.boundElementBuffer=n;else{o=t.currentNumAttributes||0;for(var l=s;l<o;l++)i(0!==l),t.disableVertexAttribArray(l)}for(var u=o;u<s;u++)t.enableVertexAttribArray(u);r.bind(t),r.setVertexAttribPointers(t,e),a&&(a.bind(t),a.setVertexAttribPointers(t,e)),n&&n.bind(t),t.currentNumAttributes=s},n.prototype.unbind=function(t){var e=t.extVertexArrayObject;e&&e.bindVertexArrayOES(null)},n.prototype.destroy=function(t){var e=t.extVertexArrayObject;e&&this.vao&&(e.deleteVertexArrayOES(this.vao),this.vao=null)}},{assert:34}],319:[function(t,e,r){\"use strict\";function n(t,e,r){e=e||{},this.id=t,this.dispatcher=r,this._data=e.data,void 0!==e.maxzoom&&(this.maxzoom=e.maxzoom),e.type&&(this.type=e.type);var n=s/this.tileSize;this.workerOptions=a.extend({source:this.id,cluster:e.cluster||!1,geojsonVtOptions:{buffer:(void 0!==e.buffer?e.buffer:128)*n,tolerance:(void 0!==e.tolerance?e.tolerance:.375)*n,extent:s,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:Math.min(e.clusterMaxZoom,this.maxzoom-1)||this.maxzoom-1,extent:s,radius:(e.clusterRadius||50)*n,log:!1}},e.workerOptions),this._updateWorkerData(function(t){return t?void this.fire(\"error\",{error:t}):void this.fire(\"load\")}.bind(this))}var i=t(\"../util/evented\"),a=t(\"../util/util\"),o=t(\"resolve-url\"),s=t(\"../data/bucket\").EXTENT;e.exports=n,n.prototype=a.inherit(i,{type:\"geojson\",minzoom:0,maxzoom:18,tileSize:512,isTileClipped:!0,reparseOverscaled:!0,onAdd:function(t){this.map=t},setData:function(t){return this._data=t,this._updateWorkerData(function(t){return t?this.fire(\"error\",{error:t}):void this.fire(\"change\")}.bind(this)),this},_updateWorkerData:function(t){var e=a.extend({},this.workerOptions),r=this._data;\"string\"==typeof r?e.url=\"undefined\"!=typeof window?o(window.location.href,r):r:e.data=JSON.stringify(r),this.workerID=this.dispatcher.send(this.type+\".loadData\",e,function(e){this._loaded=!0,t(e)}.bind(this))},loadTile:function(t,e){var r=t.coord.z>this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,n={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:r,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"load tile\",n,function(r,n){if(t.unloadVectorData(this.map.painter),!t.aborted)return r?e(r):(t.loadVectorData(n,this.map.style),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(this)),e(null))}.bind(this),this.workerID)},abortTile:function(t){t.aborted=!0},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(\"remove tile\",{uid:t.uid,source:this.id},function(){},t.workerID)},serialize:function(){return{type:this.type,data:this._data}}})},{\"../data/bucket\":290,\"../util/evented\":395,\"../util/util\":403,\"resolve-url\":458}],320:[function(t,e,r){\"use strict\";function n(t,e,r){r&&(this.loadGeoJSON=r),h.call(this,t,e)}var i=t(\"../util/util\"),a=t(\"../util/ajax\"),o=t(\"geojson-rewind\"),s=t(\"./geojson_wrapper\"),l=t(\"vt-pbf\"),u=t(\"supercluster\"),c=t(\"geojson-vt\"),h=t(\"./vector_tile_worker_source\");e.exports=n,n.prototype=i.inherit(h,{_geoJSONIndexes:{},loadVectorData:function(t,e){var r=t.source,n=t.coord;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(Math.min(n.z,t.maxZoom),n.x,n.y);if(!i)return e(null,null);var a=new s(i.features);a.name=\"_geojsonTileLayer\";var o=l({layers:{_geojsonTileLayer:a}});0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{tile:a,rawTileData:o.buffer})},loadData:function(t,e){var r=function(r,n){return r?e(r):\"object\"!=typeof n?e(new Error(\"Input data is not a valid GeoJSON object.\")):(o(n,!0),void this._indexData(n,t,function(r,n){return r?e(r):(this._geoJSONIndexes[t.source]=n,void e(null))}.bind(this)))}.bind(this);this.loadGeoJSON(t,r)},loadGeoJSON:function(t,e){if(t.url)a.getJSON(t.url,e);else{if(\"string\"!=typeof t.data)return e(new Error(\"Input data is not a valid GeoJSON object.\"));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(\"Input data is not a valid GeoJSON object.\"))}}},_indexData:function(t,e,r){try{e.cluster?r(null,u(e.superclusterOptions).load(t.features)):r(null,c(t,e.geojsonVtOptions))}catch(t){return r(t)}}})},{\"../util/ajax\":386,\"../util/util\":403,\"./geojson_wrapper\":321,\"./vector_tile_worker_source\":332,\"geojson-rewind\":110,\"geojson-vt\":114,supercluster:485,\"vt-pbf\":511}],321:[function(t,e,r){\"use strict\";function n(t){this.features=t,this.length=t.length,this.extent=s}function i(t){if(this.type=t.type,1===t.type){this.rawGeometry=[];for(var e=0;e<t.geometry.length;e++)this.rawGeometry.push([t.geometry[e]])}else this.rawGeometry=t.geometry;this.properties=t.tags,this.extent=s}var a=t(\"point-geometry\"),o=t(\"vector-tile\").VectorTileFeature,s=t(\"../data/bucket\").EXTENT;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-(1/0),n=1/0,i=-(1/0),a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\"../data/bucket\":290,\"point-geometry\":442,\"vector-tile\":505}],322:[function(t,e,r){\"use strict\";function n(t,e,r){this.id=t,this.dispatcher=r,this.url=e.url,this.coordinates=e.coordinates,u.getImage(e.url,function(t,r){return t?this.fire(\"error\",{error:t}):(this.image=r,this.image.addEventListener(\"load\",function(){this.map._rerender()}.bind(this)),this._loaded=!0,this.fire(\"load\"),void(this.map&&this.setCoordinates(e.coordinates)))}.bind(this))}var i=t(\"../util/util\"),a=t(\"./tile_coord\"),o=t(\"../geo/lng_lat\"),s=t(\"point-geometry\"),l=t(\"../util/evented\"),u=t(\"../util/ajax\"),c=t(\"../data/bucket\").EXTENT,h=t(\"../render/draw_raster\").RasterBoundsArray,f=t(\"../data/buffer\"),d=t(\"../render/vertex_array_object\");e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,onAdd:function(t){this.map=t,this.image&&this.setCoordinates(this.coordinates)},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*c),Math.round((e.row-n.row)*c))}),this.fire(\"change\"),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=32767,r=new h;r.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),r.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,e,0),r.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,e),r.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,e,e),this.tile.buckets={},this.tile.boundsBuffer=new f(r.serialize(),h.serialize(),f.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=\"loaded\"},prepare:function(){if(this._loaded&&this.image&&this.image.complete&&this.tile){var t=this.map.painter,e=t.gl;this._prepared?(e.bindTexture(e.TEXTURE_2D,this.tile.texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.image)):(this.tile.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.tile.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image))}},loadTile:function(t,e){this._coord&&this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=\"errored\",e(null))},serialize:function(){return{type:\"image\",urls:this.url,coordinates:this.coordinates}}})},{\"../data/bucket\":290,\"../data/buffer\":295,\"../geo/lng_lat\":300,\"../render/draw_raster\":312,\"../render/vertex_array_object\":318,\"../util/ajax\":386,\"../util/evented\":395,\"../util/util\":403,\"./tile_coord\":330,\"point-geometry\":442}],323:[function(t,e,r){\"use strict\";var n=t(\"../util/util\"),i=t(\"../util/ajax\"),a=t(\"../util/browser\"),o=t(\"../util/mapbox\").normalizeSourceURL;e.exports=function(t,e){var r=function(t,r){if(t)return e(t);var i=n.pick(r,[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\"]);r.vector_layers&&(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),e(null,i)};t.url?i.getJSON(o(t.url),r):a.frame(r.bind(null,null,t))}},{\"../util/ajax\":386,\"../util/browser\":387,\"../util/mapbox\":400,\"../util/util\":403}],324:[function(t,e,r){\"use strict\";var n=t(\"../data/bucket\");e.exports=function(t,e,r){return e*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.coord.z)))}},{\"../data/bucket\":290}],325:[function(t,e,r){\"use strict\";function n(t,e){var r=t.coord,n=e.coord;return r.z-n.z||r.y-n.y||r.w-n.w||r.x-n.x}function i(t){for(var e=t[0]||{},r=1;r<t.length;r++){var n=t[r];for(var i in n){var a=n[i],o=e[i];if(void 0===o)o=e[i]=a;else for(var s=0;s<a.length;s++)o.push(a[s]);\n}}return e}var a=t(\"./tile_coord\");r.rendered=function(t,e,r,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var u=[],c=0;c<l.length;c++){var h=l[c];h.tile.featureIndex&&u.push(h.tile.featureIndex.query({queryGeometry:h.queryGeometry,scale:h.scale,tileSize:h.tile.tileSize,bearing:s,params:a},e))}return i(u)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},o=0;o<r.length;o++){var s=r[o],l=new a(Math.min(s.sourceMaxZoom,s.coord.z),s.coord.x,s.coord.y,0).id;i[l]||(i[l]=!0,s.querySourceFeatures(n,e))}return n}},{\"./tile_coord\":330}],326:[function(t,e,r){\"use strict\";function n(t,e,r){this.id=t,this.dispatcher=r,i.extend(this,i.pick(e,[\"url\",\"scheme\",\"tileSize\"])),s(e,function(t,e){return t?this.fire(\"error\",t):(i.extend(this,e),void this.fire(\"load\"))}.bind(this))}var i=t(\"../util/util\"),a=t(\"../util/ajax\"),o=t(\"../util/evented\"),s=t(\"./load_tilejson\"),l=t(\"../util/mapbox\").normalizeTileURL;e.exports=n,n.prototype=i.inherit(o,{minzoom:0,maxzoom:22,roundZoom:!0,scheme:\"xyz\",tileSize:512,_loaded:!1,onAdd:function(t){this.map=t},serialize:function(){return{type:\"raster\",url:this.url,tileSize:this.tileSize}},loadTile:function(t,e){function r(r,n){if(delete t.request,!t.aborted){if(r)return e(r);var i=this.map.painter.gl;t.texture=this.map.painter.getTexture(n.width),t.texture?(i.bindTexture(i.TEXTURE_2D,t.texture),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n)):(t.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),t.texture.size=n.width),i.generateMipmap(i.TEXTURE_2D),this.map.animationLoop.set(this.map.style.rasterFadeDuration),t.state=\"loaded\",e(null)}}var n=l(t.coord.url(this.tiles,null,this.scheme),this.url,this.tileSize);t.request=a.getImage(n,r.bind(this))},abortTile:function(t){t.request&&(t.request.abort(),delete t.request)},unloadTile:function(t){t.texture&&this.map.painter.saveTexture(t.texture)}})},{\"../util/ajax\":386,\"../util/evented\":395,\"../util/mapbox\":400,\"../util/util\":403,\"./load_tilejson\":323}],327:[function(t,e,r){\"use strict\";var n=t(\"../util/util\"),i={vector:t(\"../source/vector_tile_source\"),raster:t(\"../source/raster_tile_source\"),geojson:t(\"../source/geojson_source\"),video:t(\"../source/video_source\"),image:t(\"../source/image_source\")};r.create=function(t,e,r){if(e=new i[e.type](t,e,r),e.id!==t)throw new Error(\"Expected Source id to be \"+t+\" instead of \"+e.id);return n.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],e),e},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\"../source/geojson_source\":319,\"../source/image_source\":322,\"../source/raster_tile_source\":326,\"../source/vector_tile_source\":331,\"../source/video_source\":333,\"../util/util\":403}],328:[function(t,e,r){\"use strict\";function n(t,e,r){this.id=t,this.dispatcher=r;var n=this._source=o.create(t,e,r).on(\"load\",function(){this.map&&this._source.onAdd&&this._source.onAdd(this.map),this._sourceLoaded=!0,this.tileSize=n.tileSize,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,this.roundZoom=n.roundZoom,this.reparseOverscaled=n.reparseOverscaled,this.isTileClipped=n.isTileClipped,this.attribution=n.attribution,this.vectorLayerIds=n.vectorLayerIds,this.fire(\"load\")}.bind(this)).on(\"error\",function(t){this._sourceErrored=!0,this.fire(\"error\",t)}.bind(this)).on(\"change\",function(){this.reload(),this.transform&&this.update(this.transform,this.map&&this.map.style.rasterFadeDuration),this.fire(\"change\")}.bind(this));this._tiles={},this._cache=new c(0,this.unloadTile.bind(this)),this._isIdRenderable=this._isIdRenderable.bind(this)}function i(t,e,r){var n=r.zoomTo(Math.min(t.z,e));return{x:(n.column-(t.x+t.w*Math.pow(2,t.z)))*d,y:(n.row-t.y)*d}}function a(t,e){return t%32-e%32}var o=t(\"./source\"),s=t(\"./tile\"),l=t(\"../util/evented\"),u=t(\"./tile_coord\"),c=t(\"../util/lru_cache\"),h=t(\"../geo/coordinate\"),f=t(\"../util/util\"),d=t(\"../data/bucket\").EXTENT;e.exports=n,n.maxOverzooming=10,n.maxUnderzooming=3,n.prototype=f.inherit(l,{onAdd:function(t){this.map=t,this._source&&this._source.onAdd&&this._source.onAdd(t)},loaded:function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return!1}return!0},getSource:function(){return this._source},loadTile:function(t,e){return this._source.loadTile(t,e)},unloadTile:function(t){if(this._source.unloadTile)return this._source.unloadTile(t)},abortTile:function(t){if(this._source.abortTile)return this._source.abortTile(t)},serialize:function(){return this._source.serialize()},prepare:function(){if(this._sourceLoaded&&this._source.prepare)return this._source.prepare()},getIds:function(){return Object.keys(this._tiles).map(Number).sort(a)},getRenderableIds:function(){return this.getIds().filter(this._isIdRenderable)},_isIdRenderable:function(t){return this._tiles[t].isRenderable()&&!this._coveredTiles[t]},reload:function(){this._cache.reset();for(var t in this._tiles){var e=this._tiles[t];\"loading\"!==e.state&&(e.state=\"reloading\"),this.loadTile(this._tiles[t],this._tileLoaded.bind(this,this._tiles[t]))}},_tileLoaded:function(t,e){return e?(t.state=\"errored\",this.fire(\"tile.error\",{tile:t,error:e}),void this._source.fire(\"tile.error\",{tile:t,error:e})):(t.source=this,t.timeAdded=(new Date).getTime(),this.fire(\"tile.load\",{tile:t}),void this._source.fire(\"tile.load\",{tile:t}))},getTile:function(t){return this.getTileByID(t.id)},getTileByID:function(t){return this._tiles[t]},getZoom:function(t){return t.zoom+t.scaleZoom(t.tileSize/this.tileSize)},findLoadedChildren:function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.isRenderable()||a.coord.z<=t.z||a.coord.z>e)){var o=Math.pow(2,Math.min(a.coord.z,this.maxzoom)-Math.min(t.z,this.maxzoom));if(Math.floor(a.coord.x/o)===t.x&&Math.floor(a.coord.y/o)===t.y)for(r[i]=!0,n=!0;a&&a.coord.z-1>t.z;){var s=a.coord.parent(this.maxzoom).id;a=this._tiles[s],a&&a.isRenderable()&&(delete r[i],r[s]=!0)}}}return n},findLoadedParent:function(t,e,r){for(var n=t.z-1;n>=e;n--){t=t.parent(this.maxzoom);var i=this._tiles[t.id];if(i&&i.isRenderable())return r[t.id]=!0,i;if(this._cache.has(t.id))return this.addTile(t),r[t.id]=!0,this._tiles[t.id]}},updateCacheSize:function(t){var e=Math.ceil(t.width/t.tileSize)+1,r=Math.ceil(t.height/t.tileSize)+1,n=e*r,i=5;this._cache.setMaxSize(Math.floor(n*i))},update:function(t,e){if(this._sourceLoaded){var r,i,a;this.updateCacheSize(t);var o=(this.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-n.maxOverzooming,this.minzoom),l=Math.max(o+n.maxUnderzooming,this.minzoom),c={},h=(new Date).getTime();this._coveredTiles={};var d=this.used?t.coveringTiles(this._source):[];for(r=0;r<d.length;r++)i=d[r],a=this.addTile(i),c[i.id]=!0,a.isRenderable()||this.findLoadedChildren(i,l,c)||this.findLoadedParent(i,s,c);for(var p={},g=Object.keys(c),m=0;m<g.length;m++){var v=g[m];i=u.fromID(v),a=this._tiles[v],a&&a.timeAdded>h-(e||0)&&(this.findLoadedChildren(i,l,c)&&(c[v]=!0),this.findLoadedParent(i,s,p))}var y;for(y in p)c[y]||(this._coveredTiles[y]=!0);for(y in p)c[y]=!0;var x=f.keysDifference(this._tiles,c);for(r=0;r<x.length;r++)this.removeTile(+x[r]);this.transform=t}},addTile:function(t){var e=this._tiles[t.id];if(e)return e;var r=t.wrapped();if(e=this._tiles[r.id],e||(e=this._cache.get(r.id),e&&this._redoPlacement&&this._redoPlacement(e)),!e){var n=t.z,i=n>this.maxzoom?Math.pow(2,n-this.maxzoom):1;e=new s(r,this.tileSize*i,this.maxzoom),this.loadTile(e,this._tileLoaded.bind(this,e))}return e.uses++,this._tiles[t.id]=e,this.fire(\"tile.add\",{tile:e}),this._source.fire(\"tile.add\",{tile:e}),e},removeTile:function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this.fire(\"tile.remove\",{tile:e}),this._source.fire(\"tile.remove\",{tile:e}),e.uses>0||(e.isRenderable()?this._cache.add(e.coord.wrapped().id,e):(e.aborted=!0,this.abortTile(e),this.unloadTile(e))))},clearTiles:function(){for(var t in this._tiles)this.removeTile(t);this._cache.reset()},tilesIn:function(t){for(var e={},r=this.getIds(),n=1/0,a=1/0,o=-(1/0),s=-(1/0),l=t[0].zoom,c=0;c<t.length;c++){var f=t[c];n=Math.min(n,f.column),a=Math.min(a,f.row),o=Math.max(o,f.column),s=Math.max(s,f.row)}for(var p=0;p<r.length;p++){var g=this._tiles[r[p]],m=u.fromID(r[p]),v=[i(m,g.sourceMaxZoom,new h(n,a,l)),i(m,g.sourceMaxZoom,new h(o,s,l))];if(v[0].x<d&&v[0].y<d&&v[1].x>=0&&v[1].y>=0){for(var y=[],x=0;x<t.length;x++)y.push(i(m,g.sourceMaxZoom,t[x]));var b=e[g.coord.id];void 0===b&&(b=e[g.coord.id]={tile:g,coord:m,queryGeometry:[],scale:Math.pow(2,this.transform.zoom-g.coord.z)}),b.queryGeometry.push(y)}}var _=[];for(var w in e)_.push(e[w]);return _},redoPlacement:function(){for(var t=this.getIds(),e=0;e<t.length;e++){var r=this.getTileByID(t[e]);r.redoPlacement(this)}},getVisibleCoordinates:function(){return this.getRenderableIds().map(u.fromID)}})},{\"../data/bucket\":290,\"../geo/coordinate\":299,\"../util/evented\":395,\"../util/lru_cache\":399,\"../util/util\":403,\"./source\":327,\"./tile\":329,\"./tile_coord\":330}],329:[function(t,e,r){\"use strict\";function n(t,e,r){this.coord=t,this.uid=a.uniqueId(),this.uses=0,this.tileSize=e,this.sourceMaxZoom=r,this.buckets={},this.state=\"loading\"}function i(t,e){if(e){for(var r={},n=0;n<t.length;n++){var i=e.getLayer(t[n].layerId);if(i){var s=o.create(a.extend({layer:i,childLayers:t[n].childLayerIds.map(e.getLayer.bind(e)).filter(function(t){return t})},t[n]));r[s.id]=s}}return r}}var a=t(\"../util/util\"),o=t(\"../data/bucket\"),s=t(\"../data/feature_index\"),l=t(\"vector-tile\"),u=t(\"pbf\"),c=t(\"../util/vectortile_to_geojson\"),h=t(\"feature-filter\"),f=t(\"../symbol/collision_tile\"),d=t(\"../symbol/collision_box\"),p=t(\"../symbol/symbol_instances\"),g=t(\"../symbol/symbol_quads\");e.exports=n,n.prototype={loadVectorData:function(t,e){this.state=\"loaded\",t&&(this.collisionBoxArray=new d(t.collisionBoxArray),this.collisionTile=new f(t.collisionTile,this.collisionBoxArray),this.symbolInstancesArray=new p(t.symbolInstancesArray),this.symbolQuadsArray=new g(t.symbolQuadsArray),this.featureIndex=new s(t.featureIndex,t.rawTileData,this.collisionTile),this.rawTileData=t.rawTileData,this.buckets=i(t.buckets,e))},reloadSymbolData:function(t,e,r){if(\"unloaded\"!==this.state){this.collisionTile=new f(t.collisionTile,this.collisionBoxArray),this.featureIndex.setCollisionTile(this.collisionTile);for(var n in this.buckets){var o=this.buckets[n];\"symbol\"===o.type&&(o.destroy(e.gl),delete this.buckets[n])}a.extend(this.buckets,i(t.buckets,r))}},unloadVectorData:function(t){for(var e in this.buckets){var r=this.buckets[e];r.destroy(t.gl)}this.collisionBoxArray=null,this.symbolQuadsArray=null,this.symbolInstancesArray=null,this.collisionTile=null,this.featureIndex=null,this.rawTileData=null,this.buckets=null,this.state=\"unloaded\"},redoPlacement:function(t){function e(e,r){this.reloadSymbolData(r,t.map.painter,t.map.style),t.fire(\"tile.load\",{tile:this}),this.state=\"loaded\",this.redoWhenDone&&(this.redoPlacement(t),this.redoWhenDone=!1)}return\"loaded\"!==this.state||\"reloading\"===this.state?void(this.redoWhenDone=!0):(this.state=\"reloading\",void t.dispatcher.send(\"redo placement\",{uid:this.uid,source:t.id,angle:t.map.transform.angle,pitch:t.map.transform.pitch,showCollisionBoxes:t.map.showCollisionBoxes},e.bind(this),this.workerID))},getBucket:function(t){return this.buckets&&this.buckets[t.ref||t.id]},querySourceFeatures:function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new l.VectorTile(new u(new Uint8Array(this.rawTileData))).layers);var r=this.vtLayers._geojsonTileLayer||this.vtLayers[e.sourceLayer];if(r)for(var n=h(e.filter),i={z:this.coord.z,x:this.coord.x,y:this.coord.y},a=0;a<r.length;a++){var o=r.feature(a);if(n(o)){var s=new c(o,this.coord.z,this.coord.x,this.coord.y);s.tile=i,t.push(s)}}}},isRenderable:function(){return\"loaded\"===this.state||\"reloading\"===this.state}}},{\"../data/bucket\":290,\"../data/feature_index\":297,\"../symbol/collision_box\":355,\"../symbol/collision_tile\":357,\"../symbol/symbol_instances\":366,\"../symbol/symbol_quads\":367,\"../util/util\":403,\"../util/vectortile_to_geojson\":404,\"feature-filter\":105,pbf:436,\"vector-tile\":505}],330:[function(t,e,r){\"use strict\";function n(t,e,r,n){l(!isNaN(t)&&t>=0&&t%1===0),l(!isNaN(e)&&e>=0&&e%1===0),l(!isNaN(r)&&r>=0&&r%1===0),isNaN(n)&&(n=0),this.z=+t,this.x=+e,this.y=+r,this.w=+n,n*=2,n<0&&(n=n*-1-1);var i=1<<this.z;this.id=32*(i*i*n+i*this.y+this.x)+this.z,this.posMatrix=null}function i(t,e,r){for(var n,i=\"\",a=t;a>0;a--)n=1<<a-1,i+=(e&n?1:0)+(r&n?2:0);return i}function a(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function o(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,u=e.dx/e.dy,c=t.dx>0,h=e.dx<0,f=a;f<o;f++){var d=l*Math.max(0,Math.min(t.dy,f+c-t.y0))+t.x0,p=u*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;i(Math.floor(p),Math.ceil(d),f)}}function s(t,e,r,n,i,s){var l,u=a(t,e),c=a(e,r),h=a(r,t);u.dy>c.dy&&(l=u,u=c,c=l),u.dy>h.dy&&(l=u,u=h,h=l),c.dy>h.dy&&(l=c,c=h,h=l),u.dy&&o(h,u,n,i,s),c.dy&&o(h,c,n,i,s)}var l=t(\"assert\"),u=t(\"whoots-js\"),c=t(\"../geo/coordinate\");e.exports=n,n.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y},n.prototype.toCoordinate=function(t){var e=Math.min(this.z,t),r=Math.pow(2,e),n=this.y,i=this.x+r*this.w;return new c(i,n,e)},n.fromID=function(t){var e=t%32,r=1<<e,i=(t-e)/32,a=i%r,o=(i-a)/r%r,s=Math.floor(i/(r*r));return s%2!==0&&(s=s*-1-1),s/=2,new n(e,a,o,s)},n.prototype.url=function(t,e,r){var n=u.getTileBBox(this.x,this.y,this.z),a=i(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",Math.min(this.z,e||this.z)).replace(\"{x}\",this.x).replace(\"{y}\",\"tms\"===r?Math.pow(2,this.z)-this.y-1:this.y).replace(\"{quadkey}\",a).replace(\"{bbox-epsg-3857}\",n)},n.prototype.parent=function(t){return 0===this.z?null:this.z>t?new n(this.z-1,this.x,this.y,this.w):new n(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},n.prototype.wrapped=function(){return new n(this.z,this.x,this.y,0)},n.prototype.children=function(t){if(this.z>=t)return[new n(this.z+1,this.x,this.y,this.w)];var e=this.z+1,r=2*this.x,i=2*this.y;return[new n(e,r,i,this.w),new n(e,r+1,i,this.w),new n(e,r,i+1,this.w),new n(e,r+1,i+1,this.w)]},n.cover=function(t,e,r){function i(t,e,i){var s,l,u;if(i>=0&&i<=a)for(s=t;s<e;s++)l=(s%a+a)%a,u=new n(r,l,i,Math.floor(s/a)),o[u.id]=u}var a=1<<t,o={};return s(e[0],e[1],e[2],0,a,i),s(e[2],e[3],e[0],0,a,i),Object.keys(o).map(function(t){return o[t]})}},{\"../geo/coordinate\":299,assert:34,\"whoots-js\":521}],331:[function(t,e,r){\"use strict\";function n(t,e,r){if(this.id=t,this.dispatcher=r,a.extend(this,a.pick(e,[\"url\",\"scheme\",\"tileSize\"])),this._options=a.extend({type:\"vector\"},e),512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");o(e,function(t,e){return t?void this.fire(\"error\",t):(a.extend(this,e),void this.fire(\"load\"))}.bind(this))}var i=t(\"../util/evented\"),a=t(\"../util/util\"),o=t(\"./load_tilejson\"),s=t(\"../util/mapbox\").normalizeTileURL;e.exports=n,n.prototype=a.inherit(i,{minzoom:0,maxzoom:22,scheme:\"xyz\",tileSize:512,reparseOverscaled:!0,isTileClipped:!0,onAdd:function(t){this.map=t},serialize:function(){return a.extend({},this._options)},loadTile:function(t,e){function r(r,n){if(!t.aborted){if(r)return e(r);t.loadVectorData(n,this.map.style),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(this)),e(null),t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)}}var n=t.coord.z>this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,i={url:s(t.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:t.uid,coord:t.coord,zoom:t.coord.z,tileSize:this.tileSize*n,source:this.id,overscaling:n,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID?\"loading\"===t.state?t.reloadCallback=e:(i.rawTileData=t.rawTileData,this.dispatcher.send(\"reload tile\",i,r.bind(this),t.workerID)):t.workerID=this.dispatcher.send(\"load tile\",i,r.bind(this))},abortTile:function(t){this.dispatcher.send(\"abort tile\",{uid:t.uid,source:this.id},null,t.workerID)},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(\"remove tile\",{uid:t.uid,source:this.id},null,t.workerID)}})},{\"../util/evented\":395,\"../util/mapbox\":400,\"../util/util\":403,\"./load_tilejson\":323}],332:[function(t,e,r){\"use strict\";function n(t,e,r){this.actor=t,this.styleLayers=e,r&&(this.loadVectorData=r),this.loading={},this.loaded={}}var i=t(\"../util/ajax\"),a=t(\"vector-tile\"),o=t(\"pbf\"),s=t(\"./worker_tile\");e.exports=n,n.prototype={loadTile:function(t,e){function r(t,r){return delete this.loading[n][i],t?e(t):r?(a.data=r.tile,a.parse(a.data,this.styleLayers.getLayerFamilies(),this.actor,r.rawTileData,e),this.loaded[n]=this.loaded[n]||{},void(this.loaded[n][i]=a)):e(null,null)}var n=t.source,i=t.uid;this.loading[n]||(this.loading[n]={});var a=this.loading[n][i]=new s(t);a.abort=this.loadVectorData(t,r.bind(this))},reloadTile:function(t,e){var r=this.loaded[t.source],n=t.uid;if(r&&r[n]){var i=r[n];i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,t.rawTileData,e)}},abortTile:function(t){var e=this.loading[t.source],r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort(),delete e[r])},removeTile:function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},loadVectorData:function(t,e){function r(t,r){if(t)return e(t);var n=new a.VectorTile(new o(new Uint8Array(r)));e(t,{tile:n,rawTileData:r})}var n=i.getArrayBuffer(t.url,r.bind(this));return function(){n.abort()}},redoPlacement:function(t,e){var r=this.loaded[t.source],n=this.loading[t.source],i=t.uid;if(r&&r[i]){var a=r[i],o=a.redoPlacement(t.angle,t.pitch,t.showCollisionBoxes);o.result&&e(null,o.result,o.transferables)}else n&&n[i]&&(n[i].angle=t.angle)}}},{\"../util/ajax\":386,\"./worker_tile\":335,pbf:436,\"vector-tile\":505}],333:[function(t,e,r){\"use strict\";function n(t,e){this.id=t,this.urls=e.urls,this.coordinates=e.coordinates,u.getVideo(e.urls,function(t,r){if(t)return this.fire(\"error\",{error:t});this.video=r,this.video.loop=!0;var n;this.video.addEventListener(\"playing\",function(){n=this.map.style.animationLoop.set(1/0),this.map._rerender()}.bind(this)),this.video.addEventListener(\"pause\",function(){this.map.style.animationLoop.cancel(n)}.bind(this)),this.map&&(this.video.play(),this.setCoordinates(e.coordinates)),this.fire(\"load\")}.bind(this))}var i=t(\"../util/util\"),a=t(\"./tile_coord\"),o=t(\"../geo/lng_lat\"),s=t(\"point-geometry\"),l=t(\"../util/evented\"),u=t(\"../util/ajax\"),c=t(\"../data/bucket\").EXTENT,h=t(\"../render/draw_raster\").RasterBoundsArray,f=t(\"../data/buffer\"),d=t(\"../render/vertex_array_object\");e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,roundZoom:!0,getVideo:function(){return this.video},onAdd:function(t){this.map||(this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*c),Math.round((e.row-n.row)*c))}),this.fire(\"change\"),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=32767,r=new h;r.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),r.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,e,0),r.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,e),r.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,e,e),this.tile.buckets={},this.tile.boundsBuffer=new f(r.serialize(),h.serialize(),f.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=\"loaded\"},prepare:function(){if(!(this.video.readyState<2)&&this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this._prepared=!0,this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.video)),this._currentTime=this.video.currentTime}},loadTile:function(t,e){this._coord&&this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=\"errored\",e(null))},serialize:function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}}})},{\"../data/bucket\":290,\"../data/buffer\":295,\"../geo/lng_lat\":300,\"../render/draw_raster\":312,\"../render/vertex_array_object\":318,\"../util/ajax\":386,\"../util/evented\":395,\"../util/util\":403,\"./tile_coord\":330,\"point-geometry\":442}],334:[function(t,e,r){\"use strict\";function n(t){this.self=t,this.actor=new a(t,this);var e={getLayers:function(){return this.layers}.bind(this),getLayerFamilies:function(){return this.layerFamilies}.bind(this)};this.workerSources={vector:new l(this.actor,e),geojson:new u(this.actor,e)},this.self.registerWorkerSource=function(t,r){if(this.workerSources[t])throw new Error('Worker source with name \"'+t+'\" already registered.');this.workerSources[t]=new r(this.actor,e)}.bind(this)}function i(t){var e={};for(var r in t){var n=t[r],i=n.ref||n.id,a=t[i];a.layout&&\"none\"===a.layout.visibility||(e[i]=e[i]||[],r===i?e[i].unshift(n):e[i].push(n))}return e}var a=t(\"../util/actor\"),o=t(\"../style/style_layer\"),s=t(\"../util/util\"),l=t(\"./vector_tile_worker_source\"),u=t(\"./geojson_worker_source\");e.exports=function(t){return new n(t)},s.extend(n.prototype,{\"set layers\":function(t){function e(t){var e=o.create(t,t.ref&&r.layers[t.ref]);e.updatePaintTransitions({},{transition:!1}),r.layers[e.id]=e}this.layers={};for(var r=this,n=[],a=0;a<t.length;a++){var s=t[a];\"fill\"!==s.type&&\"line\"!==s.type&&\"circle\"!==s.type&&\"symbol\"!==s.type||(s.ref?n.push(a):e(s))}for(var l=0;l<n.length;l++)e(t[n[l]]);this.layerFamilies=i(this.layers)},\"update layers\":function(t){function e(t){var e=a.layers[t.ref];a.layers[t.id]?a.layers[t.id].set(t,e):a.layers[t.id]=o.create(t,e),a.layers[t.id].updatePaintTransitions({},{transition:!1})}var r,n,a=this;for(r in t)n=t[r],n.ref&&e(n);for(r in t)n=t[r],n.ref||e(n);this.layerFamilies=i(this.layers)},\"load tile\":function(t,e){var r=t.type||\"vector\";this.workerSources[r].loadTile(t,e)},\"reload tile\":function(t,e){var r=t.type||\"vector\";this.workerSources[r].reloadTile(t,e)},\"abort tile\":function(t){var e=t.type||\"vector\";this.workerSources[e].abortTile(t)},\"remove tile\":function(t){var e=t.type||\"vector\";this.workerSources[e].removeTile(t)},\"redo placement\":function(t,e){var r=t.type||\"vector\";this.workerSources[r].redoPlacement(t,e)},\"load worker source\":function(t,e){try{this.self.importScripts(t.url),e()}catch(t){e(t)}}})},{\"../style/style_layer\":342,\"../util/actor\":385,\"../util/util\":403,\"./geojson_worker_source\":320,\"./vector_tile_worker_source\":332}],335:[function(t,e,r){\"use strict\";function n(t){this.coord=t.coord,this.uid=t.uid,this.zoom=t.zoom,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.angle=t.angle,this.pitch=t.pitch,this.showCollisionBoxes=t.showCollisionBoxes}function i(t){return!t.isEmpty()}function a(t){return t.serialize()}function o(t){var e=[];for(var r in t)t[r].getTransferables(e);return e}function s(t){return t.id}var l=t(\"../data/feature_index\"),u=t(\"../symbol/collision_tile\"),c=t(\"../data/bucket\"),h=t(\"../symbol/collision_box\"),f=t(\"../util/dictionary_coder\"),d=t(\"../util/util\"),p=t(\"../symbol/symbol_instances\"),g=t(\"../symbol/symbol_quads\");e.exports=n,n.prototype.parse=function(t,e,r,n,m){function v(t,e){for(var r=0;r<t.length;r++){var n=t.feature(r);n.index=r;for(var i in e)e[i].filter(n)&&e[i].features.push(n)}}function y(t){if(t)return m(t);if(N++,2===N){for(var e=D.length-1;e>=0;e--)x(S,D[e]);b()}}function x(t,e){if(e.populateArrays(k,j,F),\"symbol\"!==e.type)for(var r=0;r<e.features.length;r++){var n=e.features[r];T.insert(n,n.index,e.sourceLayerIndex,e.index)}e.features=null}function b(){S.status=\"done\",S.redoPlacementAfterDone&&(S.redoPlacement(S.angle,S.pitch,null),S.redoPlacementAfterDone=!1);var t=T.serialize(),e=k.serialize(),r=S.collisionBoxArray.serialize(),s=S.symbolInstancesArray.serialize(),l=S.symbolQuadsArray.serialize(),u=[n].concat(t.transferables).concat(e.transferables),c=P.filter(i);m(null,{buckets:c.map(a),featureIndex:t.data,collisionTile:e.data,collisionBoxArray:r,symbolInstancesArray:s,symbolQuadsArray:l,rawTileData:n},o(c).concat(u))}this.status=\"parsing\",this.data=t,this.collisionBoxArray=new h,this.symbolInstancesArray=new p,this.symbolQuadsArray=new g;var _,w,M,A,k=new u(this.angle,this.pitch,this.collisionBoxArray),T=new l(this.coord,this.overscaling,k,t.layers),E=new f(t.layers?Object.keys(t.layers).sort():[\"_geojsonTileLayer\"]),S=this,L={},z={},C=0;for(var I in e)w=e[I][0],w.source===this.source&&(w.ref||w.minzoom&&this.zoom<w.minzoom||w.maxzoom&&this.zoom>=w.maxzoom||w.layout&&\"none\"===w.layout.visibility||t.layers&&!t.layers[w.sourceLayer]||(A=c.create({layer:w,index:C++,childLayers:e[I],zoom:this.zoom,overscaling:this.overscaling,showCollisionBoxes:this.showCollisionBoxes,collisionBoxArray:this.collisionBoxArray,symbolQuadsArray:this.symbolQuadsArray,symbolInstancesArray:this.symbolInstancesArray,sourceLayerIndex:E.encode(w.sourceLayer||\"_geojsonTileLayer\")}),A.createFilter(),L[w.id]=A,t.layers&&(M=w.sourceLayer,z[M]=z[M]||{},z[M][w.id]=A)));if(t.layers)for(M in z)1===w.version&&d.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+M+'\" does not use vector tile spec v2 and therefore may have some rendering errors.'),w=t.layers[M],w&&v(w,z[M]);else v(t,L);var P=[],D=this.symbolBuckets=[],O=[];T.bucketLayerIDs={};for(var R in L)A=L[R],0!==A.features.length&&(T.bucketLayerIDs[A.index]=A.childLayers.map(s),P.push(A),\"symbol\"===A.type?D.push(A):O.push(A));var F={},j={},N=0;if(D.length>0){for(_=D.length-1;_>=0;_--)D[_].updateIcons(F),D[_].updateFont(j);for(var B in j)j[B]=Object.keys(j[B]).map(Number);F=Object.keys(F),r.send(\"get glyphs\",{uid:this.uid,stacks:j},function(t,e){j=e,y(t)}),F.length?r.send(\"get icons\",{icons:F},function(t,e){F=e,y(t)}):y()}for(_=O.length-1;_>=0;_--)x(this,O[_]);if(0===D.length)return b()},n.prototype.redoPlacement=function(t,e,r){if(\"done\"!==this.status)return this.redoPlacementAfterDone=!0,this.angle=t,{};for(var n=new u(t,e,this.collisionBoxArray),s=this.symbolBuckets,l=s.length-1;l>=0;l--)s[l].placeFeatures(n,r);var c=n.serialize(),h=s.filter(i);return{result:{buckets:h.map(a),collisionTile:c.data},transferables:o(h).concat(c.transferables)}}},{\"../data/bucket\":290,\"../data/feature_index\":297,\"../symbol/collision_box\":355,\"../symbol/collision_tile\":357,\"../symbol/symbol_instances\":366,\"../symbol/symbol_quads\":367,\"../util/dictionary_coder\":393,\"../util/util\":403}],336:[function(t,e,r){\"use strict\";function n(){this.n=0,this.times=[]}e.exports=n,n.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},n.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},n.prototype.cancel=function(t){this.times=this.times.filter(function(e){return e.id!==t})}},{}],337:[function(t,e,r){\"use strict\";function n(t){this.base=t,this.retina=s.devicePixelRatio>1;var e=this.retina?\"@2x\":\"\";o.getJSON(l(t,e,\".json\"),function(t,e){return t?void this.fire(\"error\",{error:t}):(this.data=e,void(this.img&&this.fire(\"load\")))}.bind(this)),o.getImage(l(t,e,\".png\"),function(t,e){if(t)return void this.fire(\"error\",{error:t});for(var r=e.getData(),n=e.data=new Uint8Array(r.length),i=0;i<r.length;i+=4){var a=r[i+3]/255;n[i+0]=r[i+0]*a,n[i+1]=r[i+1]*a,n[i+2]=r[i+2]*a,n[i+3]=r[i+3]}this.img=e,this.data&&this.fire(\"load\")}.bind(this))}function i(){}var a=t(\"../util/evented\"),o=t(\"../util/ajax\"),s=t(\"../util/browser\"),l=t(\"../util/mapbox\").normalizeSpriteURL;e.exports=n,n.prototype=Object.create(a),n.prototype.toJSON=function(){return this.base},n.prototype.loaded=function(){return!(!this.data||!this.img)},n.prototype.resize=function(){if(s.devicePixelRatio>1!==this.retina){var t=new n(this.base);t.on(\"load\",function(){this.img=t.img,this.data=t.data,this.retina=t.retina}.bind(this))}},i.prototype={x:0,y:0,width:0,height:0,pixelRatio:1,sdf:!1},n.prototype.getSpritePosition=function(t){if(!this.loaded())return new i;var e=this.data&&this.data[t];return e&&this.img?e:new i}},{\"../util/ajax\":386,\"../util/browser\":387,\"../util/evented\":395,\"../util/mapbox\":400}],338:[function(t,e,r){\"use strict\";var n=t(\"csscolorparser\").parseCSSColor,i=t(\"../util/util\"),a=t(\"./style_function\"),o={};e.exports=function t(e){if(a.isFunctionDefinition(e))return i.extend({},e,{stops:e.stops.map(function(e){return[e[0],t(e[1])]})});if(\"string\"==typeof e){if(!o[e]){var r=n(e);if(!r)throw new Error(\"Invalid color \"+e);o[e]=[r[0]/255*r[3],r[1]/255*r[3],r[2]/255*r[3],r[3]]}return o[e]}throw new Error(\"Invalid color \"+e)}},{\"../util/util\":403,\"./style_function\":341,csscolorparser:89}],339:[function(t,e,r){\"use strict\";function n(t,e,r){this.animationLoop=e||new g,this.dispatcher=new p(r||1,this),this.spriteAtlas=new l(1024,1024),this.lineAtlas=new u(256,512),this._layers={},this._order=[],this._groups=[],this.sources={},this.zoomHistory={},c.bindAll([\"_forwardSourceEvent\",\"_forwardTileEvent\",\"_forwardLayerEvent\",\"_redoPlacement\"],this),this._resetUpdates();var n=function(t,e){if(t)return void this.fire(\"error\",{error:t});if(!m.emitErrors(this,m(e))){this._loaded=!0,this.stylesheet=e,this.updateClasses();var r=e.sources;for(var n in r)this.addSource(n,r[n]);e.sprite&&(this.sprite=new o(e.sprite),this.sprite.on(\"load\",this.fire.bind(this,\"change\"))),this.glyphSource=new s(e.glyphs),this._resolve(),this.fire(\"load\")}}.bind(this);\"string\"==typeof t?h.getJSON(f(t),n):d.frame(n.bind(this,null,t)),this.on(\"source.load\",function(t){var e=t.source;if(e&&e.vectorLayerIds)for(var r in this._layers){var n=this._layers[r];n.source===e.id&&this._validateLayer(n)}})}var i=t(\"../util/evented\"),a=t(\"./style_layer\"),o=t(\"./image_sprite\"),s=t(\"../symbol/glyph_source\"),l=t(\"../symbol/sprite_atlas\"),u=t(\"../render/line_atlas\"),c=t(\"../util/util\"),h=t(\"../util/ajax\"),f=t(\"../util/mapbox\").normalizeStyleURL,d=t(\"../util/browser\"),p=t(\"../util/dispatcher\"),g=t(\"./animation_loop\"),m=t(\"./validate_style\"),v=t(\"../source/source\"),y=t(\"../source/query_features\"),x=t(\"../source/source_cache\"),b=t(\"./style_spec\"),_=t(\"./style_function\");e.exports=n,n.prototype=c.inherit(i,{_loaded:!1,_validateLayer:function(t){var e=this.sources[t.source];t.sourceLayer&&e&&e.vectorLayerIds&&e.vectorLayerIds.indexOf(t.sourceLayer)===-1&&this.fire(\"error\",{error:new Error('Source layer \"'+t.sourceLayer+'\" does not exist on source \"'+e.id+'\" as specified by style layer \"'+t.id+'\"')})},loaded:function(){if(!this._loaded)return!1;if(Object.keys(this._updates.sources).length)return!1;for(var t in this.sources)if(!this.sources[t].loaded())return!1;return!(this.sprite&&!this.sprite.loaded())},_resolve:function(){var t,e;this._layers={},this._order=this.stylesheet.layers.map(function(t){return t.id});for(var r=0;r<this.stylesheet.layers.length;r++)e=this.stylesheet.layers[r],\ne.ref||(t=a.create(e),this._layers[t.id]=t,t.on(\"error\",this._forwardLayerEvent));for(var n=0;n<this.stylesheet.layers.length;n++)if(e=this.stylesheet.layers[n],e.ref){var i=this.getLayer(e.ref);t=a.create(e,i),this._layers[t.id]=t,t.on(\"error\",this._forwardLayerEvent)}this._groupLayers(),this._updateWorkerLayers()},_groupLayers:function(){var t;this._groups=[];for(var e=0;e<this._order.length;++e){var r=this._layers[this._order[e]];t&&r.source===t.source||(t=[],t.source=r.source,this._groups.push(t)),t.push(r)}},_updateWorkerLayers:function(t){this.dispatcher.broadcast(t?\"update layers\":\"set layers\",this._serializeLayers(t))},_serializeLayers:function(t){t=t||this._order;for(var e=[],r={includeRefProperties:!0},n=0;n<t.length;n++)e.push(this._layers[t[n]].serialize(r));return e},_applyClasses:function(t,e){if(this._loaded){t=t||[],e=e||{transition:!0};var r=this.stylesheet.transition||{},n=this._updates.allPaintProps?this._layers:this._updates.paintProps;for(var i in n){var a=this._layers[i],o=this._updates.paintProps[i];if(this._updates.allPaintProps||o.all)a.updatePaintTransitions(t,e,r,this.animationLoop);else for(var s in o)this._layers[i].updatePaintTransition(s,t,e,r,this.animationLoop)}}},_recalculate:function(t){for(var e in this.sources)this.sources[e].used=!1;this._updateZoomHistory(t),this.rasterFadeDuration=300;for(var r in this._layers){var n=this._layers[r];n.recalculate(t,this.zoomHistory),!n.isHidden(t)&&n.source&&(this.sources[n.source].used=!0)}var i=300;Math.floor(this.z)!==Math.floor(t)&&this.animationLoop.set(i),this.z=t,this.fire(\"zoom\")},_updateZoomHistory:function(t){var e=this.zoomHistory;void 0===e.lastIntegerZoom&&(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=0,e.lastZoom=t),Math.floor(e.lastZoom)<Math.floor(t)?(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=Date.now()):Math.floor(e.lastZoom)>Math.floor(t)&&(e.lastIntegerZoom=Math.floor(t+1),e.lastIntegerZoomTime=Date.now()),e.lastZoom=t},_checkLoaded:function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},update:function(t,e){if(!this._updates.changed)return this;if(this._updates.allLayers)this._groupLayers(),this._updateWorkerLayers();else{var r=Object.keys(this._updates.layers);r.length&&this._updateWorkerLayers(r)}var n,i=Object.keys(this._updates.sources);for(n=0;n<i.length;n++)this._reloadSource(i[n]);for(n=0;n<this._updates.events.length;n++){var a=this._updates.events[n];this.fire(a[0],a[1])}return this._applyClasses(t,e),this._updates.changed&&this.fire(\"change\"),this._resetUpdates(),this},_resetUpdates:function(){this._updates={events:[],layers:{},sources:{},paintProps:{}}},addSource:function(t,e){if(this._checkLoaded(),void 0!==this.sources[t])throw new Error(\"There is already a source with this ID\");if(!e.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(e)+\".\");var r=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],n=r.indexOf(e.type)>=0;return n&&this._handleErrors(m.source,\"sources.\"+t,e)?this:(e=new x(t,e,this.dispatcher),this.sources[t]=e,e.style=this,e.on(\"load\",this._forwardSourceEvent).on(\"error\",this._forwardSourceEvent).on(\"change\",this._forwardSourceEvent).on(\"tile.add\",this._forwardTileEvent).on(\"tile.load\",this._forwardTileEvent).on(\"tile.error\",this._forwardTileEvent).on(\"tile.remove\",this._forwardTileEvent).on(\"tile.stats\",this._forwardTileEvent),this._updates.events.push([\"source.add\",{source:e}]),this._updates.changed=!0,this)},removeSource:function(t){if(this._checkLoaded(),void 0===this.sources[t])throw new Error(\"There is no source with this ID\");var e=this.sources[t];return delete this.sources[t],delete this._updates.sources[t],e.off(\"load\",this._forwardSourceEvent).off(\"error\",this._forwardSourceEvent).off(\"change\",this._forwardSourceEvent).off(\"tile.add\",this._forwardTileEvent).off(\"tile.load\",this._forwardTileEvent).off(\"tile.error\",this._forwardTileEvent).off(\"tile.remove\",this._forwardTileEvent).off(\"tile.stats\",this._forwardTileEvent),this._updates.events.push([\"source.remove\",{source:e}]),this._updates.changed=!0,this},getSource:function(t){return this.sources[t]&&this.sources[t].getSource()},addLayer:function(t,e){if(this._checkLoaded(),!(t instanceof a)){if(this._handleErrors(m.layer,\"layers.\"+t.id,t,!1,{arrayIndex:-1}))return this;var r=t.ref&&this.getLayer(t.ref);t=a.create(t,r)}return this._validateLayer(t),t.on(\"error\",this._forwardLayerEvent),this._layers[t.id]=t,this._order.splice(e?this._order.indexOf(e):1/0,0,t.id),this._updates.allLayers=!0,t.source&&(this._updates.sources[t.source]=!0),this._updates.events.push([\"layer.add\",{layer:t}]),this.updateClasses(t.id)},removeLayer:function(t){this._checkLoaded();var e=this._layers[t];if(void 0===e)throw new Error(\"There is no layer with this ID\");for(var r in this._layers)this._layers[r].ref===t&&this.removeLayer(r);return e.off(\"error\",this._forwardLayerEvent),delete this._layers[t],delete this._updates.layers[t],delete this._updates.paintProps[t],this._order.splice(this._order.indexOf(t),1),this._updates.allLayers=!0,this._updates.events.push([\"layer.remove\",{layer:e}]),this._updates.changed=!0,this},getLayer:function(t){return this._layers[t]},getReferentLayer:function(t){var e=this.getLayer(t);return e.ref&&(e=this.getLayer(e.ref)),e},setLayerZoomRange:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return n.minzoom===e&&n.maxzoom===r?this:(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n))},setFilter:function(t,e){this._checkLoaded();var r=this.getReferentLayer(t);return null!==e&&this._handleErrors(m.filter,\"layers.\"+r.id+\".filter\",e)?this:c.deepEqual(r.filter,e)?this:(r.filter=c.clone(e),this._updateLayer(r))},getFilter:function(t){return this.getReferentLayer(t).filter},setLayoutProperty:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return c.deepEqual(n.getLayoutProperty(e),r)?this:(n.setLayoutProperty(e,r),this._updateLayer(n))},getLayoutProperty:function(t,e){return this.getReferentLayer(t).getLayoutProperty(e)},setPaintProperty:function(t,e,r,n){this._checkLoaded();var i=this.getLayer(t);if(c.deepEqual(i.getPaintProperty(e,n),r))return this;var a=i.isPaintValueFeatureConstant(e);i.setPaintProperty(e,r,n);var o=!(r&&_.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property);return o&&a||(this._updates.layers[t]=!0,i.source&&(this._updates.sources[i.source]=!0)),this.updateClasses(t,e)},getPaintProperty:function(t,e,r){return this.getLayer(t).getPaintProperty(e,r)},updateClasses:function(t,e){if(this._updates.changed=!0,t){var r=this._updates.paintProps;r[t]||(r[t]={}),r[t][e||\"all\"]=!0}else this._updates.allPaintProps=!0;return this},serialize:function(){return c.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:c.mapObject(this.sources,function(t){return t.serialize()}),layers:this._order.map(function(t){return this._layers[t].serialize()},this)},function(t){return void 0!==t})},_updateLayer:function(t){return this._updates.layers[t.id]=!0,t.source&&(this._updates.sources[t.source]=!0),this._updates.changed=!0,this},_flattenRenderedFeatures:function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0;i<t.length;i++){var a=t[i][n];if(a)for(var o=0;o<a.length;o++)e.push(a[o])}return e},queryRenderedFeatures:function(t,e,r,n){e&&e.filter&&this._handleErrors(m.filter,\"queryRenderedFeatures.filter\",e.filter,!0);var i={};if(e&&e.layers)for(var a=0;a<e.layers.length;a++){var o=e.layers[a];i[this._layers[o].source]=!0}var s=[];for(var l in this.sources)if(!e.layers||i[l]){var u=this.sources[l],c=y.rendered(u,this._layers,t,e,r,n);s.push(c)}return this._flattenRenderedFeatures(s)},querySourceFeatures:function(t,e){e&&e.filter&&this._handleErrors(m.filter,\"querySourceFeatures.filter\",e.filter,!0);var r=this.sources[t];return r?y.source(r,e):[]},addSourceType:function(t,e,r){return v.getType(t)?r(new Error('A source type called \"'+t+'\" already exists.')):(v.setType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"load worker source\",{name:t,url:e.workerSourceURL},r):r(null,null))},_handleErrors:function(t,e,r,n,i){var a=n?m.throwErrors:m.emitErrors,o=t.call(m,c.extend({key:e,style:this.serialize(),value:r,styleSpec:b},i));return a.call(m,this,o)},_remove:function(){this.dispatcher.remove()},_reloadSource:function(t){this.sources[t].reload()},_updateSources:function(t){for(var e in this.sources)this.sources[e].update(t)},_redoPlacement:function(){for(var t in this.sources)this.sources[t].redoPlacement&&this.sources[t].redoPlacement()},_forwardSourceEvent:function(t){this.fire(\"source.\"+t.type,c.extend({source:t.target.getSource()},t))},_forwardTileEvent:function(t){this.fire(t.type,c.extend({source:t.target},t))},_forwardLayerEvent:function(t){this.fire(\"layer.\"+t.type,c.extend({layer:{id:t.target.id}},t))},\"get sprite json\":function(t,e){var r=this.sprite;r.loaded()?e(null,{sprite:r.data,retina:r.retina}):r.on(\"load\",function(){e(null,{sprite:r.data,retina:r.retina})})},\"get icons\":function(t,e){var r=this.sprite,n=this.spriteAtlas;r.loaded()?(n.setSprite(r),n.addIcons(t.icons,e)):r.on(\"load\",function(){n.setSprite(r),n.addIcons(t.icons,e)})},\"get glyphs\":function(t,e){function r(t,r,n){t&&console.error(t),a[n]=r,i--,0===i&&e(null,a)}var n=t.stacks,i=Object.keys(n).length,a={};for(var o in n)this.glyphSource.getSimpleGlyphs(o,n[o],t.uid,r)}})},{\"../render/line_atlas\":315,\"../source/query_features\":325,\"../source/source\":327,\"../source/source_cache\":328,\"../symbol/glyph_source\":360,\"../symbol/sprite_atlas\":365,\"../util/ajax\":386,\"../util/browser\":387,\"../util/dispatcher\":394,\"../util/evented\":395,\"../util/mapbox\":400,\"../util/util\":403,\"./animation_loop\":336,\"./image_sprite\":337,\"./style_function\":341,\"./style_layer\":342,\"./style_spec\":349,\"./validate_style\":351}],340:[function(t,e,r){\"use strict\";function n(t,e){this.value=s.clone(e),this.isFunction=a.isFunctionDefinition(e),this.json=JSON.stringify(this.value);var r=\"color\"===t.type&&this.value?o(this.value):e;if(this.calculate=a[t.function||\"piecewise-constant\"](r),this.isFeatureConstant=this.calculate.isFeatureConstant,this.isZoomConstant=this.calculate.isZoomConstant,\"piecewise-constant\"===t.function&&t.transition&&(this.calculate=i(this.calculate)),!this.isFeatureConstant&&!this.isZoomConstant){this.stopZoomLevels=[];for(var n=[],l=this.value.stops,u=0;u<this.value.stops.length;u++){var c=l[u][0].zoom;this.stopZoomLevels.indexOf(c)<0&&(this.stopZoomLevels.push(c),n.push([c,n.length]))}this.calculateInterpolationT=a.interpolated({stops:n,base:e.base})}}function i(t){return function(e,r){var n,i,a,o=e.zoom,s=e.zoomHistory,l=e.duration,u=o%1,c=Math.min((Date.now()-s.lastIntegerZoomTime)/l,1),h=1,f=1;return o>s.lastIntegerZoom?(n=u+(1-u)*c,h*=2,i=t({zoom:o-1},r),a=t({zoom:o},r)):(n=1-(1-c)*u,a=t({zoom:o},r),i=t({zoom:o+1},r),h/=2),void 0===i||void 0===a?void 0:{from:i,fromScale:h,to:a,toScale:f,t:n}}}var a=t(\"./style_function\"),o=t(\"./parse_color\"),s=t(\"../util/util\");e.exports=n},{\"../util/util\":403,\"./parse_color\":338,\"./style_function\":341}],341:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl-function\");r.interpolated=function(t){var e=n.interpolated(t),r=function(t,r){return e(t&&t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r[\"piecewise-constant\"]=function(t){var e=n[\"piecewise-constant\"](t),r=function(t,r){return e(t&&t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r.isFunctionDefinition=n.isFunctionDefinition},{\"mapbox-gl-function\":263}],342:[function(t,e,r){\"use strict\";function n(t,e){this.set(t,e)}function i(t){return t.value}var a=t(\"../util/util\"),o=t(\"./style_transition\"),s=t(\"./style_declaration\"),l=t(\"./style_spec\"),u=t(\"./validate_style\"),c=t(\"./parse_color\"),h=t(\"../util/evented\");e.exports=n;var f=\"-transition\";n.create=function(e,r){var n={background:t(\"./style_layer/background_style_layer\"),circle:t(\"./style_layer/circle_style_layer\"),fill:t(\"./style_layer/fill_style_layer\"),line:t(\"./style_layer/line_style_layer\"),raster:t(\"./style_layer/raster_style_layer\"),symbol:t(\"./style_layer/symbol_style_layer\")};return new n[(r||e).type](e,r)},n.prototype=a.inherit(h,{set:function(t,e){this.id=t.id,this.ref=t.ref,this.metadata=t.metadata,this.type=(e||t).type,this.source=(e||t).source,this.sourceLayer=(e||t)[\"source-layer\"],this.minzoom=(e||t).minzoom,this.maxzoom=(e||t).maxzoom,this.filter=(e||t).filter,this.paint={},this.layout={},this._paintSpecifications=l[\"paint_\"+this.type],this._layoutSpecifications=l[\"layout_\"+this.type],this._paintTransitions={},this._paintTransitionOptions={},this._paintDeclarations={},this._layoutDeclarations={},this._layoutFunctions={};var r,n;for(var i in t){var a=i.match(/^paint(?:\\.(.*))?$/);if(a){var o=a[1]||\"\";for(r in t[i])this.setPaintProperty(r,t[i][r],o)}}if(this.ref)this._layoutDeclarations=e._layoutDeclarations;else for(n in t.layout)this.setLayoutProperty(n,t.layout[n]);for(r in this._paintSpecifications)this.paint[r]=this.getPaintValue(r);for(n in this._layoutSpecifications)this._updateLayoutValue(n)},setLayoutProperty:function(t,e){if(null==e)delete this._layoutDeclarations[t];else{var r=\"layers.\"+this.id+\".layout.\"+t;if(this._handleErrors(u.layoutProperty,r,t,e))return;this._layoutDeclarations[t]=new s(this._layoutSpecifications[t],e)}this._updateLayoutValue(t)},getLayoutProperty:function(t){return this._layoutDeclarations[t]&&this._layoutDeclarations[t].value},getLayoutValue:function(t,e,r){var n=this._layoutSpecifications[t],i=this._layoutDeclarations[t];return i?i.calculate(e,r):n.default},setPaintProperty:function(t,e,r){var n=\"layers.\"+this.id+(r?'[\"paint.'+r+'\"].':\".paint.\")+t;if(a.endsWith(t,f))if(this._paintTransitionOptions[r||\"\"]||(this._paintTransitionOptions[r||\"\"]={}),null===e||void 0===e)delete this._paintTransitionOptions[r||\"\"][t];else{if(this._handleErrors(u.paintProperty,n,t,e))return;this._paintTransitionOptions[r||\"\"][t]=e}else if(this._paintDeclarations[r||\"\"]||(this._paintDeclarations[r||\"\"]={}),null===e||void 0===e)delete this._paintDeclarations[r||\"\"][t];else{if(this._handleErrors(u.paintProperty,n,t,e))return;this._paintDeclarations[r||\"\"][t]=new s(this._paintSpecifications[t],e)}},getPaintProperty:function(t,e){return e=e||\"\",a.endsWith(t,f)?this._paintTransitionOptions[e]&&this._paintTransitionOptions[e][t]:this._paintDeclarations[e]&&this._paintDeclarations[e][t]&&this._paintDeclarations[e][t].value},getPaintValue:function(t,e,r){var n=this._paintSpecifications[t],i=this._paintTransitions[t];return i?i.calculate(e,r):\"color\"===n.type&&n.default?c(n.default):n.default},getPaintValueStopZoomLevels:function(t){var e=this._paintTransitions[t];return e?e.declaration.stopZoomLevels:[]},getPaintInterpolationT:function(t,e){var r=this._paintTransitions[t];return r.declaration.calculateInterpolationT({zoom:e})},isPaintValueFeatureConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isFeatureConstant},isLayoutValueFeatureConstant:function(t){var e=this._layoutDeclarations[t];return!e||e.isFeatureConstant},isPaintValueZoomConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isZoomConstant},isHidden:function(t){return!!(this.minzoom&&t<this.minzoom)||(!!(this.maxzoom&&t>=this.maxzoom)||(\"none\"===this.layout.visibility||0===this.paint[this.type+\"-opacity\"]))},updatePaintTransitions:function(t,e,r,n){for(var i=a.extend({},this._paintDeclarations[\"\"]),o=0;o<t.length;o++)a.extend(i,this._paintDeclarations[t[o]]);var s;for(s in i)this._applyPaintDeclaration(s,i[s],e,r,n);for(s in this._paintTransitions)s in i||this._applyPaintDeclaration(s,null,e,r,n)},updatePaintTransition:function(t,e,r,n,i){for(var a=this._paintDeclarations[\"\"][t],o=0;o<e.length;o++){var s=this._paintDeclarations[e[o]];s&&s[t]&&(a=s[t])}this._applyPaintDeclaration(t,a,r,n,i)},recalculate:function(t,e){for(var r in this._paintTransitions)this.paint[r]=this.getPaintValue(r,{zoom:t,zoomHistory:e});for(var n in this._layoutFunctions)this.layout[n]=this.getLayoutValue(n,{zoom:t,zoomHistory:e})},serialize:function(t){var e={id:this.id,ref:this.ref,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom};for(var r in this._paintDeclarations){var n=\"\"===r?\"paint\":\"paint.\"+r;e[n]=a.mapObject(this._paintDeclarations[r],i)}return(!this.ref||t&&t.includeRefProperties)&&a.extend(e,{type:this.type,source:this.source,\"source-layer\":this.sourceLayer,filter:this.filter,layout:a.mapObject(this._layoutDeclarations,i)}),a.filterObject(e,function(t,e){return void 0!==t&&!(\"layout\"===e&&!Object.keys(t).length)})},_applyPaintDeclaration:function(t,e,r,n,i){var l=r.transition?this._paintTransitions[t]:void 0,u=this._paintSpecifications[t];if(null!==e&&void 0!==e||(e=new s(u,u.default)),!l||l.declaration.json!==e.json){var c=a.extend({duration:300,delay:0},n,this.getPaintProperty(t+f)),h=this._paintTransitions[t]=new o(u,e,l,c);h.instant()||(h.loopID=i.set(h.endTime-Date.now())),l&&i.cancel(l.loopID)}},_updateLayoutValue:function(t){var e=this._layoutDeclarations[t];e&&e.isFunction?this._layoutFunctions[t]=!0:(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t))},_handleErrors:function(t,e,r,n){return u.emitErrors(this,t.call(u,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:l,style:{glyphs:!0,sprite:!0}}))}})},{\"../util/evented\":395,\"../util/util\":403,\"./parse_color\":338,\"./style_declaration\":340,\"./style_layer/background_style_layer\":343,\"./style_layer/circle_style_layer\":344,\"./style_layer/fill_style_layer\":345,\"./style_layer/line_style_layer\":346,\"./style_layer/raster_style_layer\":347,\"./style_layer/symbol_style_layer\":348,\"./style_spec\":349,\"./style_transition\":350,\"./validate_style\":351}],343:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{})},{\"../../util/util\":403,\"../style_layer\":342}],344:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{})},{\"../../util/util\":403,\"../style_layer\":342}],345:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.getPaintValue.call(this,\"fill-color\",e,r):a.prototype.getPaintValue.call(this,t,e,r)},getPaintValueStopZoomLevels:function(t){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.getPaintValueStopZoomLevels.call(this,\"fill-color\"):a.prototype.getPaintValueStopZoomLevels.call(this,arguments)},getPaintInterpolationT:function(t,e){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.getPaintInterpolationT.call(this,\"fill-color\",e):a.prototype.getPaintInterpolationT.call(this,t,e)},isPaintValueFeatureConstant:function(t){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.isPaintValueFeatureConstant.call(this,\"fill-color\"):a.prototype.isPaintValueFeatureConstant.call(this,t)},isPaintValueZoomConstant:function(t){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.isPaintValueZoomConstant.call(this,\"fill-color\"):a.prototype.isPaintValueZoomConstant.call(this,t)}}),e.exports=n},{\"../../util/util\":403,\"../style_layer\":342}],346:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){var n=a.prototype.getPaintValue.apply(this,arguments);if(n&&\"line-dasharray\"===t){var i=Math.floor(e.zoom);this._flooredZoom!==i&&(this._flooredZoom=i,this._flooredLineWidth=this.getPaintValue(\"line-width\",e,r)),n.fromScale*=this._flooredLineWidth,n.toScale*=this._flooredLineWidth}return n}})},{\"../../util/util\":403,\"../style_layer\":342}],347:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{})},{\"../../util/util\":403,\"../style_layer\":342}],348:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{isHidden:function(){if(a.prototype.isHidden.apply(this,arguments))return!0;var t=0===this.paint[\"text-opacity\"]||!this.layout[\"text-field\"],e=0===this.paint[\"icon-opacity\"]||!this.layout[\"icon-image\"];return!(!t||!e)},getLayoutValue:function(t,e,r){return(\"text-rotation-alignment\"!==t||\"line\"!==this.getLayoutValue(\"symbol-placement\",e,r)||this.getLayoutProperty(\"text-rotation-alignment\"))&&(\"icon-rotation-alignment\"!==t||\"line\"!==this.getLayoutValue(\"symbol-placement\",e,r)||this.getLayoutProperty(\"icon-rotation-alignment\"))?\"text-pitch-alignment\"!==t||this.getLayoutProperty(\"text-pitch-alignment\")?a.prototype.getLayoutValue.apply(this,arguments):this.getLayoutValue(\"text-rotation-alignment\"):\"map\"}})},{\"../../util/util\":403,\"../style_layer\":342}],349:[function(t,e,r){\"use strict\";e.exports=t(\"mapbox-gl-style-spec/reference/latest.min\")},{\"mapbox-gl-style-spec/reference/latest.min\":286}],350:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.declaration=e,this.startTime=this.endTime=(new Date).getTime(),\"piecewise-constant\"===t.function&&t.transition?this.interp=i:this.interp=o[t.type],this.oldTransition=r,this.duration=n.duration||0,this.delay=n.delay||0,this.instant()||(this.endTime=this.startTime+this.duration+this.delay,this.ease=a.easeCubicInOut),r&&r.endTime<=this.startTime&&delete r.oldTransition}function i(t,e,r){return void 0===(t&&t.to)||void 0===(e&&e.to)?void 0:{from:t.to,fromScale:t.toScale,to:e.to,toScale:e.toScale,t:r}}var a=t(\"../util/util\"),o=t(\"../util/interpolate\");e.exports=n,n.prototype.instant=function(){return!this.oldTransition||!this.interp||0===this.duration&&0===this.delay},n.prototype.calculate=function(t,e){var r=this.declaration.calculate(a.extend({},t,{duration:this.duration}),e);if(this.instant())return r;var n=t.time||Date.now();if(n<this.endTime){var i=this.oldTransition.calculate(a.extend({},t,{time:this.startTime}),e),o=this.ease((n-this.startTime-this.delay)/this.duration);r=this.interp(i,r,o)}return r}},{\"../util/interpolate\":397,\"../util/util\":403}],351:[function(t,e,r){\"use strict\";e.exports=t(\"mapbox-gl-style-spec/lib/validate_style.min\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0;r<e.length;r++)t.fire(\"error\",{error:new Error(e[r].message)});return!0}return!1},e.exports.throwErrors=function(t,e){if(e)for(var r=0;r<e.length;r++)throw new Error(e[r].message)}},{\"mapbox-gl-style-spec/lib/validate_style.min\":285}],352:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.x=t,this.y=e,this.angle=r,void 0!==n&&(this.segment=n)}var i=t(\"point-geometry\");e.exports=n,n.prototype=Object.create(i.prototype),n.prototype.clone=function(){return new n(this.x,this.y,this.angle,this.segment)}},{\"point-geometry\":442}],353:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(o--,o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;s<r/2;){var c=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var d=c.angleTo(h)-h.angleTo(f);for(d=Math.abs((d+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:d}),u+=d;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=h.dist(f)}return!0}e.exports=n},{}],354:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var l,u=t[s],c=0;c<u.length-1;c++){var h=u[c],f=u[c+1];h.x<e&&f.x<e||(h.x<e?h=new i(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round():f.x<e&&(f=new i(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round()),h.y<r&&f.y<r||(h.y<r?h=new i(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round():f.y<r&&(f=new i(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round()),h.x>=n&&f.x>=n||(h.x>=n?h=new i(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new i(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=a&&f.y>=a||(h.y>=a?h=new i(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round():f.y>=a&&(f=new i(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round()),l&&h.equals(l[l.length-1])||(l=[h],o.push(l)),l.push(f)))))}return o}var i=t(\"point-geometry\");e.exports=n},{\"point-geometry\":442}],355:[function(t,e,r){\"use strict\";var n=t(\"../util/struct_array\"),i=t(\"../util/util\"),a=t(\"point-geometry\"),o=e.exports=new n({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{\"../util/struct_array\":401,\"../util/util\":403,\"point-geometry\":442}],356:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l,u,c){var h=o.top*s-l,f=o.bottom*s+l,d=o.left*s-l,p=o.right*s+l;if(this.boxStartIndex=t.length,u){var g=f-h,m=p-d;if(g>0)if(g=Math.max(10*s,g),c){var v=e[r.segment+1].sub(e[r.segment])._unit()._mult(m),y=[r.sub(v),r.add(v)];this._addLineCollisionBoxes(t,y,r,0,m,g,n,i,a)}else this._addLineCollisionBoxes(t,e,r,r.segment,m,g,n,i,a)}else t.emplaceBack(r.x,r.y,d,h,p,f,1/0,n,i,a,0,0,0,0,0);this.boxEndIndex=t.length}e.exports=n,n.prototype._addLineCollisionBoxes=function(t,e,r,n,i,a,o,s,l){var u=a/2,c=Math.floor(i/u),h=-a/2,f=this.boxes,d=r,p=n+1,g=h;do{if(p--,p<0)return f;g-=e[p].dist(d),d=e[p]}while(g>-i/2);for(var m=e[p].dist(e[p+1]),v=0;v<c;v++){for(var y=-i/2+v*u;g+m<y;){if(g+=m,p++,p+1>=e.length)return f;m=e[p].dist(e[p+1])}var x=y-g,b=e[p],_=e[p+1],w=_.sub(b)._unit()._mult(x)._add(b)._round(),M=Math.max(Math.abs(y-h)-u/2,0),A=i/2/M;t.emplaceBack(w.x,w.y,-a/2,-a/2,a/2,a/2,A,o,s,l,0,0,0,0,0)}return f}},{}],357:[function(t,e,r){\"use strict\";function n(t,e,r){if(\"object\"==typeof t){var n=t;r=e,t=n.angle,e=n.pitch,this.grid=new o(n.grid),this.ignoredGrid=new o(n.ignoredGrid)}else this.grid=new o(a,12,6),this.ignoredGrid=new o(a,12,0);this.angle=t,this.pitch=e;var i=Math.sin(t),s=Math.cos(t);if(this.rotationMatrix=[s,-i,i,s],this.reverseRotationMatrix=[s,i,-i,s],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=r,0===r.length){r.emplaceBack();var l=32767;r.emplaceBack(0,0,0,-l,0,l,l,0,0,0,0,0,0,0,0,0),r.emplaceBack(a,0,0,-l,0,l,l,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,-l,0,l,0,l,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,a,-l,0,l,0,l,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]}var i=t(\"point-geometry\"),a=t(\"../data/bucket\").EXTENT,o=t(\"grid-index\");e.exports=n,n.prototype.serialize=function(){var t={angle:this.angle,pitch:this.pitch,grid:this.grid.toArrayBuffer(),ignoredGrid:this.ignoredGrid.toArrayBuffer()};return{data:t,transferables:[t.grid,t.ignoredGrid]}},n.prototype.minScale=.25,n.prototype.maxScale=2,n.prototype.placeCollisionFeature=function(t,e,r){for(var n=this.collisionBoxArray,a=this.minScale,o=this.rotationMatrix,s=this.yStretch,l=t.boxStartIndex;l<t.boxEndIndex;l++){var u=n.get(l),c=u.anchorPoint._matMult(o),h=c.x,f=c.y,d=h+u.x1,p=f+u.y1*s,g=h+u.x2,m=f+u.y2*s;if(u.bbox0=d,u.bbox1=p,u.bbox2=g,u.bbox3=m,!e)for(var v=this.grid.query(d,p,g,m),y=0;y<v.length;y++){var x=n.get(v[y]),b=x.anchorPoint._matMult(o);if(a=this.getPlacementScale(a,c,u,b,x),a>=this.maxScale)return a}if(r){var _;if(this.angle){var w=this.reverseRotationMatrix,M=new i(u.x1,u.y1).matMult(w),A=new i(u.x2,u.y1).matMult(w),k=new i(u.x1,u.y2).matMult(w),T=new i(u.x2,u.y2).matMult(w);_=this.tempCollisionBox,_.anchorPointX=u.anchorPoint.x,_.anchorPointY=u.anchorPoint.y,_.x1=Math.min(M.x,A.x,k.x,T.x),_.y1=Math.min(M.y,A.x,k.x,T.x),_.x2=Math.max(M.x,A.x,k.x,T.x),_.y2=Math.max(M.y,A.x,k.x,T.x),_.maxScale=u.maxScale}else _=u;for(var E=0;E<this.edges.length;E++){var S=this.edges[E];if(a=this.getPlacementScale(a,u.anchorPoint,_,S.anchorPoint,S),a>=this.maxScale)return a}}}return a},n.prototype.queryRenderedSymbols=function(t,e,r,n,a){var o={},s=[],l=this.collisionBoxArray,u=this.rotationMatrix,c=new i(t,e)._matMult(u),h=this.tempCollisionBox;h.anchorX=c.x,h.anchorY=c.y,h.x1=0,h.y1=0,h.x2=r-t,h.y2=n-e,h.maxScale=a,a=h.maxScale;for(var f=[c.x+h.x1/a,c.y+h.y1/a*this.yStretch,c.x+h.x2/a,c.y+h.y2/a*this.yStretch],d=this.grid.query(f[0],f[1],f[2],f[3]),p=this.ignoredGrid.query(f[0],f[1],f[2],f[3]),g=0;g<p.length;g++)d.push(p[g]);for(var m=0;m<d.length;m++){var v=l.get(d[m]),y=v.sourceLayerIndex,x=v.featureIndex;if(void 0===o[y]&&(o[y]={}),!o[y][x]){var b=v.anchorPoint.matMult(u),_=this.getPlacementScale(this.minScale,c,h,b,v);_>=a&&(o[y][x]=!0,s.push(d[m]))}}return s},n.prototype.getPlacementScale=function(t,e,r,n,i){var a=e.x-n.x,o=e.y-n.y,s=(i.x1-r.x2)/a,l=(i.x2-r.x1)/a,u=(i.y1-r.y2)*this.yStretch/o,c=(i.y2-r.y1)*this.yStretch/o;(isNaN(s)||isNaN(l))&&(s=l=1),(isNaN(u)||isNaN(c))&&(u=c=1);var h=Math.min(Math.max(s,l),Math.max(u,c)),f=i.maxScale,d=r.maxScale;return h>f&&(h=f),h>d&&(h=d),h>t&&h>=i.placementScale&&(t=h),t},n.prototype.insertCollisionFeature=function(t,e,r){for(var n=r?this.ignoredGrid:this.grid,i=this.collisionBoxArray,a=t.boxStartIndex;a<t.boxEndIndex;a++){var o=i.get(a);o.placementScale=e,e<this.maxScale&&n.insert(a,o.bbox0,o.bbox1,o.bbox2,o.bbox3)}}},{\"../data/bucket\":290,\"grid-index\":252,\"point-geometry\":442}],358:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,o,s,l,u){var c=n?.6*o*s:0,h=Math.max(n?n.right-n.left:0,a?a.right-a.left:0),f=0===t[0].x||t[0].x===u||0===t[0].y||t[0].y===u;e-h*s<e/4&&(e=h*s+e/4);var d=2*o,p=f?e/2*l%e:(h/2+d)*s*l%e;return i(t,p,e,c,r,h*s,f,!1,u)}function i(t,e,r,n,l,u,c,h,f){for(var d=u/2,p=0,g=0;g<t.length-1;g++)p+=t[g].dist(t[g+1]);for(var m=0,v=e-r,y=[],x=0;x<t.length-1;x++){for(var b=t[x],_=t[x+1],w=b.dist(_),M=_.angleTo(b);v+r<m+w;){v+=r;var A=(v-m)/w,k=a(b.x,_.x,A),T=a(b.y,_.y,A);if(k>=0&&k<f&&T>=0&&T<f&&v-d>=0&&v+d<=p){var E=new o(k,T,M,x)._round();n&&!s(t,E,u,n,l)||y.push(E)}}m+=w}return h||y.length||c||(y=i(t,m/2,r,n,l,u,c,!0,f)),y}var a=t(\"../util/interpolate\"),o=t(\"../symbol/anchor\"),s=t(\"./check_max_angle\");e.exports=n},{\"../symbol/anchor\":352,\"../util/interpolate\":397,\"./check_max_angle\":353}],359:[function(t,e,r){\"use strict\";function n(){this.width=s,this.height=s,this.bin=new i(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)}var i=t(\"shelf-pack\"),a=t(\"../util/util\"),o=4,s=128,l=2048;e.exports=n,n.prototype.getGlyphs=function(){var t,e,r,n={};for(var i in this.ids)t=i.split(\"#\"),e=t[0],r=t[1],n[e]||(n[e]=[]),n[e].push(r);return n},n.prototype.getRects=function(){var t,e,r,n={};for(var i in this.ids)t=i.split(\"#\"),e=t[0],r=t[1],n[e]||(n[e]={}),n[e][r]=this.index[i];return n},n.prototype.addGlyph=function(t,e,r,n){if(!r)return null;var i=e+\"#\"+r.id;if(this.index[i])return this.ids[i].indexOf(t)<0&&this.ids[i].push(t),this.index[i];if(!r.bitmap)return null;var o=r.width+2*n,s=r.height+2*n,l=1,u=o+2*l,c=s+2*l;u+=4-u%4,c+=4-c%4;var h=this.bin.packOne(u,c);if(h||(this.resize(),h=this.bin.packOne(u,c)),!h)return a.warnOnce(\"glyph bitmap overflow\"),null;this.index[i]=h,this.ids[i]=[t];for(var f=this.data,d=r.bitmap,p=0;p<s;p++)for(var g=this.width*(h.y+p+l)+h.x+l,m=o*p,v=0;v<o;v++)f[g+v]=d[m+v];return this.dirty=!0,\nh},n.prototype.resize=function(){var t=this.width,e=this.height;if(!(t>=l||e>=l)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=o,this.height*=o,this.bin.resize(this.width,this.height);for(var r=new ArrayBuffer(this.width*this.height),n=0;n<e;n++){var i=new Uint8Array(this.data.buffer,e*n,t),a=new Uint8Array(r,e*n*o,t);a.set(i)}this.data=new Uint8Array(r)}},n.prototype.bind=function(t){this.gl=t,this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,null))},n.prototype.updateTexture=function(t){this.bind(t),this.dirty&&(t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data),this.dirty=!1)}},{\"../util/util\":403,\"shelf-pack\":471}],360:[function(t,e,r){\"use strict\";function n(t){this.url=t&&o(t),this.atlases={},this.stacks={},this.loading={}}function i(t,e,r){var n=1;this.advance=t.advance,this.left=t.left-r-n,this.top=t.top+r+n,this.rect=e}function a(t,e,r,n){return n=n||\"abc\",r.replace(\"{s}\",n[t.length%n.length]).replace(\"{fontstack}\",t).replace(\"{range}\",e)}var o=t(\"../util/mapbox\").normalizeGlyphsURL,s=t(\"../util/ajax\").getArrayBuffer,l=t(\"../util/glyphs\"),u=t(\"../symbol/glyph_atlas\"),c=t(\"pbf\");e.exports=n,n.prototype.getSimpleGlyphs=function(t,e,r,n){void 0===this.stacks[t]&&(this.stacks[t]={}),void 0===this.atlases[t]&&(this.atlases[t]=new u);for(var a,o={},s=this.stacks[t],l=this.atlases[t],c=3,h={},f=0,d=0;d<e.length;d++){var p=e[d];if(a=Math.floor(p/256),s[a]){var g=s[a].glyphs[p],m=l.addGlyph(r,t,g,c);g&&(o[p]=new i(g,m,c))}else void 0===h[a]&&(h[a]=[],f++),h[a].push(p)}f||n(void 0,o,t);var v=function(e,a,s){if(!e)for(var u=this.stacks[t][a]=s.stacks[0],d=0;d<h[a].length;d++){var p=h[a][d],g=u.glyphs[p],m=l.addGlyph(r,t,g,c);g&&(o[p]=new i(g,m,c))}f--,f||n(void 0,o,t)}.bind(this);for(var y in h)this.loadRange(t,y,v)},n.prototype.loadRange=function(t,e,r){if(256*e>65535)return r(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var n=this.loading[t];if(n[e])n[e].push(r);else{n[e]=[r];var i=256*e+\"-\"+(256*e+255),o=a(t,i,this.url);s(o,function(t,r){for(var i=!t&&new l(new c(new Uint8Array(r))),a=0;a<n[e].length;a++)n[e][a](t,e,i);delete n[e]})}},n.prototype.getGlyphAtlas=function(t){return this.atlases[t]}},{\"../symbol/glyph_atlas\":359,\"../util/ajax\":386,\"../util/glyphs\":396,\"../util/mapbox\":400,pbf:436}],361:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){function n(n){c.push(t[n]),h.push(r[n]),f.push(e[n]),d++}function i(t,e,r){var n=u[t];return delete u[t],u[e]=n,h[n][0].pop(),h[n][0]=h[n][0].concat(r[0]),n}function a(t,e,r){var n=l[e];return delete l[e],l[t]=n,h[n][0].shift(),h[n][0]=r[0].concat(h[n][0]),n}function o(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}var s,l={},u={},c=[],h=[],f=[],d=0;for(s=0;s<t.length;s++){var p=r[s],g=e[s];if(g){var m=o(g,p),v=o(g,p,!0);if(m in u&&v in l&&u[m]!==l[v]){var y=a(m,v,p),x=i(m,v,h[y]);delete l[m],delete u[v],u[o(g,h[x],!0)]=x,h[y]=null}else m in u?i(m,v,p):v in l?a(m,v,p):(n(s),l[m]=d-1,u[v]=d-1)}else n(s)}return{features:c,textFeatures:f,geometries:h}}},{}],362:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l,u){this.anchorPoint=t,this.tl=e,this.tr=r,this.bl=n,this.br=i,this.tex=a,this.anchorAngle=o,this.glyphAngle=s,this.minScale=l,this.maxScale=u}function i(t,e,r,i,a,o,u,c,h){var f,d,p,g,m=e.image.rect,v=a.layout,y=1,x=e.left-y,b=x+m.w/e.image.pixelRatio,_=e.top-y,w=_+m.h/e.image.pixelRatio;if(\"none\"!==v[\"icon-text-fit\"]&&u){var M=b-x,A=w-_,k=v[\"text-size\"]/24,T=u.left*k,E=u.right*k,S=u.top*k,L=u.bottom*k,z=E-T,C=L-S,I=v[\"icon-text-fit-padding\"][0],P=v[\"icon-text-fit-padding\"][1],D=v[\"icon-text-fit-padding\"][2],O=v[\"icon-text-fit-padding\"][3],R=\"width\"===v[\"icon-text-fit\"]?.5*(C-A):0,F=\"height\"===v[\"icon-text-fit\"]?.5*(z-M):0,j=\"width\"===v[\"icon-text-fit\"]||\"both\"===v[\"icon-text-fit\"]?z:M,N=\"height\"===v[\"icon-text-fit\"]||\"both\"===v[\"icon-text-fit\"]?C:A;f=new s(T+F-O,S+R-I),d=new s(T+F+P+j,S+R-I),p=new s(T+F+P+j,S+R+D+N),g=new s(T+F-O,S+R+D+N)}else f=new s(x,_),d=new s(b,_),p=new s(b,w),g=new s(x,w);var B=a.getLayoutValue(\"icon-rotate\",c,h)*Math.PI/180;if(o){var U=i[t.segment];if(t.y===U.y&&t.x===U.x&&t.segment+1<i.length){var V=i[t.segment+1];B+=Math.atan2(t.y-V.y,t.x-V.x)+Math.PI}else B+=Math.atan2(t.y-U.y,t.x-U.x)}if(B){var q=Math.sin(B),H=Math.cos(B),G=[H,-q,q,H];f=f.matMult(G),d=d.matMult(G),g=g.matMult(G),p=p.matMult(G)}return[new n(new s(t.x,t.y),f,d,g,p,e.image.rect,0,0,l,1/0)]}function a(t,e,r,i,a,u){for(var c=a.layout[\"text-rotate\"]*Math.PI/180,h=a.layout[\"text-keep-upright\"],f=e.positionedGlyphs,d=[],p=0;p<f.length;p++){var g=f[p],m=g.glyph,v=m.rect;if(v){var y,x=(g.x+m.advance/2)*r,b=l;u?(y=[],b=o(y,t,x,i,t.segment,!0),h&&(b=Math.min(b,o(y,t,x,i,t.segment,!1)))):y=[{anchorPoint:new s(t.x,t.y),offset:0,angle:0,maxScale:1/0,minScale:l}];for(var _=g.x+m.left,w=g.y-m.top,M=_+v.w,A=w+v.h,k=new s(_,w),T=new s(M,w),E=new s(_,A),S=new s(M,A),L=0;L<y.length;L++){var z=y[L],C=k,I=T,P=E,D=S;if(c){var O=Math.sin(c),R=Math.cos(c),F=[R,-O,O,R];C=C.matMult(F),I=I.matMult(F),P=P.matMult(F),D=D.matMult(F)}var j=Math.max(z.minScale,b),N=(t.angle+z.offset+2*Math.PI)%(2*Math.PI),B=(z.angle+z.offset+2*Math.PI)%(2*Math.PI);d.push(new n(z.anchorPoint,C,I,P,D,v,N,B,j,z.maxScale))}}}return d}function o(t,e,r,n,i,a){var o=!a;r<0&&(a=!a),a&&i++;var u=new s(e.x,e.y),c=n[i],h=1/0;r=Math.abs(r);for(var f=l;;){var d=u.dist(c),p=r/d,g=Math.atan2(c.y-u.y,c.x-u.x);if(a||(g+=Math.PI),t.push({anchorPoint:u,offset:o?Math.PI:0,minScale:p,maxScale:h,angle:(g+2*Math.PI)%(2*Math.PI)}),p<=f)break;for(u=c;u.equals(c);)if(i+=a?1:-1,c=n[i],!c)return p;var m=c.sub(u)._unit();u=u.sub(m._mult(d)),h=p}return f}var s=t(\"point-geometry\");e.exports={getIconQuads:i,getGlyphQuads:a,SymbolQuad:n};var l=.5},{\"point-geometry\":442}],363:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=[],a=0,o=t.length;a<o;a++){var s=i(t[a].properties,e[\"text-field\"]);if(s){s=s.toString();var l=e[\"text-transform\"];\"uppercase\"===l?s=s.toLocaleUpperCase():\"lowercase\"===l&&(s=s.toLocaleLowerCase());for(var u=0;u<s.length;u++)r[s.charCodeAt(u)]=!0;n[a]=s}else n[a]=null}return n}var i=t(\"../util/token\");e.exports=n},{\"../util/token\":402}],364:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.codePoint=t,this.x=e,this.y=r,this.glyph=n}function i(t,e,r,n,i,a){this.positionedGlyphs=t,this.text=e,this.top=r,this.bottom=n,this.left=i,this.right=a}function a(t,e,r,a,s,l,u,c,h){for(var f=[],d=new i(f,t,h[1],h[1],h[0],h[0]),p=-17,g=0,m=p,v=0;v<t.length;v++){var y=t.charCodeAt(v),x=e[y];x&&(f.push(new n(y,g,m,x)),g+=x.advance+c)}return!!f.length&&(o(d,e,a,r,s,l,u,h),d)}function o(t,e,r,n,i,a,o,u){var c=null,d=0,p=0,g=0,m=0,v=t.positionedGlyphs;if(n)for(var y=0;y<v.length;y++){var x=v[y];if(x.x-=d,x.y+=r*g,x.x>n&&null!==c){var b=v[c+1].x;m=Math.max(b,m);for(var _=c+1;_<=y;_++)v[_].y+=r,v[_].x-=b;if(o){var w=c;h[v[c].codePoint]&&w--,s(v,e,p,w,o)}p=c+1,c=null,d+=b,g++}f[x.codePoint]&&(c=y)}var M=v[v.length-1],A=M.x+e[M.codePoint].advance;m=Math.max(m,A);var k=(g+1)*r;s(v,e,p,v.length-1,o),l(v,o,i,a,m,r,g,u),t.top+=-a*k,t.bottom=t.top+k,t.left+=-i*m,t.right=t.left+m}function s(t,e,r,n,i){for(var a=e[t[n].codePoint].advance,o=(t[n].x+a)*i,s=r;s<=n;s++)t[s].x-=o}function l(t,e,r,n,i,a,o,s){for(var l=(e-r)*i+s[0],u=(-n*(o+1)+.5)*a+s[1],c=0;c<t.length;c++)t[c].x+=l,t[c].y+=u}function u(t,e){if(!t||!t.rect)return null;var r=e[\"icon-offset\"][0],n=e[\"icon-offset\"][1],i=r-t.width/2,a=i+t.width,o=n-t.height/2,s=o+t.height;return new c(t,o,s,i,a)}function c(t,e,r,n,i){this.image=t,this.top=e,this.bottom=r,this.left=n,this.right=i}e.exports={shapeText:a,shapeIcon:u};var h={32:!0,8203:!0},f={32:!0,38:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0}},{}],365:[function(t,e,r){\"use strict\";function n(t,e){this.width=t,this.height=e,this.bin=new o(t,e),this.images={},this.data=!1,this.texture=0,this.filter=0,this.pixelRatio=1,this.dirty=!0}function i(t,e,r,n,i,a,o,s,l,u,c){var h,f,d=n*e+r,p=s*a+o;if(c)for(p-=a,f=-1;f<=u;f++,d=((f+u)%u+n)*e+r,p+=a)for(h=-1;h<=l;h++)i[p+h]=t[d+(h+l)%l];else for(f=0;f<u;f++,d+=e,p+=a)for(h=0;h<l;h++)i[p+h]=t[d+h]}function a(t,e,r,n,i){this.rect=t,this.width=e,this.height=r,this.sdf=n,this.pixelRatio=i}var o=t(\"shelf-pack\"),s=t(\"../util/browser\"),l=t(\"../util/util\");e.exports=n,n.prototype.allocateImage=function(t,e){t/=this.pixelRatio,e/=this.pixelRatio;var r=2,n=t+r+(4-(t+r)%4),i=e+r+(4-(e+r)%4),a=this.bin.packOne(n,i);return a?a:(l.warnOnce(\"SpriteAtlas out of space.\"),null)},n.prototype.getImage=function(t,e){if(this.images[t])return this.images[t];if(!this.sprite)return null;var r=this.sprite.getSpritePosition(t);if(!r.width||!r.height)return null;var n=this.allocateImage(r.width,r.height);if(!n)return null;var i=new a(n,r.width/r.pixelRatio,r.height/r.pixelRatio,r.sdf,r.pixelRatio/this.pixelRatio);return this.images[t]=i,this.copy(n,r,e),i},n.prototype.getPosition=function(t,e){var r=this.getImage(t,e),n=r&&r.rect;if(!n)return null;var i=r.width*r.pixelRatio,a=r.height*r.pixelRatio,o=1;return{size:[r.width,r.height],tl:[(n.x+o)/this.width,(n.y+o)/this.height],br:[(n.x+o+i)/this.width,(n.y+o+a)/this.height]}},n.prototype.allocate=function(){if(!this.data){var t=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(t*e);for(var r=0;r<this.data.length;r++)this.data[r]=0}},n.prototype.copy=function(t,e,r){if(this.sprite.img.data){var n=new Uint32Array(this.sprite.img.data.buffer);this.allocate();var a=this.data,o=1;i(n,this.sprite.img.width,e.x,e.y,a,this.width*this.pixelRatio,(t.x+o)*this.pixelRatio,(t.y+o)*this.pixelRatio,e.width,e.height,r),this.dirty=!0}},n.prototype.setSprite=function(t){t&&(this.pixelRatio=s.devicePixelRatio>1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},n.prototype.addIcons=function(t,e){for(var r=0;r<t.length;r++)this.getImage(t[r]);e(null,this.images)},n.prototype.bind=function(t,e){var r=!1;this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),r=!0);var n=e?t.LINEAR:t.NEAREST;n!==this.filter&&(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n),this.filter=n),this.dirty&&(this.allocate(),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width*this.pixelRatio,this.height*this.pixelRatio,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)):t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width*this.pixelRatio,this.height*this.pixelRatio,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)),this.dirty=!1)}},{\"../util/browser\":387,\"../util/util\":403,\"shelf-pack\":471}],366:[function(t,e,r){\"use strict\";var n=t(\"../util/struct_array\"),i=t(\"../util/util\"),a=t(\"point-geometry\"),o=e.exports=new n({members:[{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"glyphQuadStartIndex\"},{type:\"Uint16\",name:\"glyphQuadEndIndex\"},{type:\"Uint16\",name:\"iconQuadStartIndex\"},{type:\"Uint16\",name:\"iconQuadEndIndex\"},{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int8\",name:\"index\"}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{\"../util/struct_array\":401,\"../util/util\":403,\"point-geometry\":442}],367:[function(t,e,r){\"use strict\";var n=t(\"../util/struct_array\"),i=t(\"../util/util\"),a=t(\"point-geometry\"),o=t(\"./quads\").SymbolQuad,s=e.exports=new n({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Float32\",name:\"tlX\"},{type:\"Float32\",name:\"tlY\"},{type:\"Float32\",name:\"trX\"},{type:\"Float32\",name:\"trY\"},{type:\"Float32\",name:\"blX\"},{type:\"Float32\",name:\"blY\"},{type:\"Float32\",name:\"brX\"},{type:\"Float32\",name:\"brY\"},{type:\"Int16\",name:\"texH\"},{type:\"Int16\",name:\"texW\"},{type:\"Int16\",name:\"texX\"},{type:\"Int16\",name:\"texY\"},{type:\"Float32\",name:\"anchorAngle\"},{type:\"Float32\",name:\"glyphAngle\"},{type:\"Float32\",name:\"maxScale\"},{type:\"Float32\",name:\"minScale\"}]});i.extendAll(s.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)},get SymbolQuad(){return new o(this.anchorPoint,new a(this.tlX,this.tlY),new a(this.trX,this.trY),new a(this.blX,this.blY),new a(this.brX,this.brY),{x:this.texX,y:this.texY,h:this.texH,w:this.texW,height:this.texH,width:this.texW},this.anchorAngle,this.glyphAngle,this.minScale,this.maxScale)}})},{\"../util/struct_array\":401,\"../util/util\":403,\"./quads\":362,\"point-geometry\":442}],368:[function(t,e,r){\"use strict\";var n=t(\"../util/dom\"),i=t(\"point-geometry\"),a={scrollZoom:t(\"./handler/scroll_zoom\"),boxZoom:t(\"./handler/box_zoom\"),dragRotate:t(\"./handler/drag_rotate\"),dragPan:t(\"./handler/drag_pan\"),keyboard:t(\"./handler/keyboard\"),doubleClickZoom:t(\"./handler/dblclick_zoom\"),touchZoomRotate:t(\"./handler/touch_zoom_rotate\")};e.exports=function(t,e){function r(t){v(\"mouseout\",t)}function o(e){t.stop(),_=n.mousePos(x,e),v(\"mousedown\",e)}function s(e){var r=t.dragRotate&&t.dragRotate.isActive();b&&!r&&v(\"contextmenu\",b),b=null,v(\"mouseup\",e)}function l(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==x;)r=r.parentNode;r===x&&v(\"mousemove\",e)}}function u(e){t.stop(),y(\"touchstart\",e),!e.touches||e.touches.length>1||(w?(clearTimeout(w),w=null,v(\"dblclick\",e)):w=setTimeout(d,300))}function c(t){y(\"touchmove\",t)}function h(t){y(\"touchend\",t)}function f(t){y(\"touchcancel\",t)}function d(){w=null}function p(t){var e=n.mousePos(x,t);e.equals(_)&&v(\"click\",t)}function g(t){v(\"dblclick\",t),t.preventDefault()}function m(t){b=t,t.preventDefault()}function v(e,r){var i=n.mousePos(x,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function y(e,r){var a=n.touchPos(x,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var x=t.getCanvasContainer(),b=null,_=null,w=null;for(var M in a)t[M]=new a[M](t,e),e.interactive&&e[M]&&t[M].enable();x.addEventListener(\"mouseout\",r,!1),x.addEventListener(\"mousedown\",o,!1),x.addEventListener(\"mouseup\",s,!1),x.addEventListener(\"mousemove\",l,!1),x.addEventListener(\"touchstart\",u,!1),x.addEventListener(\"touchend\",h,!1),x.addEventListener(\"touchmove\",c,!1),x.addEventListener(\"touchcancel\",f,!1),x.addEventListener(\"click\",p,!1),x.addEventListener(\"dblclick\",g,!1),x.addEventListener(\"contextmenu\",m,!1)}},{\"../util/dom\":389,\"./handler/box_zoom\":374,\"./handler/dblclick_zoom\":375,\"./handler/drag_pan\":376,\"./handler/drag_rotate\":377,\"./handler/keyboard\":378,\"./handler/scroll_zoom\":379,\"./handler/touch_zoom_rotate\":380,\"point-geometry\":442}],369:[function(t,e,r){\"use strict\";var n=t(\"../util/util\"),i=t(\"../util/interpolate\"),a=t(\"../util/browser\"),o=t(\"../geo/lng_lat\"),s=t(\"../geo/lng_lat_bounds\"),l=t(\"point-geometry\"),u=e.exports=function(){};n.extend(u.prototype,{getCenter:function(){return this.transform.center},setCenter:function(t,e){return this.jumpTo({center:t},e),this},panBy:function(t,e,r){return this.panTo(this.transform.center,n.extend({offset:l.convert(t).mult(-1)},e),r),this},panTo:function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},getZoom:function(){return this.transform.zoom},setZoom:function(t,e){return this.jumpTo({zoom:t},e),this},zoomTo:function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},zoomIn:function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},zoomOut:function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},getBearing:function(){return this.transform.bearing},setBearing:function(t,e){return this.jumpTo({bearing:t},e),this},rotateTo:function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},resetNorth:function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},snapToNorth:function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},getPitch:function(){return this.transform.pitch},setPitch:function(t,e){return this.jumpTo({pitch:t},e),this},fitBounds:function(t,e,r){e=n.extend({padding:0,offset:[0,0],maxZoom:1/0},e),t=s.convert(t);var i=l.convert(e.offset),a=this.transform,o=a.project(t.getNorthWest()),u=a.project(t.getSouthEast()),c=u.sub(o),h=(a.width-2*e.padding-2*Math.abs(i.x))/c.x,f=(a.height-2*e.padding-2*Math.abs(i.y))/c.y;return e.center=a.unproject(o.add(u).div(2)),e.zoom=Math.min(a.scaleZoom(a.scale*Math.min(h,f)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r)},jumpTo:function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return\"zoom\"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),\"center\"in t&&(r.center=o.convert(t.center)),\"bearing\"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),\"pitch\"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire(\"movestart\",e).fire(\"move\",e),n&&this.fire(\"zoomstart\",e).fire(\"zoom\",e).fire(\"zoomend\",e),i&&this.fire(\"rotate\",e),a&&this.fire(\"pitch\",e),this.fire(\"moveend\",e)},easeTo:function(t,e){this.stop(),t=n.extend({offset:[0,0],duration:500,easing:n.ease},t);var r,a,s=this.transform,u=l.convert(t.offset),c=this.getZoom(),h=this.getBearing(),f=this.getPitch(),d=\"zoom\"in t?+t.zoom:c,p=\"bearing\"in t?this._normalizeBearing(t.bearing,h):h,g=\"pitch\"in t?+t.pitch:f;\"center\"in t?(r=o.convert(t.center),a=s.centerPoint.add(u)):\"around\"in t?(r=o.convert(t.around),a=s.locationPoint(r)):(a=s.centerPoint.add(u),r=s.pointLocation(a));var m=s.locationPoint(r);return t.animate===!1&&(t.duration=0),this.zooming=d!==c,this.rotating=h!==p,this.pitching=g!==f,t.noMoveStart||this.fire(\"movestart\",e),this.zooming&&this.fire(\"zoomstart\",e),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(s.zoom=i(c,d,t)),this.rotating&&(s.bearing=i(h,p,t)),this.pitching&&(s.pitch=i(f,g,t)),s.setLocationAtPoint(r,m.add(a.sub(m)._mult(t))),this.fire(\"move\",e),this.zooming&&this.fire(\"zoom\",e),this.rotating&&this.fire(\"rotate\",e),this.pitching&&this.fire(\"pitch\",e)},function(){t.delayEndEvents?this._onEaseEnd=setTimeout(this._easeToEnd.bind(this,e),t.delayEndEvents):this._easeToEnd(e)}.bind(this),t),this},_easeToEnd:function(t){var e=this.zooming;this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\"zoomend\",t),this.fire(\"moveend\",t)},flyTo:function(t,e){function r(t){var e=(k*k-A*A+(t?-1:1)*L*L*T*T)/(2*(t?k:A)*L*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function u(t){return a(t)/s(t)}this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,h=l.convert(t.offset),f=this.getZoom(),d=this.getBearing(),p=this.getPitch(),g=\"center\"in t?o.convert(t.center):this.getCenter(),m=\"zoom\"in t?+t.zoom:f,v=\"bearing\"in t?this._normalizeBearing(t.bearing,d):d,y=\"pitch\"in t?+t.pitch:p;Math.abs(c.center.lng)+Math.abs(g.lng)>180&&(c.center.lng>0&&g.lng<0?g.lng+=360:c.center.lng<0&&g.lng>0&&(g.lng-=360));var x=c.zoomScale(m-f),b=c.point,_=\"center\"in t?c.project(g).sub(h.div(x)):b,w=c.worldSize,M=t.curve,A=Math.max(c.width,c.height),k=A/x,T=_.sub(b).mag();if(\"minZoom\"in t){var E=n.clamp(Math.min(t.minZoom,f,m),c.minZoom,c.maxZoom),S=A/c.zoomScale(E-f);M=Math.sqrt(S/T*2)}var L=M*M,z=r(0),C=function(t){return s(z)/s(z+M*t)},I=function(t){return A*((s(z)*u(z+M*t)-a(z))/L)/T},P=(r(1)-z)/M;if(Math.abs(T)<1e-6){if(Math.abs(A-k)<1e-6)return this.easeTo(t);var D=k<A?-1:1;P=Math.abs(Math.log(k/A))/M,I=function(){return 0},C=function(t){return Math.exp(D*M*t)}}if(\"duration\"in t)t.duration=+t.duration;else{var O=\"screenSpeed\"in t?+t.screenSpeed/M:+t.speed;t.duration=1e3*P/O}return this.zooming=!0,d!==v&&(this.rotating=!0),p!==y&&(this.pitching=!0),this.fire(\"movestart\",e),this.fire(\"zoomstart\",e),this._ease(function(t){var r=t*P,n=I(r);c.zoom=f+c.scaleZoom(1/C(r)),c.center=c.unproject(b.add(_.sub(b).mult(n)),w),this.rotating&&(c.bearing=i(d,v,t)),this.pitching&&(c.pitch=i(p,y,t)),this.fire(\"move\",e),this.fire(\"zoom\",e),this.rotating&&this.fire(\"rotate\",e),this.pitching&&this.fire(\"pitch\",e)},function(){this.zooming=!1,this.rotating=!1,this.pitching=!1,this.fire(\"zoomend\",e),this.fire(\"moveend\",e)},t),this},isEasing:function(){return!!this._abortFn},stop:function(){return this._abortFn&&(this._abortFn(),this._finishEase()),this},_ease:function(t,e,r){this._finishFn=e,this._abortFn=a.timed(function(e){t.call(this,r.easing(e)),1===e&&this._finishEase()},r.animate===!1?0:r.duration,this)},_finishEase:function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},_normalizeBearing:function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)<r&&(t-=360),Math.abs(t+360-e)<r&&(t+=360),t},_updateEasing:function(t,e,r){var i;if(this.ease){var a=this.ease,o=(Date.now()-a.start)/a.duration,s=a.easing(o+.01)-a.easing(o),l=.27/Math.sqrt(s*s+1e-4)*.01,u=Math.sqrt(.0729-l*l);i=n.bezier(l,u,.25,1)}else i=r?n.bezier.apply(n,r):n.ease;return this.ease={start:(new Date).getTime(),to:Math.pow(2,e),duration:t,easing:i},i}})},{\"../geo/lng_lat\":300,\"../geo/lng_lat_bounds\":301,\"../util/browser\":387,\"../util/interpolate\":397,\"../util/util\":403,\"point-geometry\":442}],370:[function(t,e,r){\"use strict\";function n(t){o.setOptions(this,t)}var i=t(\"./control\"),a=t(\"../../util/dom\"),o=t(\"../../util/util\");e.exports=n,n.createAttributionString=function(t){var e=[];for(var r in t){var n=t[r];n.attribution&&e.indexOf(n.attribution)<0&&e.push(n.attribution)}return e.sort(function(t,e){return t.length-e.length}),e=e.filter(function(t,r){for(var n=r+1;n<e.length;n++)if(e[n].indexOf(t)>=0)return!1;return!0}),e.join(\" | \")},n.prototype=o.inherit(i,{options:{position:\"bottom-right\"},onAdd:function(t){var e=\"mapboxgl-ctrl-attrib\",r=this._container=a.create(\"div\",e,t.getContainer());return this._update(),t.on(\"source.load\",this._update.bind(this)),t.on(\"source.change\",this._update.bind(this)),t.on(\"source.remove\",this._update.bind(this)),t.on(\"moveend\",this._updateEditLink.bind(this)),r},_update:function(){this._map.style&&(this._container.innerHTML=n.createAttributionString(this._map.style.sources)),this._editLink=this._container.getElementsByClassName(\"mapbox-improve-map\")[0],this._updateEditLink()},_updateEditLink:function(){if(this._editLink){var t=this._map.getCenter();this._editLink.href=\"https://www.mapbox.com/map-feedback/#/\"+t.lng+\"/\"+t.lat+\"/\"+Math.round(this._map.getZoom()+1)}}})},{\"../../util/dom\":389,\"../../util/util\":403,\"./control\":371}],371:[function(t,e,r){\"use strict\";function n(){}var i=t(\"../../util/util\"),a=t(\"../../util/evented\");e.exports=n,n.prototype={addTo:function(t){this._map=t;var e=this._container=this.onAdd(t);if(this.options&&this.options.position){var r=this.options.position,n=t._controlCorners[r];e.className+=\" mapboxgl-ctrl\",r.indexOf(\"bottom\")!==-1?n.insertBefore(e,n.firstChild):n.appendChild(e)}return this},remove:function(){return this._container.parentNode.removeChild(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this}},i.extend(n.prototype,a)},{\"../../util/evented\":395,\"../../util/util\":403}],372:[function(t,e,r){\"use strict\";function n(t){s.setOptions(this,t)}var i=t(\"./control\"),a=t(\"../../util/browser\"),o=t(\"../../util/dom\"),s=t(\"../../util/util\");e.exports=n;var l={enableHighAccuracy:!1,timeout:6e3};n.prototype=s.inherit(i,{options:{position:\"top-right\"},onAdd:function(t){var e=\"mapboxgl-ctrl\",r=this._container=o.create(\"div\",e+\"-group\",t.getContainer());return a.supportsGeolocation?(this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._geolocateButton=o.create(\"button\",e+\"-icon \"+e+\"-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)),r):r},_onContextMenu:function(t){t.preventDefault()},_onClickGeolocate:function(){navigator.geolocation.getCurrentPosition(this._success.bind(this),this._error.bind(this),l),this._timeoutId=setTimeout(this._finish.bind(this),1e4)},_success:function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},_error:function(t){this.fire(\"error\",t),this._finish()},_finish:function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}})},{\"../../util/browser\":387,\"../../util/dom\":389,\"../../util/util\":403,\"./control\":371}],373:[function(t,e,r){\"use strict\";function n(t){s.setOptions(this,t)}function i(t){return new MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var a=t(\"./control\"),o=t(\"../../util/dom\"),s=t(\"../../util/util\");e.exports=n,n.prototype=s.inherit(a,{options:{position:\"top-right\"},onAdd:function(t){var e=\"mapboxgl-ctrl\",r=this._container=o.create(\"div\",e+\"-group\",t.getContainer());return this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(e+\"-icon \"+e+\"-zoom-in\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(e+\"-icon \"+e+\"-zoom-out\",t.zoomOut.bind(t)),this._compass=this._createButton(e+\"-icon \"+e+\"-compass\",t.resetNorth.bind(t)),this._compassArrow=o.create(\"div\",\"arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),t.on(\"rotate\",this._rotateCompassArrow.bind(this)),this._rotateCompassArrow(),this._el=t.getCanvasContainer(),r},_onContextMenu:function(t){t.preventDefault()},_onCompassDown:function(t){0===t.button&&(o.disableDrag(),document.addEventListener(\"mousemove\",this._onCompassMove),document.addEventListener(\"mouseup\",this._onCompassUp),this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassMove:function(t){0===t.button&&(this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassUp:function(t){0===t.button&&(document.removeEventListener(\"mousemove\",this._onCompassMove),document.removeEventListener(\"mouseup\",this._onCompassUp),o.enableDrag(),this._el.dispatchEvent(i(t)),t.stopPropagation())},_createButton:function(t,e){var r=o.create(\"button\",t,this._container);return r.type=\"button\",r.addEventListener(\"click\",function(){e()}),r},_rotateCompassArrow:function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t}})},{\"../../util/dom\":389,\"../../util/util\":403,\"./control\":371}],374:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),o.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"../../geo/lng_lat_bounds\"),o=t(\"../../util/util\");e.exports=n,n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},_onMouseDown:function(t){t.shiftKey&&0===t.button&&(document.addEventListener(\"mousemove\",this._onMouseMove,!1),document.addEventListener(\"keydown\",this._onKeyDown,!1),document.addEventListener(\"mouseup\",this._onMouseUp,!1),i.disableDrag(),this._startPos=i.mousePos(this._el,t),this._active=!0)},_onMouseMove:function(t){var e=this._startPos,r=i.mousePos(this._el,t);this._box||(this._box=i.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var n=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);i.setTransform(this._box,\"translate(\"+n+\"px,\"+o+\"px)\"),this._box.style.width=a-n+\"px\",this._box.style.height=s-o+\"px\"},_onMouseUp:function(t){if(0===t.button){var e=this._startPos,r=i.mousePos(this._el,t),n=new a(this._map.unproject(e),this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\"boxzoomcancel\",t):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:t,boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",t))},_finish:function(){this._active=!1,document.removeEventListener(\"mousemove\",this._onMouseMove,!1),document.removeEventListener(\"keydown\",this._onKeyDown,!1),document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),i.enableDrag()},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})}}},{\"../../geo/lng_lat_bounds\":301,\"../../util/dom\":389,\"../../util/util\":403}],375:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._onDblClick=this._onDblClick.bind(this)}e.exports=n,n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},_onDblClick:function(t){this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)}}},{}],376:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"../../util/util\");e.exports=n;var o=.3,s=a.bezier(0,0,o,1),l=1400,u=2500;n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},_onDown:function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(document.addEventListener(\"touchmove\",this._onMove),document.addEventListener(\"touchend\",this._onTouchEnd)):(document.addEventListener(\"mousemove\",this._onMove),document.addEventListener(\"mouseup\",this._onMouseUp)),this._active=!1,this._startPos=this._pos=i.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=i.mousePos(this._el,t),r=this._map;r.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),r.transform.setLocationAtPoint(r.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},_onUp:function(t){if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var e=function(){this._fireEvent(\"moveend\",t)}.bind(this),r=this._inertia;if(r.length<2)return void e();var n=r[r.length-1],i=r[0],a=n[1].sub(i[1]),c=(n[0]-i[0])/1e3;if(0===c||n[1].equals(i[1]))return void e();var h=a.mult(o/c),f=h.mag();f>l&&(f=l,h._unit()._mult(f));var d=f/(u*o),p=h.mult(-d/2);this._map.panBy(p,{duration:1e3*d,easing:s,noMoveStart:!0},{originalEvent:t})}},_onMouseUp:function(t){this._ignoreEvent(t)||(this._onUp(t),\ndocument.removeEventListener(\"mousemove\",this._onMove),document.removeEventListener(\"mouseup\",this._onMouseUp))},_onTouchEnd:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(\"touchmove\",this._onMove),document.removeEventListener(\"touchend\",this._onTouchEnd))},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var r=1,n=0;return\"mousemove\"===t.type?t.buttons&0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now(),r=160;t.length>0&&e-t[0][0]>r;)t.shift()}}},{\"../../util/dom\":389,\"../../util/util\":403}],377:[function(t,e,r){\"use strict\";function n(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,o.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"point-geometry\"),o=t(\"../../util/util\");e.exports=n;var s=.25,l=o.bezier(0,0,s,1),u=180,c=720;n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},_onDown:function(t){if(!this._ignoreEvent(t)&&!this.isActive()){document.addEventListener(\"mousemove\",this._onMove),document.addEventListener(\"mouseup\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=i.mousePos(this._el,t),this._center=this._map.transform.centerPoint;var e=this._startPos.sub(this._center),r=e.mag();r<200&&(this._center=this._startPos.add(new a(-200,0)._rotate(e.angle()))),t.preventDefault()}},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t));var e=this._map;e.stop();var r=this._pos,n=i.mousePos(this._el,t),a=this._center,o=r.sub(a).angleWith(n.sub(a))/Math.PI*180,s=e.getBearing()-o,l=this._inertia,u=l[l.length-1];this._drainInertiaBuffer(),l.push([Date.now(),e._normalizeBearing(s,u[1])]),e.transform.bearing=s,this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},_onUp:function(t){if(!this._ignoreEvent(t)&&(document.removeEventListener(\"mousemove\",this._onMove),document.removeEventListener(\"mouseup\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var e=this._map,r=e.getBearing(),n=this._inertia,i=function(){Math.abs(r)<this._bearingSnap?e.resetNorth({noMoveStart:!0},{originalEvent:t}):this._fireEvent(\"moveend\",t)}.bind(this);if(n.length<2)return void i();var a=n[0],o=n[n.length-1],h=n[n.length-2],f=e._normalizeBearing(r,h[1]),d=o[1]-a[1],p=d<0?-1:1,g=(o[0]-a[0])/1e3;if(0===d||0===g)return void i();var m=Math.abs(d*(s/g));m>u&&(m=u);var v=m/(c*s),y=p*m*(v/2);f+=y,Math.abs(e._normalizeBearing(f,0))<this._bearingSnap&&(f=e._normalizeBearing(0,f)),e.rotateTo(f,{duration:1e3*v,easing:l,noMoveStart:!0},{originalEvent:t})}},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragPan&&e.dragPan.isActive())return!0;if(t.touches)return t.touches.length>1;var r=t.ctrlKey?1:2,n=t.ctrlKey?0:2;return\"mousemove\"===t.type?t.buttons&0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now(),r=160;t.length>0&&e-t[0][0]>r;)t.shift()}}},{\"../../util/dom\":389,\"../../util/util\":403,\"point-geometry\":442}],378:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)}e.exports=n;var i=80,a=2,o=5;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=this._map,r={originalEvent:t};if(!e.isEasing())switch(t.keyCode){case 61:case 107:case 171:case 187:e.zoomTo(Math.round(e.getZoom())+(t.shiftKey?2:1),r);break;case 189:case 109:case 173:e.zoomTo(Math.round(e.getZoom())-(t.shiftKey?2:1),r);break;case 37:t.shiftKey?e.easeTo({bearing:e.getBearing()-a},r):(t.preventDefault(),e.panBy([-i,0],r));break;case 39:t.shiftKey?e.easeTo({bearing:e.getBearing()+a},r):(t.preventDefault(),e.panBy([i,0],r));break;case 38:t.shiftKey?e.easeTo({pitch:e.getPitch()+o},r):(t.preventDefault(),e.panBy([0,-i],r));break;case 40:t.shiftKey?e.easeTo({pitch:Math.max(e.getPitch()-o,0)},r):(t.preventDefault(),e.panBy([0,i],r))}}}}},{}],379:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),o.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"../../util/browser\"),o=t(\"../../util/util\");e.exports=n;var s=\"undefined\"!=typeof navigator?navigator.userAgent.toLowerCase():\"\",l=s.indexOf(\"firefox\")!==-1,u=s.indexOf(\"safari\")!==-1&&s.indexOf(\"chrom\")===-1;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},_onWheel:function(t){var e;\"wheel\"===t.type?(e=t.deltaY,l&&t.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\"mousewheel\"===t.type&&(e=-t.wheelDeltaY,u&&(e/=3));var r=a.now(),n=r-(this._time||0);this._pos=i.mousePos(this._el,t),this._time=r,0!==e&&e%4.000244140625===0?(this._type=\"wheel\",e=Math.floor(e/4)):0!==e&&Math.abs(e)<4?this._type=\"trackpad\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(n*e)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&this._zoom(-e,t),t.preventDefault()},_onTimeout:function(){this._type=\"wheel\",this._zoom(-this._lastValue)},_zoom:function(t,e){if(0!==t){var r=this._map,n=2/(1+Math.exp(-Math.abs(t/100)));t<0&&0!==n&&(n=1/n);var i=r.ease?r.ease.to:r.transform.scale,a=r.transform.scaleZoom(i*n);r.zoomTo(a,{duration:0,around:r.unproject(this._pos),delayEndEvents:200},{originalEvent:e})}}}},{\"../../util/browser\":387,\"../../util/dom\":389,\"../../util/util\":403}],380:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"../../util/util\");e.exports=n;var o=.15,s=a.bezier(0,0,o,1),l=12,u=2.5,c=.15,h=4;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},disableRotation:function(){this._rotationDisabled=!0},enableRotation:function(){this._rotationDisabled=!1},_onStart:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],document.addEventListener(\"touchmove\",this._onMove,!1),document.addEventListener(\"touchend\",this._onEnd,!1)}},_onMove:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]),n=e.add(r).div(2),a=e.sub(r),o=a.mag()/this._startVec.mag(),s=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,l=this._map;if(this._gestureIntent){var u={duration:0,around:l.unproject(n)};\"rotate\"===this._gestureIntent&&(u.bearing=this._startBearing+s),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(u.zoom=l.transform.scaleZoom(this._startScale*o)),l.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),o,n]),l.easeTo(u,{originalEvent:t})}else{var f=Math.abs(1-o)>c,d=Math.abs(s)>h;d?this._gestureIntent=\"rotate\":f&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=a,this._startScale=l.transform.scale,this._startBearing=l.transform.bearing)}t.preventDefault()}},_onEnd:function(t){document.removeEventListener(\"touchmove\",this._onMove),document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)return void r.snapToNorth({},{originalEvent:t});var n=e[e.length-1],i=e[0],a=r.transform.scaleZoom(this._startScale*n[1]),c=r.transform.scaleZoom(this._startScale*i[1]),h=a-c,f=(n[0]-i[0])/1e3,d=n[2];if(0===f||a===c)return void r.snapToNorth({},{originalEvent:t});var p=h*o/f;Math.abs(p)>u&&(p=p>0?u:-u);var g=1e3*Math.abs(p/(l*o)),m=a+p*g/2e3;m<0&&(m=0),r.easeTo({zoom:m,duration:g,easing:s,around:r.unproject(d)},{originalEvent:t})},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now(),r=160;t.length>2&&e-t[0][0]>r;)t.shift()}}},{\"../../util/dom\":389,\"../../util/util\":403}],381:[function(t,e,r){\"use strict\";function n(){i.bindAll([\"_onHashChange\",\"_updateHash\"],this)}e.exports=n;var i=t(\"../util/util\");n.prototype={addTo:function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},remove:function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},_onHashChange:function(){var t=location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0)}),!0)},_updateHash:function(){var t=this._map.getCenter(),e=this._map.getZoom(),r=this._map.getBearing(),n=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),i=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(n)+\"/\"+t.lng.toFixed(n)+(r?\"/\"+Math.round(10*r)/10:\"\");window.history.replaceState(\"\",\"\",i)}}},{\"../util/util\":403}],382:[function(t,e,r){\"use strict\";function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\"../util/canvas\"),a=t(\"../util/util\"),o=t(\"../util/browser\"),s=t(\"../util/browser\").window,l=t(\"../util/evented\"),u=t(\"../util/dom\"),c=t(\"../style/style\"),h=t(\"../style/animation_loop\"),f=t(\"../render/painter\"),d=t(\"../geo/transform\"),p=t(\"./hash\"),g=t(\"./bind_handlers\"),m=t(\"./camera\"),v=t(\"../geo/lng_lat\"),y=t(\"../geo/lng_lat_bounds\"),x=t(\"point-geometry\"),b=t(\"./control/attribution\"),_=0,w=20,M={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:_,maxZoom:w,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,workerCount:Math.max(o.hardwareConcurrency-1,1)},A=e.exports=function(t){if(t=a.extend({},M,t),t.workerCount<1)throw new Error(\"workerCount must an integer greater than or equal to 1.\");this._interactive=t.interactive,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._trackResize=t.trackResize,this._workerCount=t.workerCount,this._bearingSnap=t.bearingSnap,\"string\"==typeof t.container?this._container=document.getElementById(t.container):this._container=t.container,this.animationLoop=new h,this.transform=new d(t.minZoom,t.maxZoom),t.maxBounds&&this.setMaxBounds(t.maxBounds),a.bindAll([\"_forwardStyleEvent\",\"_forwardSourceEvent\",\"_forwardLayerEvent\",\"_forwardTileEvent\",\"_onStyleLoad\",\"_onStyleChange\",\"_onSourceAdd\",\"_onSourceRemove\",\"_onSourceUpdate\",\"_onWindowOnline\",\"_onWindowResize\",\"_update\",\"_render\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){this.animationLoop.set(300),this._rerender()}.bind(this)),\"undefined\"!=typeof s&&(s.addEventListener(\"online\",this._onWindowOnline,!1),s.addEventListener(\"resize\",this._onWindowResize,!1)),g(this,t),this._hash=t.hash&&(new p).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),this.stacks={},this._classes=[],this.resize(),t.classes&&this.setClasses(t.classes),t.style&&this.setStyle(t.style),t.attributionControl&&this.addControl(new b(t.attributionControl));var e=this.fire.bind(this,\"error\");this.on(\"style.error\",e),this.on(\"source.error\",e),this.on(\"tile.error\",e),this.on(\"layer.error\",e)};a.extend(A.prototype,l),a.extend(A.prototype,m.prototype),a.extend(A.prototype,{addControl:function(t){return t.addTo(this),this},addClass:function(t,e){return this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},removeClass:function(t,e){var r=this._classes.indexOf(t);return r<0||\"\"===t?this:(this._classes.splice(r,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},setClasses:function(t,e){for(var r={},n=0;n<t.length;n++)\"\"!==t[n]&&(r[t[n]]=!0);return this._classes=Object.keys(r),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0)},hasClass:function(t){return this._classes.indexOf(t)>=0},getClasses:function(){return this._classes},resize:function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),this._canvas.resize(t,e),this.transform.resize(t,e),this.painter.resize(t,e),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},getBounds:function(){var t=new y(this.transform.pointLocation(new x(0,0)),this.transform.pointLocation(this.transform.size));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new x(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new x(0,this.transform.size.y)))),t},setMaxBounds:function(t){if(t){var e=y.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},setMinZoom:function(t){if(t=null===t||void 0===t?_:t,t>=_&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error(\"minZoom must be between \"+_+\" and the current maxZoom, inclusive\")},setMaxZoom:function(t){if(t=null===t||void 0===t?w:t,t>=this.transform.minZoom&&t<=w)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be between the current minZoom and \"+w+\", inclusive\")},project:function(t){return this.transform.locationPoint(v.convert(t))},unproject:function(t){return this.transform.pointLocation(x.convert(t))},queryRenderedFeatures:function(){function t(t){return t instanceof x||Array.isArray(t)}var e,r={};return 2===arguments.length?(e=arguments[0],r=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(r=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),r,this.transform.zoom,this.transform.angle)},_makeQueryGeometry:function(t){void 0===t&&(t=[x.convert([0,0]),x.convert([this.transform.width,this.transform.height])]);var e,r=t instanceof x||\"number\"==typeof t[0];if(r){var n=x.convert(t);e=[n]}else{var i=[x.convert(t[0]),x.convert(t[1])];e=[i[0],new x(i[1].x,i[0].y),i[1],new x(i[0].x,i[1].y),i[0]]}return e=e.map(function(t){return this.transform.pointCoordinate(t)}.bind(this))},querySourceFeatures:function(t,e){return this.style.querySourceFeatures(t,e)},setStyle:function(t){return this.style&&(this.style.off(\"load\",this._onStyleLoad).off(\"error\",this._forwardStyleEvent).off(\"change\",this._onStyleChange).off(\"source.add\",this._onSourceAdd).off(\"source.remove\",this._onSourceRemove).off(\"source.load\",this._onSourceUpdate).off(\"source.error\",this._forwardSourceEvent).off(\"source.change\",this._onSourceUpdate).off(\"layer.add\",this._forwardLayerEvent).off(\"layer.remove\",this._forwardLayerEvent).off(\"layer.error\",this._forwardLayerEvent).off(\"tile.add\",this._forwardTileEvent).off(\"tile.remove\",this._forwardTileEvent).off(\"tile.load\",this._update).off(\"tile.error\",this._forwardTileEvent).off(\"tile.stats\",this._forwardTileEvent)._remove(),this.off(\"rotate\",this.style._redoPlacement),this.off(\"pitch\",this.style._redoPlacement)),t?(t instanceof c?this.style=t:this.style=new c(t,this.animationLoop,this._workerCount),this.style.on(\"load\",this._onStyleLoad).on(\"error\",this._forwardStyleEvent).on(\"change\",this._onStyleChange).on(\"source.add\",this._onSourceAdd).on(\"source.remove\",this._onSourceRemove).on(\"source.load\",this._onSourceUpdate).on(\"source.error\",this._forwardSourceEvent).on(\"source.change\",this._onSourceUpdate).on(\"layer.add\",this._forwardLayerEvent).on(\"layer.remove\",this._forwardLayerEvent).on(\"layer.error\",this._forwardLayerEvent).on(\"tile.add\",this._forwardTileEvent).on(\"tile.remove\",this._forwardTileEvent).on(\"tile.load\",this._update).on(\"tile.error\",this._forwardTileEvent).on(\"tile.stats\",this._forwardTileEvent),this.on(\"rotate\",this.style._redoPlacement),this.on(\"pitch\",this.style._redoPlacement),this):(this.style=null,this)},getStyle:function(){if(this.style)return this.style.serialize()},addSource:function(t,e){return this.style.addSource(t,e),this._update(!0),this},addSourceType:function(t,e,r){return this.style.addSourceType(t,e,r)},removeSource:function(t){return this.style.removeSource(t),this._update(!0),this},getSource:function(t){return this.style.getSource(t)},addLayer:function(t,e){return this.style.addLayer(t,e),this._update(!0),this},removeLayer:function(t){return this.style.removeLayer(t),this._update(!0),this},getLayer:function(t){return this.style.getLayer(t)},setFilter:function(t,e){return this.style.setFilter(t,e),this._update(!0),this},setLayerZoomRange:function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},getFilter:function(t){return this.style.getFilter(t)},setPaintProperty:function(t,e,r,n){return this.style.setPaintProperty(t,e,r,n),this._update(!0),this},getPaintProperty:function(t,e,r){return this.style.getPaintProperty(t,e,r)},setLayoutProperty:function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},getLayoutProperty:function(t,e){return this.style.getLayoutProperty(t,e)},getContainer:function(){return this._container},getCanvasContainer:function(){return this._canvasContainer},getCanvas:function(){return this._canvas.getElement()},_setupContainer:function(){var t=this._container;t.classList.add(\"mapboxgl-map\");var e=this._canvasContainer=u.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=new i(this,e);var r=this._controlContainer=u.create(\"div\",\"mapboxgl-control-container\",t),n=this._controlCorners={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){n[t]=u.create(\"div\",\"mapboxgl-ctrl-\"+t,r)})},_setupPainter:function(){var t=this._canvas.getWebGLContext({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer});return t?void(this.painter=new f(t,this.transform)):void this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},_contextLost:function(t){t.preventDefault(),this._frameId&&o.cancelFrame(this._frameId),this.fire(\"webglcontextlost\",{originalEvent:t})},_contextRestored:function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},loaded:function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},_update:function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},_render:function(){try{this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{debug:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,vertices:this.vertices,rotating:this.rotating,zooming:this.zooming}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender()}catch(t){this.fire(\"error\",{error:t})}return this},remove:function(){this._hash&&this._hash.remove(),o.cancelFrame(this._frameId),this.setStyle(null),\"undefined\"!=typeof s&&s.removeEventListener(\"resize\",this._onWindowResize,!1);var t=this.painter.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),this._container.classList.remove(\"mapboxgl-map\")},_rerender:function(){this.style&&!this._frameId&&(this._frameId=o.frame(this._render))},_forwardStyleEvent:function(t){this.fire(\"style.\"+t.type,a.extend({style:t.target},t))},_forwardSourceEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardLayerEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardTileEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_onStyleLoad:function(t){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1}),this._forwardStyleEvent(t)},_onStyleChange:function(t){this._update(!0),this._forwardStyleEvent(t)},_onSourceAdd:function(t){var e=t.source;e.onAdd&&e.onAdd(this),this._forwardSourceEvent(t)},_onSourceRemove:function(t){var e=t.source;e.onRemove&&e.onRemove(this),this._forwardSourceEvent(t)},_onSourceUpdate:function(t){this._update(),this._forwardSourceEvent(t)},_onWindowOnline:function(){this._update()},_onWindowResize:function(){this._trackResize&&this.stop().resize()._update()}}),a.extendAll(A.prototype,{_showTileBoundaries:!1,get showTileBoundaries(){return this._showTileBoundaries},set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},_showCollisionBoxes:!1,get showCollisionBoxes(){return this._showCollisionBoxes},set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},_showOverdrawInspector:!1,get showOverdrawInspector(){return this._showOverdrawInspector},set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},_repaint:!1,get repaint(){return this._repaint},set repaint(t){this._repaint=t,this._update()},_vertices:!1,get vertices(){return this._vertices},set vertices(t){this._vertices=t,this._update()}})},{\"../geo/lng_lat\":300,\"../geo/lng_lat_bounds\":301,\"../geo/transform\":302,\"../render/painter\":316,\"../style/animation_loop\":336,\"../style/style\":339,\"../util/browser\":387,\"../util/canvas\":388,\"../util/dom\":389,\"../util/evented\":395,\"../util/util\":403,\"./bind_handlers\":368,\"./camera\":369,\"./control/attribution\":370,\"./hash\":381,\"point-geometry\":442}],383:[function(t,e,r){\"use strict\";function n(t,e){t||(t=i.create(\"div\")),t.classList.add(\"mapboxgl-marker\"),this._el=t,this._offset=o.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this)}e.exports=n;var i=t(\"../util/dom\"),a=t(\"../geo/lng_lat\"),o=t(\"point-geometry\");n.prototype={addTo:function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._el),t.on(\"move\",this._update),this._update(),this},remove:function(){this._map&&(this._map.off(\"move\",this._update),this._map=null);var t=this._el.parentNode;return t&&t.removeChild(this._el),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=a.convert(t),this._update(),this},getElement:function(){return this._el},_update:function(){if(this._map){var t=this._map.project(this._lngLat)._add(this._offset);i.setTransform(this._el,\"translate(\"+t.x+\"px,\"+t.y+\"px)\")}}}},{\"../geo/lng_lat\":300,\"../util/dom\":389,\"point-geometry\":442}],384:[function(t,e,r){\"use strict\";function n(t){i.setOptions(this,t),i.bindAll([\"_update\",\"_onClickClose\"],this)}e.exports=n;var i=t(\"../util/util\"),a=t(\"../util/evented\"),o=t(\"../util/dom\"),s=t(\"../geo/lng_lat\");n.prototype=i.inherit(a,{options:{closeButton:!0,closeOnClick:!0},addTo:function(t){return this._map=t,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this},remove:function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(\"close\"),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=s.convert(t),this._update(),this},setText:function(t){return this.setDOMContent(document.createTextNode(t))},setHTML:function(t){var e,r=document.createDocumentFragment(),n=document.createElement(\"body\");for(n.innerHTML=t;;){if(e=n.firstChild,!e)break;r.appendChild(e)}return this.setDOMContent(r)},setDOMContent:function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},_createContent:function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=o.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClickClose))},_update:function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content));var t=this._map.project(this._lngLat).round(),e=this.options.anchor;if(!e){var r=this._container.offsetWidth,n=this._container.offsetHeight;e=t.y<n?[\"top\"]:t.y>this._map.transform.height-n?[\"bottom\"]:[],t.x<r/2?e.push(\"left\"):t.x>this._map.transform.width-r/2&&e.push(\"right\"),e=0===e.length?\"bottom\":e.join(\"-\")}var i={top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"},a=this._container.classList;for(var s in i)a.remove(\"mapboxgl-popup-anchor-\"+s);a.add(\"mapboxgl-popup-anchor-\"+e),o.setTransform(this._container,i[e]+\" translate(\"+t.x+\"px,\"+t.y+\"px)\")}},_onClickClose:function(){this.remove()}})},{\"../geo/lng_lat\":300,\"../util/dom\":389,\"../util/evented\":395,\"../util/util\":403}],385:[function(t,e,r){\"use strict\";function n(t,e){this.target=t,this.parent=e,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)}e.exports=n,n.prototype.receive=function(t){function e(t,e,r){this.postMessage({type:\"<response>\",id:String(i),error:t?String(t):null,data:e},r)}var r,n=t.data,i=n.id;if(\"<response>\"===n.type)r=this.callbacks[n.id],delete this.callbacks[n.id],r&&r(n.error||null,n.data);else if(\"undefined\"!=typeof n.id&&this.parent[n.type])this.parent[n.type](n.data,e.bind(this));else if(\"undefined\"!=typeof n.id&&this.parent.workerSources){var a=n.type.split(\".\");this.parent.workerSources[a[0]][a[1]](n.data,e.bind(this))}else this.parent[n.type](n.data)},n.prototype.send=function(t,e,r,n){var i=null;r&&(this.callbacks[i=this.callbackID++]=r),this.postMessage({type:t,id:String(i),data:e},n)},n.prototype.postMessage=function(t,e){this.target.postMessage(t,e)}},{}],386:[function(t,e,r){\"use strict\";function n(t){var e=document.createElement(\"a\");return e.href=t,e.protocol===document.location.protocol&&e.host===document.location.host}r.getJSON=function(t,e){var r=new XMLHttpRequest;return r.open(\"GET\",t,!0),r.setRequestHeader(\"Accept\",\"application/json\"),r.onerror=function(t){e(t)},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new Error(r.statusText))},r.send(),r},r.getArrayBuffer=function(t,e){var r=new XMLHttpRequest;return r.open(\"GET\",t,!0),r.responseType=\"arraybuffer\",r.onerror=function(t){e(t)},r.onload=function(){r.status>=200&&r.status<300&&r.response?e(null,r.response):e(new Error(r.statusText))},r.send(),r},r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)return e(t);var n=new Image;n.onload=function(){e(null,n),(window.URL||window.webkitURL).revokeObjectURL(n.src)};var i=new Blob([new Uint8Array(r)],{type:\"image/png\"});return n.src=(window.URL||window.webkitURL).createObjectURL(i),n.getData=function(){var t=document.createElement(\"canvas\"),e=t.getContext(\"2d\");return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height).data},n})},r.getVideo=function(t,e){var r=document.createElement(\"video\");r.onloadstart=function(){e(null,r)};for(var i=0;i<t.length;i++){var a=document.createElement(\"source\");n(t[i])||(r.crossOrigin=\"Anonymous\"),a.src=t[i],r.appendChild(a)}return r.getData=function(){return r},r}},{}],387:[function(t,e,r){\"use strict\";r.window=window,e.exports.now=function(){return window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now.bind(Date)}();var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;r.frame=function(t){return n(t)};var i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r.cancelFrame=function(t){i(t)},r.timed=function(t,n,i){function a(l){o||(l=e.exports.now(),l>=s+n?t.call(i,1):(t.call(i,(l-s)/n),r.frame(a)))}if(!n)return t.call(i,1),null;var o=!1,s=e.exports.now();return r.frame(a),function(){o=!0}},r.supported=t(\"mapbox-gl-supported\"),r.hardwareConcurrency=navigator.hardwareConcurrency||4,Object.defineProperty(r,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),r.supportsWebp=!1;var a=document.createElement(\"img\");a.onload=function(){r.supportsWebp=!0},a.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\",r.supportsGeolocation=!!navigator.geolocation},{\"mapbox-gl-supported\":288}],388:[function(t,e,r){\"use strict\";function n(t,e){this.canvas=document.createElement(\"canvas\"),t&&e&&(this.canvas.style.position=\"absolute\",this.canvas.classList.add(\"mapboxgl-canvas\"),this.canvas.addEventListener(\"webglcontextlost\",t._contextLost.bind(t),!1),this.canvas.addEventListener(\"webglcontextrestored\",t._contextRestored.bind(t),!1),this.canvas.setAttribute(\"tabindex\",0),e.appendChild(this.canvas))}var i=t(\"../util\"),a=t(\"mapbox-gl-supported\");e.exports=n,n.prototype.resize=function(t,e){var r=window.devicePixelRatio||1;this.canvas.width=r*t,this.canvas.height=r*e,this.canvas.style.width=t+\"px\",this.canvas.style.height=e+\"px\"},n.prototype.getWebGLContext=function(t){return t=i.extend({},t,a.webGLContextAttributes),this.canvas.getContext(\"webgl\",t)||this.canvas.getContext(\"experimental-webgl\",t)},n.prototype.getElement=function(){return this.canvas}},{\"../util\":403,\"mapbox-gl-supported\":288}],389:[function(t,e,r){\"use strict\";function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e]}function i(t){t.preventDefault(),t.stopPropagation(),\nwindow.removeEventListener(\"click\",i,!0)}var a=t(\"point-geometry\");r.create=function(t,e,r){var n=document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n};var o,s=document.documentElement.style,l=n([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);r.disableDrag=function(){l&&(o=s[l],s[l]=\"none\")},r.enableDrag=function(){l&&(s[l]=o)};var u=n([\"transform\",\"WebkitTransform\"]);r.setTransform=function(t,e){t.style[u]=e},r.suppressClick=function(){window.addEventListener(\"click\",i,!0),window.setTimeout(function(){window.removeEventListener(\"click\",i,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new a(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],i=0;i<e.touches.length;i++)n.push(new a(e.touches[i].clientX-r.left-t.clientLeft,e.touches[i].clientY-r.top-t.clientTop));return n}},{\"point-geometry\":442}],390:[function(t,e,r){\"use strict\";var n=t(\"webworkify\");e.exports=function(){return new n(t(\"../../source/worker\"))}},{\"../../source/worker\":334,webworkify:519}],391:[function(t,e,r){\"use strict\";function n(t,e){return e.area-t.area}function i(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}var a=t(\"quickselect\");e.exports=function(t,e){var r=t.length;if(r<=1)return[t];for(var o,s,l=[],u=0;u<r;u++){var c=i(t[u]);0!==c&&(t[u].area=Math.abs(c),void 0===s&&(s=c<0),s===c<0?(o&&l.push(o),o=[t[u]]):o.push(t[u]))}if(o&&l.push(o),e>1)for(var h=0;h<l.length;h++)l[h].length<=e||(a(l[h],e,1,l[h].length-1,n),l[h]=l[h].slice(0,e));return l}},{quickselect:451}],392:[function(t,e,r){\"use strict\";e.exports={API_URL:\"https://api.mapbox.com\",REQUIRE_ACCESS_TOKEN:!0}},{}],393:[function(t,e,r){\"use strict\";function n(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}}var i=t(\"assert\");e.exports=n,n.prototype.encode=function(t){return i(t in this._stringToNumber),this._stringToNumber[t]},n.prototype.decode=function(t){return i(t<this._numberToString.length),this._numberToString[t]}},{assert:34}],394:[function(t,e,r){\"use strict\";function n(t,e){this.actors=[],this.currentActor=0;for(var r=0;r<t;r++){var n=new o,i=new a(n,e);i.name=\"Worker \"+r,this.actors.push(i)}}var i=t(\"./util\"),a=t(\"./actor\"),o=t(\"./web_worker\");e.exports=n,n.prototype={broadcast:function(t,e,r){r=r||function(){},i.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},send:function(t,e,r,n,i){return(\"number\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r,i),n},remove:function(){for(var t=0;t<this.actors.length;t++)this.actors[t].target.terminate();this.actors=[]}}},{\"./actor\":385,\"./util\":403,\"./web_worker\":390}],395:[function(t,e,r){\"use strict\";var n=t(\"./util\"),i={on:function(t,e){return this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e),this},off:function(t,e){if(!t)return delete this._events,this;if(!this.listens(t))return this;if(e){var r=this._events[t].indexOf(e);r>=0&&this._events[t].splice(r,1),this._events[t].length||delete this._events[t]}else delete this._events[t];return this},once:function(t,e){var r=function(n){this.off(t,r),e.call(this,n)}.bind(this);return this.on(t,r),this},fire:function(t,e){if(!this.listens(t))return n.endsWith(t,\"error\")&&console.error(e&&e.error||e||\"Empty error event\"),this;e=n.extend({},e),n.extend(e,{type:t,target:this});for(var r=this._events[t].slice(),i=0;i<r.length;i++)r[i].call(this,e);return this},listens:function(t){return!(!this._events||!this._events[t])}};e.exports=i},{\"./util\":403}],396:[function(t,e,r){\"use strict\";function n(t,e){this.stacks=t.readFields(i,[],e)}function i(t,e,r){if(1===t){var n=r.readMessage(a,{glyphs:{}});e.push(n)}}function a(t,e,r){if(1===t)e.name=r.readString();else if(2===t)e.range=r.readString();else if(3===t){var n=r.readMessage(o,{});e.glyphs[n.id]=n}}function o(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}e.exports=n},{}],397:[function(t,e,r){\"use strict\";function n(t,e,r){return t*(1-r)+e*r}e.exports=n,n.number=n,n.vec2=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r)]},n.color=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r),n(t[2],e[2],r),n(t[3],e[3],r)]},n.array=function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}},{}],398:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s];if(d(i,l))return!0;if(c(l,i,r))return!0}return!1}function i(t,e){if(1===t.length&&1===t[0].length)return f(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(f(t,n[i]))return!0;for(var a=0;a<t.length;a++){for(var o=t[a],l=0;l<o.length;l++)if(f(e,o[l]))return!0;for(var u=0;u<e.length;u++)if(s(o,e[u]))return!0}return!1}function a(t,e,r){for(var n=0;n<e.length;n++)for(var i=e[n],a=0;a<t.length;a++){var s=t[a];if(s.length>=3)for(var l=0;l<i.length;l++)if(d(s,i[l]))return!0;if(o(s,i,r))return!0}return!1}function o(t,e,r){if(t.length>1){if(s(t,e))return!0;for(var n=0;n<e.length;n++)if(c(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(c(t[i],e,r))return!0;return!1}function s(t,e){for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++){var o=e[a],s=e[a+1];if(u(n,i,o,s))return!0}return!1}function l(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function u(t,e,r,n){return l(t,r,n)!==l(e,r,n)&&l(t,e,r)!==l(t,e,n)}function c(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++){var a=e[i-1],o=e[i];if(h(t,a,o)<n)return!0}return!1}function h(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function f(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++){r=t[o];for(var s=0,l=r.length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function d(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}e.exports={multiPolygonIntersectsBufferedMultiPoint:n,multiPolygonIntersectsMultiPolygon:i,multiPolygonIntersectsBufferedMultiLine:a}},{}],399:[function(t,e,r){\"use strict\";function n(t,e){this.max=t,this.onRemove=e,this.reset()}e.exports=n,n.prototype.reset=function(){for(var t in this.data)this.onRemove(this.data[t]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this.get(this.order[0]);e&&this.onRemove(e)}return this}},{}],400:[function(t,e,r){\"use strict\";function n(t,e,r){if(r=r||o.ACCESS_TOKEN,!r&&o.REQUIRE_ACCESS_TOKEN)throw new Error(\"An API access token is required to use Mapbox GL. See https://www.mapbox.com/developers/api/#access-tokens\");if(t=t.replace(/^mapbox:\\/\\//,o.API_URL+e),t+=t.indexOf(\"?\")!==-1?\"&access_token=\":\"?access_token=\",o.REQUIRE_ACCESS_TOKEN){if(\"s\"===r[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL JS, not a secret access token (sk.*). See https://www.mapbox.com/developers/api/#access-tokens\");t+=r}return t}function i(t){return t?\"?\"+t:\"\"}function a(t){return t.access_token&&\"tk.\"===t.access_token.slice(0,3)?u.extend({},t,{access_token:o.ACCESS_TOKEN}):t}var o=t(\"./config\"),s=t(\"./browser\"),l=t(\"url\"),u=t(\"./util\");e.exports.normalizeStyleURL=function(t,e){var r=l.parse(t);return\"mapbox:\"!==r.protocol?t:n(\"mapbox:/\"+r.pathname+i(r.query),\"/styles/v1/\",e)},e.exports.normalizeSourceURL=function(t,e){var r=l.parse(t);return\"mapbox:\"!==r.protocol?t:n(t+\".json\",\"/v4/\",e)+\"&secure\"},e.exports.normalizeGlyphsURL=function(t,e){var r=l.parse(t);if(\"mapbox:\"!==r.protocol)return t;var a=r.pathname.split(\"/\")[1];return n(\"mapbox://\"+a+\"/{fontstack}/{range}.pbf\"+i(r.query),\"/fonts/v1/\",e)},e.exports.normalizeSpriteURL=function(t,e,r,a){var o=l.parse(t);return\"mapbox:\"!==o.protocol?(o.pathname+=e+r,l.format(o)):n(\"mapbox:/\"+o.pathname+\"/sprite\"+e+r+i(o.query),\"/styles/v1/\",a)},e.exports.normalizeTileURL=function(t,e,r){var n=l.parse(t,!0);if(!e)return t;var i=l.parse(e);if(\"mapbox:\"!==i.protocol)return t;var o=s.supportsWebp?\".webp\":\"$1\",u=s.devicePixelRatio>=2||512===r?\"@2x\":\"\";return l.format({protocol:n.protocol,hostname:n.hostname,pathname:n.pathname.replace(/(\\.(?:png|jpg)\\d*)/,u+o),query:a(n.query)})}},{\"./browser\":387,\"./config\":392,\"./util\":403,url:500}],401:[function(t,e,r){\"use strict\";function n(t){function e(){f.apply(this,arguments)}function r(){d.apply(this,arguments),this.members=e.prototype.members}var n=JSON.stringify(t);if(m[n])return m[n];void 0===t.alignment&&(t.alignment=1),e.prototype=Object.create(f.prototype);var s=0,u=0,v=[\"Uint8\"];return e.prototype.members=t.members.map(function(r){r={name:r.name,type:r.type,components:r.components||1},p(r.name.length),p(r.type in g),v.indexOf(r.type)<0&&v.push(r.type);var n=o(r.type);u=Math.max(u,n),r.offset=s=a(s,Math.max(t.alignment,n));for(var i=0;i<r.components;i++)Object.defineProperty(e.prototype,r.name+(1===r.components?\"\":i),{get:c(r,i),set:h(r,i)});return s+=n*r.components,r}),e.prototype.alignment=t.alignment,e.prototype.size=a(s,Math.max(u,t.alignment)),r.serialize=i,r.prototype=Object.create(d.prototype),r.prototype.StructType=e,r.prototype.bytesPerElement=e.prototype.size,r.prototype.emplaceBack=l(e.prototype.members,e.prototype.size),r.prototype._usedTypes=v,m[n]=r,r}function i(){return{members:this.prototype.StructType.prototype.members,alignment:this.prototype.StructType.prototype.alignment,bytesPerElement:this.prototype.bytesPerElement}}function a(t,e){return Math.ceil(t/e)*e}function o(t){return g[t].BYTES_PER_ELEMENT}function s(t){return t.toLowerCase()}function l(t,e){for(var r=[],n=[],i=\"var i = this.length;\\nthis.resize(this.length + 1);\\n\",a=0;a<t.length;a++){var l=t[a],u=o(l.type);r.indexOf(u)<0&&(r.push(u),i+=\"var o\"+u.toFixed(0)+\" = i * \"+(e/u).toFixed(0)+\";\\n\");for(var c=0;c<l.components;c++){var h=\"v\"+n.length,f=\"o\"+u.toFixed(0)+\" + \"+(l.offset/u+c).toFixed(0);i+=\"this.\"+s(l.type)+\"[\"+f+\"] = \"+h+\";\\n\",n.push(h)}}return i+=\"return i;\",new Function(n,i)}function u(t,e){var r=\"this._pos\"+o(t.type).toFixed(0),n=(t.offset/o(t.type)+e).toFixed(0),i=r+\" + \"+n;return\"this._structArray.\"+s(t.type)+\"[\"+i+\"]\"}function c(t,e){return new Function([],\"return \"+u(t,e)+\";\")}function h(t,e){return new Function([\"x\"],u(t,e)+\" = x;\")}function f(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}function d(t){void 0!==t?(this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.capacity=this.arrayBuffer.byteLength/this.bytesPerElement,this._refreshViews()):(this.capacity=-1,this.resize(0))}var p=t(\"assert\");e.exports=n;var g={Int8:Int8Array,Uint8:Uint8Array,Uint8Clamped:Uint8ClampedArray,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array,Float64:Float64Array},m={};d.prototype.DEFAULT_CAPACITY=128,d.prototype.RESIZE_MULTIPLIER=5,d.prototype.serialize=function(){return this.trim(),{length:this.length,arrayBuffer:this.arrayBuffer}},d.prototype.get=function(t){return new this.StructType(this,t)},d.prototype.trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},d.prototype.resize=function(t){if(this.length=t,t>this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*this.RESIZE_MULTIPLIER),this.DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},d.prototype._refreshViews=function(){for(var t=0;t<this._usedTypes.length;t++){var e=this._usedTypes[t];this[s(e)]=new g[e](this.arrayBuffer)}},d.prototype.toArray=function(t,e){for(var r=[],n=t;n<e;n++){var i=this.get(n);r.push(i)}return r}},{assert:34}],402:[function(t,e,r){\"use strict\";function n(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?t[r]:\"\"})}e.exports=n},{}],403:[function(t,e,r){\"use strict\";var n=t(\"unitbezier\"),i=t(\"../geo/coordinate\");r.easeCubicInOut=function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.coalesce=function(){for(var t=0;t<arguments.length;t++){var e=arguments[t];if(null!==e&&void 0!==e)return e}},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0===--n&&r(a,i)})})},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t},r.extendAll=function(t,e){for(var r in e)Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},r.inherit=function(t,e){var n=\"function\"==typeof t?t.prototype:t,i=Object.create(n);return r.extendAll(i,e),i},r.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.debounce=function(t,e){var r,n;return function(){n=arguments,clearTimeout(r),r=setTimeout(function(){t.apply(null,n)},e)}},r.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},r.bindHandlers=function(t){for(var e in t)\"function\"==typeof t[e]&&0===e.indexOf(\"_on\")&&(t[e]=t[e].bind(t))},r.setOptions=function(t,e){t.hasOwnProperty(\"options\")||(t.options=t.options?Object.create(t.options):{});for(var r in e)t.options[r]=e[r];return t.options},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-(1/0),a=-(1/0),o=0;o<t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,u=Math.max(s,l);return new i((e+n)/2,(r+a)/2,0).zoomTo(Math.floor(-Math.log(u)/Math.LN2))},r.endsWith=function(t,e){return t.indexOf(e,t.length-e.length)!==-1},r.startsWith=function(t,e){return 0===t.indexOf(e)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n},r.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r)return!1;var i=Object.keys(e);if(i.length!==Object.keys(r).length)return!1;for(var a in e)if(!t(e[a],r[a]))return!1;return!0}return e===r},r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\"object\"==typeof t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(\"undefined\"!=typeof console&&console.warn(t),o[t]=!0)}},{\"../geo/coordinate\":299,unitbezier:499}],404:[function(t,e,r){\"use strict\";function n(t,e,r,n){this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)}e.exports=n,n.prototype={type:\"Feature\",get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},set geometry(t){this._geometry=t},toJSON:function(){var t={};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&\"toJSON\"!==e&&(t[e]=this[e]);return t}}},{}],405:[function(t,e,r){e.exports={_args:[[{raw:\"mapbox-gl@^0.22.0\",scope:null,escapedName:\"mapbox-gl\",name:\"mapbox-gl\",rawSpec:\"^0.22.0\",spec:\">=0.22.0 <0.23.0\",type:\"range\"},\"/home/etienne/Documents/plotly/plotly.js\"]],_from:\"mapbox-gl@>=0.22.0 <0.23.0\",_id:\"mapbox-gl@0.22.1\",_inCache:!0,_location:\"/mapbox-gl\",_nodeVersion:\"4.4.5\",_npmOperationalInternal:{host:\"packages-12-west.internal.npmjs.com\",tmp:\"tmp/mapbox-gl-0.22.1.tgz_1471549891670_0.8762630566488951\"},_npmUser:{name:\"lucaswoj\",email:\"lucas@lucaswoj.com\"},_npmVersion:\"2.15.5\",_phantomChildren:{},_requested:{raw:\"mapbox-gl@^0.22.0\",scope:null,escapedName:\"mapbox-gl\",name:\"mapbox-gl\",rawSpec:\"^0.22.0\",spec:\">=0.22.0 <0.23.0\",type:\"range\"},_requiredBy:[\"/\"],_resolved:\"https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz\",_shasum:\"92a965547d4c2f24c22cbc487eeda48694cb627a\",_shrinkwrap:null,_spec:\"mapbox-gl@^0.22.0\",_where:\"/home/etienne/Documents/plotly/plotly.js\",browser:{\"./js/util/ajax.js\":\"./js/util/browser/ajax.js\",\"./js/util/browser.js\":\"./js/util/browser/browser.js\",\"./js/util/canvas.js\":\"./js/util/browser/canvas.js\",\"./js/util/dom.js\":\"./js/util/browser/dom.js\",\"./js/util/web_worker.js\":\"./js/util/browser/web_worker.js\"},bugs:{url:\"https://github.com/mapbox/mapbox-gl-js/issues\"},dependencies:{csscolorparser:\"^1.0.2\",earcut:\"^2.0.3\",\"feature-filter\":\"^2.2.0\",\"geojson-rewind\":\"^0.1.0\",\"geojson-vt\":\"^2.4.0\",\"gl-matrix\":\"^2.3.1\",\"grid-index\":\"^1.0.0\",\"mapbox-gl-function\":\"^1.2.1\",\"mapbox-gl-shaders\":\"github:mapbox/mapbox-gl-shaders#de2ab007455aa2587c552694c68583f94c9f2747\",\"mapbox-gl-style-spec\":\"github:mapbox/mapbox-gl-style-spec#83b1a3e5837d785af582efd5ed1a212f2df6a4ae\",\"mapbox-gl-supported\":\"^1.2.0\",pbf:\"^1.3.2\",pngjs:\"^2.2.0\",\"point-geometry\":\"^0.0.0\",quickselect:\"^1.0.0\",request:\"^2.39.0\",\"resolve-url\":\"^0.2.1\",\"shelf-pack\":\"^1.0.0\",supercluster:\"^2.0.1\",unassertify:\"^2.0.0\",unitbezier:\"^0.0.0\",\"vector-tile\":\"^1.3.0\",\"vt-pbf\":\"^2.0.2\",webworkify:\"^1.3.0\",\"whoots-js\":\"^2.0.0\"},description:\"A WebGL interactive maps library\",devDependencies:{\"babel-preset-react\":\"^6.11.1\",babelify:\"^7.3.0\",benchmark:\"~2.1.0\",browserify:\"^13.0.0\",clipboard:\"^1.5.12\",\"concat-stream\":\"1.5.1\",coveralls:\"^2.11.8\",doctrine:\"^1.2.1\",documentation:\"https://github.com/documentationjs/documentation/archive/bb41619c734e59ef3fbc3648610032efcfdaaace.tar.gz\",\"documentation-theme-utils\":\"3.0.0\",envify:\"^3.4.0\",eslint:\"^2.5.3\",\"eslint-config-mourner\":\"^2.0.0\",\"eslint-plugin-html\":\"^1.5.1\",gl:\"^4.0.1\",handlebars:\"4.0.5\",\"highlight.js\":\"9.3.0\",istanbul:\"^0.4.2\",\"json-loader\":\"^0.5.4\",lodash:\"^4.13.1\",\"mapbox-gl-test-suite\":\"github:mapbox/mapbox-gl-test-suite#7babab52fb02788ebbc38384139bf350e8e38552\",\"memory-fs\":\"^0.3.0\",minifyify:\"^7.0.1\",\"npm-run-all\":\"^3.0.0\",nyc:\"6.4.0\",proxyquire:\"^1.7.9\",remark:\"4.2.2\",\"remark-html\":\"3.0.0\",sinon:\"^1.15.4\",st:\"^1.2.0\",tap:\"^5.7.0\",\"transform-loader\":\"^0.2.3\",\"unist-util-visit\":\"1.1.0\",vinyl:\"1.1.1\",\"vinyl-fs\":\"2.4.3\",watchify:\"^3.7.0\",webpack:\"^1.13.1\",\"webworkify-webpack\":\"^1.1.3\"},directories:{},dist:{shasum:\"92a965547d4c2f24c22cbc487eeda48694cb627a\",tarball:\"https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz\"},engines:{node:\">=4.0.0\"},gitHead:\"13a9015341f0602ccb55c98c53079838ad4b70b5\",homepage:\"https://github.com/mapbox/mapbox-gl-js#readme\",license:\"BSD-3-Clause\",main:\"js/mapbox-gl.js\",maintainers:[{name:\"aaronlidman\",email:\"aaronlidman@gmail.com\"},{name:\"ajashton\",email:\"aj.ashton@gmail.com\"},{name:\"ansis\",email:\"ansis.brammanis@gmail.com\"},{name:\"bergwerkgis\",email:\"wb@bergwerk-gis.at\"},{name:\"bhousel\",email:\"bryan@mapbox.com\"},{name:\"bsudekum\",email:\"bobby@mapbox.com\"},{name:\"camilleanne\",email:\"camille@mapbox.com\"},{name:\"dnomadb\",email:\"damon@mapbox.com\"},{name:\"dthompson\",email:\"dthompson@gmail.com\"},{name:\"emilymcafee\",email:\"emily@mapbox.com\"},{name:\"flippmoke\",email:\"flippmoke@gmail.com\"},{name:\"freenerd\",email:\"spam@freenerd.de\"},{name:\"gretacb\",email:\"carol@mapbox.com\"},{name:\"ian29\",email:\"ian.villeda@gmail.com\"},{name:\"ianshward\",email:\"ian@mapbox.com\"},{name:\"ingalls\",email:\"nicholas.ingalls@gmail.com\"},{name:\"jfirebaugh\",email:\"john.firebaugh@gmail.com\"},{name:\"jrpruit1\",email:\"jake@jakepruitt.com\"},{name:\"karenzshea\",email:\"karen@mapbox.com\"},{name:\"kkaefer\",email:\"kkaefer@gmail.com\"},{name:\"lbud\",email:\"lauren@mapbox.com\"},{name:\"lucaswoj\",email:\"lucas@lucaswoj.com\"},{name:\"lxbarth\",email:\"alex@mapbox.com\"},{name:\"lyzidiamond\",email:\"lyzi@mapbox.com\"},{name:\"mapbox-admin\",email:\"accounts@mapbox.com\"},{name:\"mateov\",email:\"matt@mapbox.com\"},{name:\"mcwhittemore\",email:\"mcwhittemore@gmail.com\"},{name:\"miccolis\",email:\"jeff@miccolis.net\"},{name:\"mikemorris\",email:\"michael.patrick.morris@gmail.com\"},{name:\"morganherlocker\",email:\"morgan.herlocker@gmail.com\"},{name:\"mourner\",email:\"agafonkin@gmail.com\"},{name:\"nickidlugash\",email:\"nicki@mapbox.com\"},{name:\"rclark\",email:\"ryan.clark.j@gmail.com\"},{name:\"samanbb\",email:\"saman@mapbox.com\"},{name:\"sbma44\",email:\"tlee@mapbox.com\"},{name:\"scothis\",email:\"scothis@gmail.com\"},{name:\"sgillies\",email:\"sean@mapbox.com\"},{name:\"springmeyer\",email:\"dane@mapbox.com\"},{name:\"themarex\",email:\"patrick@mapbox.com\"},{name:\"tmcw\",email:\"tom@macwright.org\"},{name:\"tristen\",email:\"tristen.brown@gmail.com\"},{name:\"willwhite\",email:\"will@mapbox.com\"},{name:\"yhahn\",email:\"young@mapbox.com\"}],name:\"mapbox-gl\",optionalDependencies:{},readme:\"ERROR: No README data found!\",repository:{type:\"git\",url:\"git://github.com/mapbox/mapbox-gl-js.git\"},scripts:{build:\"npm run build-docs # invoked by publisher when publishing docs on the mb-pages branch\",\"build-dev\":\"browserify js/mapbox-gl.js --debug --standalone mapboxgl > dist/mapbox-gl-dev.js && tap --no-coverage test/build/dev.test.js\",\"build-docs\":\"documentation build --github --format html -c documentation.yml --theme ./docs/_theme --output docs/api/\",\"build-min\":\"browserify js/mapbox-gl.js --debug -t unassertify --plugin [minifyify --map mapbox-gl.js.map --output dist/mapbox-gl.js.map] --standalone mapboxgl > dist/mapbox-gl.js && tap --no-coverage test/build/min.test.js\",\"build-token\":\"browserify debug/access-token-src.js --debug -t envify > debug/access-token.js\",lint:\"eslint  --ignore-path .gitignore js test bench docs/_posts/examples/*.html\",\"open-changed-examples\":\"git diff --name-only mb-pages HEAD -- docs/_posts/examples/*.html | awk '{print \\\"http://127.0.0.1:4000/mapbox-gl-js/example/\\\" substr($0,33,length($0)-37)}' | xargs open\",start:\"run-p build-token watch-dev watch-bench start-server\",\"start-bench\":\"run-p build-token watch-bench start-server\",\"start-debug\":\"run-p build-token watch-dev start-server\",\"start-docs\":\"npm run build-min && npm run build-docs && jekyll serve -w\",\"start-server\":\"st --no-cache --localhost --port 9966 --index index.html .\",test:\"npm run lint && tap --reporter dot test/js/*/*.js test/build/webpack.test.js\",\"test-suite\":\"node test/render.test.js && node test/query.test.js\",\"watch-bench\":\"node bench/download-data.js && watchify bench/index.js --plugin [minifyify --no-map] -t [babelify --presets react] -t unassertify -t envify -o bench/bench.js -v\",\"watch-dev\":\"watchify js/mapbox-gl.js --debug --standalone mapboxgl -o dist/mapbox-gl-dev.js -v\"},version:\"0.22.1\"}},{}],406:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function i(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],i=[],a=0;a<=t;++a)if(e&1<<a){r.push(n(t,a-1,a-1)),i.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(n(t,a-1,s-1)),i.push([a,s]))}var l=o(r),u=[];t:for(var a=0;a<l.length;++a){for(var c=l[a],h=[],s=0;s<c.length;++s){if(!i[c[s]])continue t;h.push(i[c[s]].slice())}u.push(h)}return u}function a(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=i(t,n);return r}e.exports=a;var o=t(\"convex-hull\")},{\"convex-hull\":84}],407:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}function i(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}function a(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}var o=t(\"./normalize\"),s=t(\"gl-mat4/create\"),l=t(\"gl-mat4/clone\"),u=t(\"gl-mat4/determinant\"),c=t(\"gl-mat4/invert\"),h=t(\"gl-mat4/transpose\"),f={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},d=s(),p=s(),g=[0,0,0,0],m=[[0,0,0],[0,0,0],[0,0,0]],v=[0,0,0];e.exports=function(t,e,r,s,y,x){if(e||(e=[0,0,0]),r||(r=[0,0,0]),s||(s=[0,0,0]),y||(y=[0,0,0,1]),x||(x=[0,0,0,1]),!o(d,t))return!1;if(l(p,d),p[3]=0,p[7]=0,p[11]=0,p[15]=1,Math.abs(u(p)<1e-8))return!1;var b=d[3],_=d[7],w=d[11],M=d[12],A=d[13],k=d[14],T=d[15];if(0!==b||0!==_||0!==w){g[0]=b,g[1]=_,g[2]=w,g[3]=T;var E=c(p,p);if(!E)return!1;h(p,p),n(y,g,p)}else y[0]=y[1]=y[2]=0,y[3]=1;if(e[0]=M,e[1]=A,e[2]=k,i(m,d),r[0]=f.length(m[0]),f.normalize(m[0],m[0]),s[0]=f.dot(m[0],m[1]),a(m[1],m[1],m[0],1,-s[0]),r[1]=f.length(m[1]),f.normalize(m[1],m[1]),s[0]/=r[1],s[1]=f.dot(m[0],m[2]),a(m[2],m[2],m[0],1,-s[1]),s[2]=f.dot(m[1],m[2]),a(m[2],m[2],m[1],1,-s[2]),r[2]=f.length(m[2]),f.normalize(m[2],m[2]),s[1]/=r[2],s[2]/=r[2],f.cross(v,m[1],m[2]),f.dot(m[0],v)<0)for(var S=0;S<3;S++)r[S]*=-1,m[S][0]*=-1,m[S][1]*=-1,m[S][2]*=-1;return x[0]=.5*Math.sqrt(Math.max(1+m[0][0]-m[1][1]-m[2][2],0)),x[1]=.5*Math.sqrt(Math.max(1-m[0][0]+m[1][1]-m[2][2],0)),x[2]=.5*Math.sqrt(Math.max(1-m[0][0]-m[1][1]+m[2][2],0)),x[3]=.5*Math.sqrt(Math.max(1+m[0][0]+m[1][1]+m[2][2],0)),m[2][1]>m[1][2]&&(x[0]=-x[0]),m[0][2]>m[2][0]&&(x[1]=-x[1]),m[1][0]>m[0][1]&&(x[2]=-x[2]),!0}},{\"./normalize\":408,\"gl-mat4/clone\":143,\"gl-mat4/create\":144,\"gl-mat4/determinant\":145,\"gl-mat4/invert\":149,\"gl-mat4/transpose\":159,\"gl-vec3/cross\":237,\"gl-vec3/dot\":238,\"gl-vec3/length\":239,\"gl-vec3/normalize\":241}],408:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],409:[function(t,e,r){function n(t,e,r,n){if(0===c(e)||0===c(r))return!1;var i=u(e,f.translate,f.scale,f.skew,f.perspective,f.quaternion),a=u(r,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!(!i||!a)&&(s(p.translate,f.translate,d.translate,n),s(p.skew,f.skew,d.skew,n),s(p.scale,f.scale,d.scale,n),s(p.perspective,f.perspective,d.perspective,n),h(p.quaternion,f.quaternion,d.quaternion,n),l(t,p.translate,p.scale,p.skew,p.perspective,p.quaternion),!0)}function i(){return{translate:a(),scale:a(1),skew:a(),perspective:o(),quaternion:o()}}function a(t){return[t||0,t||0,t||0]}function o(){return[0,0,0,1]}var s=t(\"gl-vec3/lerp\"),l=t(\"mat4-recompose\"),u=t(\"mat4-decompose\"),c=t(\"gl-mat4/determinant\"),h=t(\"quat-slerp\"),f=i(),d=i(),p=i();e.exports=n},{\"gl-mat4/determinant\":145,\"gl-vec3/lerp\":240,\"mat4-decompose\":407,\"mat4-recompose\":410,\"quat-slerp\":447}],410:[function(t,e,r){var n={identity:t(\"gl-mat4/identity\"),translate:t(\"gl-mat4/translate\"),multiply:t(\"gl-mat4/multiply\"),create:t(\"gl-mat4/create\"),scale:t(\"gl-mat4/scale\"),fromRotationTranslation:t(\"gl-mat4/fromRotationTranslation\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\"gl-mat4/create\":144,\"gl-mat4/fromRotationTranslation\":147,\"gl-mat4/identity\":148,\"gl-mat4/multiply\":151,\"gl-mat4/scale\":157,\"gl-mat4/translate\":158}],411:[function(t,e,r){\"use strict\";function n(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-(1/0),1/0]}function i(t){t=t||{};var e=t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return new n(e)}var a=t(\"binary-search-bounds\"),o=t(\"mat4-interpolate\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/rotateX\"),u=t(\"gl-mat4/rotateY\"),c=t(\"gl-mat4/rotateZ\"),h=t(\"gl-mat4/lookAt\"),f=t(\"gl-mat4/translate\"),d=(t(\"gl-mat4/scale\"),t(\"gl-vec3/normalize\")),p=[0,0,0];e.exports=i;var g=n.prototype;g.recalcMatrix=function(t){var e=this._time,r=a.le(e,t),n=this.computedMatrix;if(!(r<0)){var i=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)n[u]=i[l++];else{for(var c=e[r+1]-e[r],l=16*r,h=this.prevMatrix,f=!0,u=0;u<16;++u)h[u]=i[l++];for(var p=this.nextMatrix,u=0;u<16;++u)p[u]=i[l++],f=f&&h[u]===p[u];if(c<1e-6||f)for(var u=0;u<16;++u)n[u]=h[u];else o(n,h,p,(t-e[r])/c)}var g=this.computedUp;g[0]=n[1],g[1]=n[5],g[2]=n[6],d(g,g);var m=this.computedInverse;s(m,n);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;for(var x=this.computedCenter,b=Math.exp(this.computedRadius[0]),u=0;u<3;++u)x[u]=v[u]-n[2+4*u]*b}},g.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},g.flush=function(t){var e=a.gt(this._time,t)-2;e<0||(this._time.slice(0,e),this._components.slice(0,16*e))},g.lastT=function(){return this._time[this._time.length-1]},g.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||p,n=n||this.computedUp,this.setMatrix(t,h(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},g.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&u(i,i,e),r&&l(i,i,r),n&&c(i,i,n),this.setMatrix(t,s(this.computedMatrix,i))};var m=[0,0,0];g.pan=function(t,e,r,n){m[0]=-(e||0),m[1]=-(r||0),m[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;f(i,i,m),this.setMatrix(t,s(i,i))},g.translate=function(t,e,r,n){m[0]=e||0,m[1]=r||0,m[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;f(i,i,m),this.setMatrix(t,i)},g.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},g.setDistance=function(t,e){this.computedRadius[0]=e},g.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},g.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{\"binary-search-bounds\":53,\"gl-mat4/invert\":149,\"gl-mat4/lookAt\":150,\"gl-mat4/rotateX\":154,\"gl-mat4/rotateY\":155,\"gl-mat4/rotateZ\":156,\"gl-mat4/scale\":157,\"gl-mat4/translate\":158,\"gl-vec3/normalize\":241,\"mat4-interpolate\":409}],412:[function(t,e,r){\"use strict\";function n(t){var e=t.length;if(e<3){for(var r=new Array(e),n=0;n<e;++n)r[n]=n;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),n=0;n<e;++n)a[n]=n;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n?n:t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],n=2;n<e;++n){for(var l=a[n],u=t[l],c=o.length;c>1&&i(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&i(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),h=0,n=0,f=o.length;n<f;++n)r[h++]=o[n];for(var d=s.length-2;d>0;--d)r[h++]=s[d];return r}e.exports=n;var i=t(\"robust-orientation\")[3]},{\"robust-orientation\":465}],413:[function(t,e,r){\"use strict\";function n(t,e){function r(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==g.alt,g.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==g.shift,g.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==g.control,g.control=!!t.ctrlKey),\n\"metaKey\"in t&&(e=e||t.metaKey!==g.meta,g.meta=!!t.metaKey),e}function n(t,n){var a=i.x(n),o=i.y(n);\"buttons\"in n&&(t=0|n.buttons),(t!==f||a!==d||o!==p||r(n))&&(f=0|t,d=a||0,p=o||0,e&&e(f,d,p,g))}function a(t){n(0,t)}function o(){(f||d||p||g.shift||g.alt||g.meta||g.control)&&(d=p=0,f=0,g.shift=g.alt=g.control=g.meta=!1,e&&e(0,0,0,g))}function s(t){r(t)&&e&&e(f,d,p,g)}function l(t){0===i.buttons(t)?n(0,t):n(f,t)}function u(t){n(f|i.buttons(t),t)}function c(t){n(f&~i.buttons(t),t)}function h(){m||(m=!0,t.addEventListener(\"mousemove\",l),t.addEventListener(\"mousedown\",u),t.addEventListener(\"mouseup\",c),t.addEventListener(\"mouseleave\",a),t.addEventListener(\"mouseenter\",a),t.addEventListener(\"mouseout\",a),t.addEventListener(\"mouseover\",a),t.addEventListener(\"blur\",o),t.addEventListener(\"keyup\",s),t.addEventListener(\"keydown\",s),t.addEventListener(\"keypress\",s),t!==window&&(window.addEventListener(\"blur\",o),window.addEventListener(\"keyup\",s),window.addEventListener(\"keydown\",s),window.addEventListener(\"keypress\",s)))}e||(e=t,t=window);var f=0,d=0,p=0,g={shift:!1,alt:!1,control:!1,meta:!1},m=!1;h();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return m},set:function(t){t&&h()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return d},enumerable:!0},y:{get:function(){return p},enumerable:!0},mods:{get:function(){return g},enumerable:!0}}),v}e.exports=n;var i=t(\"mouse-event\")},{\"mouse-event\":414}],414:[function(t,e,r){\"use strict\";function n(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){var e=t.which;if(2===e)return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\"button\"in t){var e=t.button;if(1===e)return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0}function i(t){return t.target||t.srcElement||window}function a(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=i(t),r=e.getBoundingClientRect();return t.clientX-r.left}return 0}function o(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=i(t),r=e.getBoundingClientRect();return t.clientY-r.top}return 0}r.buttons=n,r.element=i,r.x=a,r.y=o},{}],415:[function(t,e,r){\"use strict\";function n(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var n=i(\"ex\",t),a=function(t){r&&t.preventDefault();var i=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=n;break;case 2:l=window.innerHeight}if(i*=l,a*=l,o*=l,i||a||o)return e(i,a,o,t)};return t.addEventListener(\"wheel\",a),a}var i=t(\"to-px\");e.exports=n},{\"to-px\":490}],416:[function(t,e,r){\"use strict\";function n(t){return\"a\"+t}function i(t){return\"d\"+t}function a(t,e){return\"c\"+t+\"_\"+e}function o(t){return\"s\"+t}function s(t,e){return\"t\"+t+\"_\"+e}function l(t){return\"o\"+t}function u(t){return\"x\"+t}function c(t){return\"p\"+t}function h(t,e){return\"d\"+t+\"_\"+e}function f(t){return\"i\"+t}function d(t,e){return\"u\"+t+\"_\"+e}function p(t){return\"b\"+t}function g(t){return\"y\"+t}function m(t){return\"e\"+t}function v(t){return\"v\"+t}function y(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}function x(t,e,r,x,b,S){function L(t,e){j.push(\"for(\",f(b[t]),\"=\",e,\";\",f(b[t]),\"<\",o(b[t]),\";\",\"++\",f(b[t]),\"){\")}function z(t){for(var e=0;e<O;++e)j.push(c(e),\"+=\",d(e,b[t]),\";\");j.push(\"}\")}function C(t){for(var e=t-1;e>=0;--e)L(e,0);for(var r=[],e=0;e<O;++e)S[e]?r.push(i(e)+\".get(\"+c(e)+\")\"):r.push(i(e)+\"[\"+c(e)+\"]\");for(var e=0;e<x;++e)r.push(u(e));j.push(M,\"[\",T,\"++]=phase(\",r.join(),\");\");for(var e=0;e<t;++e)z(e);for(var n=0;n<O;++n)j.push(c(n),\"+=\",d(n,b[t]),\";\")}function I(t){for(var e=0;e<O;++e)S[e]?j.push(a(e,0),\"=\",i(e),\".get(\",c(e),\");\"):j.push(a(e,0),\"=\",i(e),\"[\",c(e),\"];\");for(var r=[],e=0;e<O;++e)r.push(a(e,0));for(var e=0;e<x;++e)r.push(u(e));j.push(p(0),\"=\",M,\"[\",T,\"]=phase(\",r.join(),\");\");for(var n=1;n<1<<R;++n)j.push(p(n),\"=\",M,\"[\",T,\"+\",m(n),\"];\");for(var o=[],n=1;n<1<<R;++n)o.push(\"(\"+p(0)+\"!==\"+p(n)+\")\");j.push(\"if(\",o.join(\"||\"),\"){\");for(var s=[],e=0;e<R;++e)s.push(f(e));for(var e=0;e<O;++e){s.push(a(e,0));for(var n=1;n<1<<R;++n)S[e]?j.push(a(e,n),\"=\",i(e),\".get(\",c(e),\"+\",h(e,n),\");\"):j.push(a(e,n),\"=\",i(e),\"[\",c(e),\"+\",h(e,n),\"];\"),s.push(a(e,n))}for(var e=0;e<1<<R;++e)s.push(p(e));for(var e=0;e<x;++e)s.push(u(e));j.push(\"vertex(\",s.join(),\");\",v(0),\"=\",w,\"[\",T,\"]=\",A,\"++;\");for(var l=(1<<R)-1,d=p(l),n=0;n<R;++n)if(0===(t&~(1<<n))){for(var g=l^1<<n,y=p(g),b=[],_=g;_>0;_=_-1&g)b.push(w+\"[\"+T+\"+\"+m(_)+\"]\");b.push(v(0));for(var _=0;_<O;++_)1&n?b.push(a(_,l),a(_,g)):b.push(a(_,g),a(_,l));1&n?b.push(d,y):b.push(y,d);for(var _=0;_<x;++_)b.push(u(_));j.push(\"if(\",d,\"!==\",y,\"){\",\"face(\",b.join(),\")}\")}j.push(\"}\",T,\"+=1;\")}function P(){for(var t=1;t<1<<R;++t)j.push(E,\"=\",m(t),\";\",m(t),\"=\",g(t),\";\",g(t),\"=\",E,\";\")}function D(t,e){if(t<0)return void I(e);C(t),j.push(\"if(\",o(b[t]),\">0){\",f(b[t]),\"=1;\"),D(t-1,e|1<<b[t]);for(var r=0;r<O;++r)j.push(c(r),\"+=\",d(r,b[t]),\";\");t===R-1&&(j.push(T,\"=0;\"),P()),L(t,2),D(t-1,e),t===R-1&&(j.push(\"if(\",f(b[R-1]),\"&1){\",T,\"=0;}\"),P()),z(t),j.push(\"}\")}var O=S.length,R=b.length;if(R<2)throw new Error(\"ndarray-extract-contour: Dimension must be at least 2\");for(var F=\"extractContour\"+b.join(\"_\"),j=[],N=[],B=[],U=0;U<O;++U)B.push(n(U));for(var U=0;U<x;++U)B.push(u(U));for(var U=0;U<R;++U)N.push(o(U)+\"=\"+n(0)+\".shape[\"+U+\"]|0\");for(var U=0;U<O;++U){N.push(i(U)+\"=\"+n(U)+\".data\",l(U)+\"=\"+n(U)+\".offset|0\");for(var V=0;V<R;++V)N.push(s(U,V)+\"=\"+n(U)+\".stride[\"+V+\"]|0\")}for(var U=0;U<O;++U){N.push(c(U)+\"=\"+l(U)),N.push(a(U,0));for(var V=1;V<1<<R;++V){for(var q=[],H=0;H<R;++H)V&1<<H&&q.push(\"-\"+s(U,H));N.push(h(U,V)+\"=(\"+q.join(\"\")+\")|0\"),N.push(a(U,V)+\"=0\")}}for(var U=0;U<O;++U)for(var V=0;V<R;++V){var G=[s(U,b[V])];V>0&&G.push(s(U,b[V-1])+\"*\"+o(b[V-1])),N.push(d(U,b[V])+\"=(\"+G.join(\"-\")+\")|0\")}for(var U=0;U<R;++U)N.push(f(U)+\"=0\");N.push(A+\"=0\");for(var X=[\"2\"],U=R-2;U>=0;--U)X.push(o(b[U]));N.push(k+\"=(\"+X.join(\"*\")+\")|0\",M+\"=mallocUint32(\"+k+\")\",w+\"=mallocUint32(\"+k+\")\",T+\"=0\"),N.push(p(0)+\"=0\");for(var V=1;V<1<<R;++V){for(var Y=[],W=[],H=0;H<R;++H)V&1<<H&&(0===W.length?Y.push(\"1\"):Y.unshift(W.join(\"*\"))),W.push(o(b[H]));var Z=\"\";Y[0].indexOf(o(b[R-2]))<0&&(Z=\"-\");var Q=y(R,V,b);N.push(m(Q)+\"=(-\"+Y.join(\"-\")+\")|0\",g(Q)+\"=(\"+Z+Y.join(\"-\")+\")|0\",p(Q)+\"=0\")}N.push(v(0)+\"=0\",E+\"=0\"),D(R-1,0),j.push(\"freeUint32(\",w,\");freeUint32(\",M,\");\");var K=[\"'use strict';\",\"function \",F,\"(\",B.join(),\"){\",\"var \",N.join(),\";\",j.join(\"\"),\"}\",\"return \",F].join(\"\"),$=new Function(\"vertex\",\"face\",\"phase\",\"mallocUint32\",\"freeUint32\",K);return $(t,e,r,_.mallocUint32,_.freeUint32)}function b(t){function e(t){throw new Error(\"ndarray-extract-contour: \"+t)}\"object\"!=typeof t&&e(\"Must specify arguments\");var r=t.order;Array.isArray(r)||e(\"Must specify order\");var n=t.arrayArguments||1;n<1&&e(\"Must have at least one array argument\");var i=t.scalarArguments||0;i<0&&e(\"Scalar arg count must be > 0\"),\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\"),\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\"),\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var a=t.getters||[],o=new Array(n),s=0;s<n;++s)a.indexOf(s)>=0?o[s]=!0:o[s]=!1;return x(t.vertex,t.cell,t.phase,i,r,o)}var _=t(\"typedarray-pool\");e.exports=b;var w=\"V\",M=\"P\",A=\"N\",k=\"Q\",T=\"X\",E=\"T\"},{\"typedarray-pool\":496}],417:[function(t,e,r){\"use strict\";var n=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"cwise\",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{\"cwise/lib/wrapper\":94}],418:[function(t,e,r){\"use strict\";function n(t){if(t in l)return l[t];for(var e=[],r=0;r<t;++r)e.push(\"out\",r,\"s=0.5*(inp\",r,\"l-inp\",r,\"r);\");for(var n=[\"array\"],i=[\"junk\"],r=0;r<t;++r){n.push(\"array\"),i.push(\"out\"+r+\"s\");var a=o(t);a[r]=-1,n.push({array:0,offset:a.slice()}),a[r]=1,n.push({array:0,offset:a.slice()}),i.push(\"inp\"+r+\"l\",\"inp\"+r+\"r\")}return l[t]=s({args:n,pre:c,post:c,body:{body:e.join(\"\"),args:i.map(function(t){return{name:t,lvalue:0===t.indexOf(\"out\"),rvalue:0===t.indexOf(\"inp\"),count:\"junk\"!==t|0}}),thisVars:[],localVars:[]},funcName:\"fdTemplate\"+t})}function i(t){function e(e){for(var r=a-e.length,n=[],i=[],s=[],l=0;l<a;++l)e.indexOf(l+1)>=0?s.push(\"0\"):e.indexOf(-(l+1))>=0?s.push(\"s[\"+l+\"]-1\"):(s.push(\"-1\"),n.push(\"1\"),i.push(\"s[\"+l+\"]-2\"));var u=\".lo(\"+n.join()+\").hi(\"+i.join()+\")\";if(0===n.length&&(u=\"\"),r>0){o.push(\"if(1\");for(var l=0;l<a;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||o.push(\"&&s[\",l,\"]>2\");o.push(\"){grad\",r,\"(src.pick(\",s.join(),\")\",u);for(var l=0;l<a;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||o.push(\",dst.pick(\",s.join(),\",\",l,\")\",u);o.push(\");\")}for(var l=0;l<e.length;++l){var c=Math.abs(e[l])-1,h=\"dst.pick(\"+s.join()+\",\"+c+\")\"+u;switch(t[c]){case\"clamp\":var f=s.slice(),d=s.slice();e[l]<0?f[c]=\"s[\"+c+\"]-2\":d[c]=\"1\",0===r?o.push(\"if(s[\",c,\"]>1){dst.set(\",s.join(),\",\",c,\",0.5*(src.get(\",f.join(),\")-src.get(\",d.join(),\")))}else{dst.set(\",s.join(),\",\",c,\",0)};\"):o.push(\"if(s[\",c,\"]>1){diff(\",h,\",src.pick(\",f.join(),\")\",u,\",src.pick(\",d.join(),\")\",u,\");}else{zero(\",h,\");};\");break;case\"mirror\":0===r?o.push(\"dst.set(\",s.join(),\",\",c,\",0);\"):o.push(\"zero(\",h,\");\");break;case\"wrap\":var p=s.slice(),g=s.slice();e[l]<0?(p[c]=\"s[\"+c+\"]-2\",g[c]=\"0\"):(p[c]=\"s[\"+c+\"]-1\",g[c]=\"1\"),0===r?o.push(\"if(s[\",c,\"]>2){dst.set(\",s.join(),\",\",c,\",0.5*(src.get(\",p.join(),\")-src.get(\",g.join(),\")))}else{dst.set(\",s.join(),\",\",c,\",0)};\"):o.push(\"if(s[\",c,\"]>2){diff(\",h,\",src.pick(\",p.join(),\")\",u,\",src.pick(\",g.join(),\")\",u,\");}else{zero(\",h,\");};\");break;default:throw new Error(\"ndarray-gradient: Invalid boundary condition\")}}r>0&&o.push(\"};\")}var r=t.join(),i=u[r];if(i)return i;for(var a=t.length,o=[\"function gradient(dst,src){var s=src.shape.slice();\"],s=0;s<1<<a;++s){for(var c=[],d=0;d<a;++d)s&1<<d&&c.push(d+1);for(var p=0;p<1<<c.length;++p){for(var g=c.slice(),d=0;d<c.length;++d)p&1<<d&&(g[d]=-g[d]);e(g)}}o.push(\"return dst;};return gradient\");for(var m=[\"diff\",\"zero\"],v=[h,f],s=1;s<=a;++s)m.push(\"grad\"+s),v.push(n(s));m.push(o.join(\"\"));var y=Function.apply(void 0,m),i=y.apply(void 0,v);return l[r]=i,i}function a(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\"ndarray-gradient: invalid boundary conditions\")}else r=\"string\"==typeof r?o(e.dimension,r):o(e.dimension,\"clamp\");if(t.dimension!==e.dimension+1)throw new Error(\"ndarray-gradient: output dimension must be +1 input dimension\");if(t.shape[e.dimension]!==e.dimension)throw new Error(\"ndarray-gradient: output shape must match input shape\");for(var n=0;n<e.dimension;++n)if(t.shape[n]!==e.shape[n])throw new Error(\"ndarray-gradient: shape mismatch\");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;var a=i(r);return a(t,e)}e.exports=a;var o=t(\"dup\"),s=t(\"cwise-compiler\"),l={},u={},c={body:\"\",args:[],thisVars:[],localVars:[]},h=s({args:[\"array\",\"array\",\"array\"],pre:c,post:c,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1},{name:\"left\",lvalue:!1,rvalue:!0,count:1},{name:\"right\",lvalue:!1,rvalue:!0,count:1}],body:\"out=0.5*(left-right)\",thisVars:[],localVars:[]},funcName:\"cdiff\"}),f=s({args:[\"array\"],pre:c,post:c,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1}],body:\"out=0\",thisVars:[],localVars:[]},funcName:\"zero\"})},{\"cwise-compiler\":91,dup:98}],419:[function(t,e,r){\"use strict\";function n(t,e,r){var n=e.dimension,o=a([],r);return i(t,e,function(t,e){for(var r=0;r<n;++r){t[r]=o[(n+1)*n+r];for(var i=0;i<n;++i)t[r]+=o[(n+1)*i+r]*e[i]}for(var a=o[(n+1)*(n+1)-1],i=0;i<n;++i)a+=o[(n+1)*i+n]*e[i];for(var s=1/a,r=0;r<n;++r)t[r]*=s;return t}),t}var i=t(\"ndarray-warp\"),a=t(\"gl-matrix-invert\");e.exports=n},{\"gl-matrix-invert\":160,\"ndarray-warp\":426}],420:[function(t,e,r){\"use strict\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0],o=i?+t.get(r):0,s=a?+t.get(r+1):0;return(1-n)*o+n*s}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,u=0<=s&&s<t.shape[1],c=0<=s+1&&s+1<t.shape[1],h=a&&u?t.get(n,s):0,f=a&&c?t.get(n,s+1):0,d=o&&u?t.get(n+1,s):0,p=o&&c?t.get(n+1,s+1):0;return(1-l)*((1-i)*h+i*d)+l*((1-i)*f+i*p)}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),u=r-l,c=0<=l&&l<t.shape[1],h=0<=l+1&&l+1<t.shape[1],f=Math.floor(n),d=n-f,p=0<=f&&f<t.shape[2],g=0<=f+1&&f+1<t.shape[2],m=o&&c&&p?t.get(i,l,f):0,v=o&&h&&p?t.get(i,l+1,f):0,y=s&&c&&p?t.get(i+1,l,f):0,x=s&&h&&p?t.get(i+1,l+1,f):0,b=o&&c&&g?t.get(i,l,f+1):0,_=o&&h&&g?t.get(i,l+1,f+1):0,w=s&&c&&g?t.get(i+1,l,f+1):0,M=s&&h&&g?t.get(i+1,l+1,f+1):0;return(1-d)*((1-u)*((1-a)*m+a*y)+u*((1-a)*v+a*x))+d*((1-u)*((1-a)*b+a*w)+u*((1-a)*_+a*M))}function o(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,u,c,h=0;t:for(e=0;e<1<<n;++e){for(u=1,c=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;u*=a[l],c+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;u*=1-a[l],c+=t.stride[l]*i[l]}h+=u*t.data[c]}return h}function s(t,e,r,s){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,s);default:return o.apply(void 0,arguments)}}e.exports=s,e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],421:[function(t,e,r){\"use strict\";function n(t){if(!t)return s;for(var e=0;e<t.args.length;++e){var r=t.args[e];0===e?t.args[e]={name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:t.args[e]={name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function i(t){return o({args:t.args,pre:n(t.pre),body:n(t.body),post:n(t.proc),funcName:t.funcName})}function a(t){for(var e=[],r=0;r<t.args.length;++r)e.push(\"a\"+r);var n=new Function(\"P\",[\"return function \",t.funcName,\"_ndarrayops(\",e.join(\",\"),\") {P(\",e.join(\",\"),\");return a0}\"].join(\"\"));return n(i(t))}var o=t(\"cwise-compiler\"),s={body:\"\",args:[],thisVars:[],localVars:[]},l={add:\"+\",sub:\"-\",mul:\"*\",div:\"/\",mod:\"%\",band:\"&\",bor:\"|\",bxor:\"^\",lshift:\"<<\",rshift:\">>\",rrshift:\">>>\"};!function(){for(var t in l){var e=l[t];r[t]=a({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"eq\"]=a({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a\"+e+\"=b\"},rvalue:!0,funcName:t+\"eq\"}),r[t+\"s\"]=a({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"seq\"]=a({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a\"+e+\"=s\"},rvalue:!0,funcName:t+\"seq\"})}}();var u={not:\"!\",bnot:\"~\",neg:\"-\",recip:\"1.0/\"};!function(){for(var t in u){var e=u[t];r[t]=a({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=\"+e+\"b\"},funcName:t}),r[t+\"eq\"]=a({args:[\"array\"],body:{args:[\"a\"],body:\"a=\"+e+\"a\"},rvalue:!0,count:2,funcName:t+\"eq\"})}}();var c={and:\"&&\",or:\"||\",eq:\"===\",neq:\"!==\",lt:\"<\",gt:\">\",leq:\"<=\",geq:\">=\"};!function(){for(var t in c){var e=c[t];r[t]=a({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"s\"]=a({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"eq\"]=a({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=a\"+e+\"b\"},rvalue:!0,count:2,funcName:t+\"eq\"}),r[t+\"seq\"]=a({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a=a\"+e+\"s\"},rvalue:!0,count:2,funcName:t+\"seq\"})}}();var h=[\"abs\",\"acos\",\"asin\",\"atan\",\"ceil\",\"cos\",\"exp\",\"floor\",\"log\",\"round\",\"sin\",\"sqrt\",\"tan\"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=a({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"eq\"]=a({args:[\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f(a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"})}}();var f=[\"max\",\"min\",\"atan2\",\"pow\"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=a({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"s\"]=a({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e+\"s\"}),r[e+\"eq\"]=a({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"}),r[e+\"seq\"]=a({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"seq\"})}}();var d=[\"atan2\",\"pow\"];!function(){for(var t=0;t<d.length;++t){var e=d[t];r[e+\"op\"]=a({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"op\"}),r[e+\"ops\"]=a({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"ops\"}),r[e+\"opeq\"]=a({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opeq\"}),r[e+\"opseq\"]=a({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opseq\"})}}(),r.any=o({args:[\"array\"],pre:s,body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"if(a){return true}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return false\"},funcName:\"any\"}),r.all=o({args:[\"array\"],pre:s,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1}],body:\"if(!x){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"all\"}),r.sum=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s+=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"sum\"}),r.prod=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=1\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s*=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"prod\"}),r.norm2squared=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm2squared\"}),r.norm2=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return Math.sqrt(this_s)\"},funcName:\"norm2\"}),r.norminf=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:4}],body:\"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norminf\"}),r.norm1=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:3}],body:\"this_s+=a<0?-a:a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm1\"}),r.sup=o({args:[\"array\"],pre:{body:\"this_h=-Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.inf=o({args:[\"array\"],pre:{body:\"this_h=Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.argmin=o({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.argmax=o({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.random=a({args:[\"array\"],pre:{args:[],body:\"this_f=Math.random\",thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f()\",thisVars:[\"this_f\"]},funcName:\"random\"}),r.assign=a({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assign\"}),r.assigns=a({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assigns\"}),r.equals=o({args:[\"array\",\"array\"],pre:s,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1},{name:\"y\",lvalue:!1,rvalue:!0,count:1}],body:\"if(x!==y){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"equals\"})},{\"cwise-compiler\":91}],422:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),i=t(\"./doConvert.js\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\"./doConvert.js\":423,ndarray:427}],423:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\\n}\\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\\n}\",args:[{name:\"_inline_1_arg0_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[\"_inline_1_i\",\"_inline_1_v\"]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},funcName:\"convert\",blockSize:64})},{\"cwise-compiler\":91}],424:[function(t,e,r){\"use strict\";function n(t){switch(t){case\"uint8\":return[l.mallocUint8,l.freeUint8];case\"uint16\":return[l.mallocUint16,l.freeUint16];case\"uint32\":return[l.mallocUint32,l.freeUint32];case\"int8\":return[l.mallocInt8,l.freeInt8];case\"int16\":return[l.mallocInt16,l.freeInt16];case\"int32\":return[l.mallocInt32,l.freeInt32];case\"float32\":return[l.mallocFloat,l.freeFloat];case\"float64\":return[l.mallocDouble,l.freeDouble];default:return null}}function i(t){for(var e=[],r=0;r<t;++r)e.push(\"s\"+r);for(var r=0;r<t;++r)e.push(\"n\"+r);for(var r=1;r<t;++r)e.push(\"d\"+r);for(var r=1;r<t;++r)e.push(\"e\"+r);for(var r=1;r<t;++r)e.push(\"f\"+r);return e}function a(t,e){function r(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function a(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}var o=[\"'use strict'\"],s=[\"ndarrayInsertionSort\",t.join(\"d\"),e].join(\"\"),l=[\"left\",\"right\",\"data\",\"offset\"].concat(i(t.length)),u=n(e),c=[\"i,j,cptr,ptr=left*s0+offset\"];if(t.length>1){for(var h=[],f=1;f<t.length;++f)c.push(\"i\"+f),h.push(\"n\"+f);u?c.push(\"scratch=malloc(\"+h.join(\"*\")+\")\"):c.push(\"scratch=new Array(\"+h.join(\"*\")+\")\"),c.push(\"dptr\",\"sptr\",\"a\",\"b\")}else c.push(\"scratch\");if(o.push([\"function \",s,\"(\",l.join(\",\"),\"){var \",c.join(\",\")].join(\"\"),\"for(i=left+1;i<=right;++i){\",\"j=i;ptr+=s0\",\"cptr=ptr\"),t.length>1){o.push(\"dptr=0;sptr=ptr\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\"for(i\",d,\"=0;i\",d,\"<n\",d,\";++i\",d,\"){\"].join(\"\"))}o.push(\"scratch[dptr++]=\",r(\"sptr\"));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push(\"sptr+=d\"+d,\"}\")}o.push(\"__g:while(j-->left){\",\"dptr=0\",\"sptr=cptr-s0\");for(var f=1;f<t.length;++f)1===f&&o.push(\"__l:\"),o.push([\"for(i\",f,\"=0;i\",f,\"<n\",f,\";++i\",f,\"){\"].join(\"\"));o.push([\"a=\",r(\"sptr\"),\"\\nb=scratch[dptr]\\nif(a<b){break __g}\\nif(a>b){break __l}\"].join(\"\"));for(var f=t.length-1;f>=1;--f)o.push(\"sptr+=e\"+f,\"dptr+=f\"+f,\"}\");o.push(\"dptr=cptr;sptr=cptr-s0\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\"for(i\",d,\"=0;i\",d,\"<n\",d,\";++i\",d,\"){\"].join(\"\"))}o.push(a(\"dptr\",r(\"sptr\")));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push([\"dptr+=d\",d,\";sptr+=d\",d].join(\"\"),\"}\")}o.push(\"cptr-=s0\\n}\"),o.push(\"dptr=cptr;sptr=0\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\"for(i\",d,\"=0;i\",d,\"<n\",d,\";++i\",d,\"){\"].join(\"\"))}o.push(a(\"dptr\",\"scratch[sptr++]\"));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push(\"dptr+=d\"+d,\"}\")}}else o.push(\"scratch=\"+r(\"ptr\"),\"while((j-->left)&&(\"+r(\"cptr-s0\")+\">scratch)){\",a(\"cptr\",r(\"cptr-s0\")),\"cptr-=s0\",\"}\",a(\"cptr\",\"scratch\"));if(o.push(\"}\"),t.length>1&&u&&o.push(\"free(scratch)\"),o.push(\"} return \"+s),u){var p=new Function(\"malloc\",\"free\",o.join(\"\\n\"));return p(u[0],u[1])}var p=new Function(o.join(\"\\n\"));return p()}function o(t,e,r){function a(t){return[\"(offset+\",t,\"*s0)\"].join(\"\")}function o(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function s(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}function l(e,r,n){if(1===e.length)_.push(\"ptr0=\"+a(e[0]));else for(var i=0;i<e.length;++i)_.push([\"b_ptr\",i,\"=s0*\",e[i]].join(\"\"));r&&_.push(\"pivot_ptr=0\"),_.push(\"ptr_shift=offset\");for(var i=t.length-1;i>=0;--i){var o=t[i];0!==o&&_.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"))}if(e.length>1)for(var i=0;i<e.length;++i)_.push([\"ptr\",i,\"=b_ptr\",i,\"+ptr_shift\"].join(\"\"));_.push(n),r&&_.push(\"++pivot_ptr\");for(var i=0;i<t.length;++i){var o=t[i];0!==o&&(e.length>1?_.push(\"ptr_shift+=d\"+o):_.push(\"ptr0+=d\"+o),_.push(\"}\"))}}function c(e,r,n,i){if(1===r.length)_.push(\"ptr0=\"+a(r[0]));else{for(var o=0;o<r.length;++o)_.push([\"b_ptr\",o,\"=s0*\",r[o]].join(\"\"));_.push(\"ptr_shift=offset\")}n&&_.push(\"pivot_ptr=0\"),e&&_.push(e+\":\");for(var o=1;o<t.length;++o)_.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(r.length>1)for(var o=0;o<r.length;++o)_.push([\"ptr\",o,\"=b_ptr\",o,\"+ptr_shift\"].join(\"\"));_.push(i);for(var o=t.length-1;o>=1;--o)n&&_.push(\"pivot_ptr+=f\"+o),r.length>1?_.push(\"ptr_shift+=e\"+o):_.push(\"ptr0+=e\"+o),_.push(\"}\")}function h(){t.length>1&&A&&_.push(\"free(pivot1)\",\"free(pivot2)\")}function f(e,r){var n=\"el\"+e,i=\"el\"+r;if(t.length>1){var s=\"__l\"+ ++k;c(s,[n,i],!1,[\"comp=\",o(\"ptr0\"),\"-\",o(\"ptr1\"),\"\\n\",\"if(comp>0){tmp0=\",n,\";\",n,\"=\",i,\";\",i,\"=tmp0;break \",s,\"}\\n\",\"if(comp<0){break \",s,\"}\"].join(\"\"))}else _.push([\"if(\",o(a(n)),\">\",o(a(i)),\"){tmp0=\",n,\";\",n,\"=\",i,\";\",i,\"=tmp0}\"].join(\"\"))}function d(e,r){t.length>1?l([e,r],!1,s(\"ptr0\",o(\"ptr1\"))):_.push(s(a(e),o(a(r))))}function p(e,r,n){if(t.length>1){var i=\"__l\"+ ++k;c(i,[r],!0,[e,\"=\",o(\"ptr0\"),\"-pivot\",n,\"[pivot_ptr]\\n\",\"if(\",e,\"!==0){break \",i,\"}\"].join(\"\"))}else _.push([e,\"=\",o(a(r)),\"-pivot\",n].join(\"\"))}function g(e,r){t.length>1?l([e,r],!1,[\"tmp=\",o(\"ptr0\"),\"\\n\",s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",\"tmp\")].join(\"\")):_.push([\"ptr0=\",a(e),\"\\n\",\"ptr1=\",a(r),\"\\n\",\"tmp=\",o(\"ptr0\"),\"\\n\",s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",\"tmp\")].join(\"\"))}function m(e,r,n){t.length>1?(l([e,r,n],!1,[\"tmp=\",o(\"ptr0\"),\"\\n\",s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",o(\"ptr2\")),\"\\n\",s(\"ptr2\",\"tmp\")].join(\"\")),_.push(\"++\"+r,\"--\"+n)):_.push([\"ptr0=\",a(e),\"\\n\",\"ptr1=\",a(r),\"\\n\",\"ptr2=\",a(n),\"\\n\",\"++\",r,\"\\n\",\"--\",n,\"\\n\",\"tmp=\",o(\"ptr0\"),\"\\n\",s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",o(\"ptr2\")),\"\\n\",s(\"ptr2\",\"tmp\")].join(\"\"))}function v(t,e){g(t,e),_.push(\"--\"+e)}function y(e,r,n){t.length>1?l([e,r],!0,[s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",[\"pivot\",n,\"[pivot_ptr]\"].join(\"\"))].join(\"\")):_.push(s(a(e),o(a(r))),s(a(r),\"pivot\"+n))}function x(e,r){_.push([\"if((\",r,\"-\",e,\")<=\",u,\"){\\n\",\"insertionSort(\",e,\",\",r,\",data,offset,\",i(t.length).join(\",\"),\")\\n\",\"}else{\\n\",w,\"(\",e,\",\",r,\",data,offset,\",i(t.length).join(\",\"),\")\\n\",\"}\"].join(\"\"))}function b(e,r,n){t.length>1?(_.push([\"__l\",++k,\":while(true){\"].join(\"\")),l([e],!0,[\"if(\",o(\"ptr0\"),\"!==pivot\",r,\"[pivot_ptr]){break __l\",k,\"}\"].join(\"\")),_.push(n,\"}\")):_.push([\"while(\",o(a(e)),\"===pivot\",r,\"){\",n,\"}\"].join(\"\"))}var _=[\"'use strict'\"],w=[\"ndarrayQuickSort\",t.join(\"d\"),e].join(\"\"),M=[\"left\",\"right\",\"data\",\"offset\"].concat(i(t.length)),A=n(e),k=0;_.push([\"function \",w,\"(\",M.join(\",\"),\"){\"].join(\"\"));var T=[\"sixth=((right-left+1)/6)|0\",\"index1=left+sixth\",\"index5=right-sixth\",\"index3=(left+right)>>1\",\"index2=index3-sixth\",\"index4=index3+sixth\",\"el1=index1\",\"el2=index2\",\"el3=index3\",\"el4=index4\",\"el5=index5\",\"less=left+1\",\"great=right-1\",\"pivots_are_equal=true\",\"tmp\",\"tmp0\",\"x\",\"y\",\"z\",\"k\",\"ptr0\",\"ptr1\",\"ptr2\",\"comp_pivot1=0\",\"comp_pivot2=0\",\"comp=0\"];if(t.length>1){for(var E=[],S=1;S<t.length;++S)E.push(\"n\"+S),T.push(\"i\"+S);for(var S=0;S<8;++S)T.push(\"b_ptr\"+S);T.push(\"ptr3\",\"ptr4\",\"ptr5\",\"ptr6\",\"ptr7\",\"pivot_ptr\",\"ptr_shift\",\"elementSize=\"+E.join(\"*\")),A?T.push(\"pivot1=malloc(elementSize)\",\"pivot2=malloc(elementSize)\"):T.push(\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\")}else T.push(\"pivot1\",\"pivot2\");if(_.push(\"var \"+T.join(\",\")),f(1,2),f(4,5),f(1,3),f(2,3),f(1,4),f(3,4),f(2,5),f(2,3),f(4,5),t.length>1?l([\"el1\",\"el2\",\"el3\",\"el4\",\"el5\",\"index1\",\"index3\",\"index5\"],!0,[\"pivot1[pivot_ptr]=\",o(\"ptr1\"),\"\\n\",\"pivot2[pivot_ptr]=\",o(\"ptr3\"),\"\\n\",\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\n\",\"x=\",o(\"ptr0\"),\"\\n\",\"y=\",o(\"ptr2\"),\"\\n\",\"z=\",o(\"ptr4\"),\"\\n\",s(\"ptr5\",\"x\"),\"\\n\",s(\"ptr6\",\"y\"),\"\\n\",s(\"ptr7\",\"z\")].join(\"\")):_.push([\"pivot1=\",o(a(\"el2\")),\"\\n\",\"pivot2=\",o(a(\"el4\")),\"\\n\",\"pivots_are_equal=pivot1===pivot2\\n\",\"x=\",o(a(\"el1\")),\"\\n\",\"y=\",o(a(\"el3\")),\"\\n\",\"z=\",o(a(\"el5\")),\"\\n\",s(a(\"index1\"),\"x\"),\"\\n\",s(a(\"index3\"),\"y\"),\"\\n\",s(a(\"index5\"),\"z\")].join(\"\")),d(\"index2\",\"left\"),d(\"index4\",\"right\"),_.push(\"if(pivots_are_equal){\"),_.push(\"for(k=less;k<=great;++k){\"),p(\"comp\",\"k\",1),_.push(\"if(comp===0){continue}\"),_.push(\"if(comp<0){\"),_.push(\"if(k!==less){\"),g(\"k\",\"less\"),_.push(\"}\"),_.push(\"++less\"),_.push(\"}else{\"),_.push(\"while(true){\"),p(\"comp\",\"great\",1),_.push(\"if(comp>0){\"),_.push(\"great--\"),_.push(\"}else if(comp<0){\"),m(\"k\",\"less\",\"great\"),_.push(\"break\"),_.push(\"}else{\"),v(\"k\",\"great\"),_.push(\"break\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}else{\"),_.push(\"for(k=less;k<=great;++k){\"),p(\"comp_pivot1\",\"k\",1),_.push(\"if(comp_pivot1<0){\"),\n_.push(\"if(k!==less){\"),g(\"k\",\"less\"),_.push(\"}\"),_.push(\"++less\"),_.push(\"}else{\"),p(\"comp_pivot2\",\"k\",2),_.push(\"if(comp_pivot2>0){\"),_.push(\"while(true){\"),p(\"comp\",\"great\",2),_.push(\"if(comp>0){\"),_.push(\"if(--great<k){break}\"),_.push(\"continue\"),_.push(\"}else{\"),p(\"comp\",\"great\",1),_.push(\"if(comp<0){\"),m(\"k\",\"less\",\"great\"),_.push(\"}else{\"),v(\"k\",\"great\"),_.push(\"}\"),_.push(\"break\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),y(\"left\",\"(less-1)\",1),y(\"right\",\"(great+1)\",2),x(\"left\",\"(less-2)\"),x(\"(great+2)\",\"right\"),_.push(\"if(pivots_are_equal){\"),h(),_.push(\"return\"),_.push(\"}\"),_.push(\"if(less<index1&&great>index5){\"),b(\"less\",1,\"++less\"),b(\"great\",2,\"--great\"),_.push(\"for(k=less;k<=great;++k){\"),p(\"comp_pivot1\",\"k\",1),_.push(\"if(comp_pivot1===0){\"),_.push(\"if(k!==less){\"),g(\"k\",\"less\"),_.push(\"}\"),_.push(\"++less\"),_.push(\"}else{\"),p(\"comp_pivot2\",\"k\",2),_.push(\"if(comp_pivot2===0){\"),_.push(\"while(true){\"),p(\"comp\",\"great\",2),_.push(\"if(comp===0){\"),_.push(\"if(--great<k){break}\"),_.push(\"continue\"),_.push(\"}else{\"),p(\"comp\",\"great\",1),_.push(\"if(comp<0){\"),m(\"k\",\"less\",\"great\"),_.push(\"}else{\"),v(\"k\",\"great\"),_.push(\"}\"),_.push(\"break\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),h(),x(\"less\",\"great\"),_.push(\"}return \"+w),t.length>1&&A){var L=new Function(\"insertionSort\",\"malloc\",\"free\",_.join(\"\\n\"));return L(r,A[0],A[1])}var L=new Function(\"insertionSort\",_.join(\"\\n\"));return L(r)}function s(t,e){var r=[\"'use strict'\"],n=[\"ndarraySortWrapper\",t.join(\"d\"),e].join(\"\"),s=[\"array\"];r.push([\"function \",n,\"(\",s.join(\",\"),\"){\"].join(\"\"));for(var l=[\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\"],c=0;c<t.length;++c)l.push([\"s\",c,\"=stride[\",c,\"]|0,n\",c,\"=shape[\",c,\"]|0\"].join(\"\"));for(var h=new Array(t.length),f=[],c=0;c<t.length;++c){var d=t[c];0!==d&&(0===f.length?h[d]=\"1\":h[d]=f.join(\"*\"),f.push(\"n\"+d))}for(var p=-1,g=-1,c=0;c<t.length;++c){var m=t[c];0!==m&&(p>0?l.push([\"d\",m,\"=s\",m,\"-d\",p,\"*n\",p].join(\"\")):l.push([\"d\",m,\"=s\",m].join(\"\")),p=m);var d=t.length-1-c;0!==d&&(g>0?l.push([\"e\",d,\"=s\",d,\"-e\",g,\"*n\",g,\",f\",d,\"=\",h[d],\"-f\",g,\"*n\",g].join(\"\")):l.push([\"e\",d,\"=s\",d,\",f\",d,\"=\",h[d]].join(\"\")),g=d)}r.push(\"var \"+l.join(\",\"));var v=[\"0\",\"n0-1\",\"data\",\"offset\"].concat(i(t.length));r.push([\"if(n0<=\",u,\"){\",\"insertionSort(\",v.join(\",\"),\")}else{\",\"quickSort(\",v.join(\",\"),\")}\"].join(\"\")),r.push(\"}return \"+n);var y=new Function(\"insertionSort\",\"quickSort\",r.join(\"\\n\")),x=a(t,e),b=o(t,e,x);return y(x,b)}var l=t(\"typedarray-pool\"),u=32;e.exports=s},{\"typedarray-pool\":496}],425:[function(t,e,r){\"use strict\";function n(t){var e=t.order,r=t.dtype,n=[e,r],o=n.join(\":\"),s=a[o];return s||(a[o]=s=i(e,r)),s(t),t}var i=t(\"./lib/compile_sort.js\"),a={};e.exports=n},{\"./lib/compile_sort.js\":424}],426:[function(t,e,r){\"use strict\";var n=t(\"ndarray-linear-interpolate\"),i=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=new Array(_inline_9_arg4_)}\",args:[{name:\"_inline_9_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_9_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_9_arg2_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_9_arg3_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_9_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_.apply(void 0,this_warped)}\",args:[{name:\"_inline_10_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_10_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg4_\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warpND\",blockSize:64}),a=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0])}\",args:[{name:\"_inline_13_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_13_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp1D\",blockSize:64}),o=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_16_arg2_(this_warped,_inline_16_arg0_),_inline_16_arg1_=_inline_16_arg3_(_inline_16_arg4_,this_warped[0],this_warped[1])}\",args:[{name:\"_inline_16_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_16_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp2D\",blockSize:64}),s=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_19_arg2_(this_warped,_inline_19_arg0_),_inline_19_arg1_=_inline_19_arg3_(_inline_19_arg4_,this_warped[0],this_warped[1],this_warped[2])}\",args:[{name:\"_inline_19_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_19_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_19_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_19_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_19_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp3D\",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{\"cwise/lib/wrapper\":94,\"ndarray-linear-interpolate\":420}],427:[function(t,e,r){function n(t,e){return t[0]-e[0]}function i(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(n);var i=new Array(r.length);for(t=0;t<i.length;++t)i[t]=r[t][1];return i}function a(t,e){var r=[\"View\",e,\"d\",t].join(\"\");e<0&&(r=\"View_Nil\"+t);var n=\"generic\"===t;if(e===-1){var a=\"function \"+r+\"(a){this.data=a;};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new \"+r+\"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_\"+r+\"(a){return new \"+r+\"(a);}\",o=new Function(a);return o()}if(0===e){var a=\"function \"+r+\"(a,d) {this.data = a;this.offset = d};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function \"+r+\"_copy() {return new \"+r+\"(this.data,this.offset)};proto.pick=function \"+r+\"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function \"+r+\"_get(){return \"+(n?\"this.data.get(this.offset)\":\"this.data[this.offset]\")+\"};proto.set=function \"+r+\"_set(v){return \"+(n?\"this.data.set(this.offset,v)\":\"this.data[this.offset]=v\")+\"};return function construct_\"+r+\"(a,b,c,d){return new \"+r+\"(a,d)}\",o=new Function(\"TrivialArray\",a);return o(h[t][0])}var a=[\"'use strict'\"],s=l(e),u=s.map(function(t){return\"i\"+t}),c=\"this.offset+\"+s.map(function(t){return\"this.stride[\"+t+\"]*i\"+t}).join(\"+\"),f=s.map(function(t){return\"b\"+t}).join(\",\"),d=s.map(function(t){return\"c\"+t}).join(\",\");a.push(\"function \"+r+\"(a,\"+f+\",\"+d+\",d){this.data=a\",\"this.shape=[\"+f+\"]\",\"this.stride=[\"+d+\"]\",\"this.offset=d|0}\",\"var proto=\"+r+\".prototype\",\"proto.dtype='\"+t+\"'\",\"proto.dimension=\"+e),a.push(\"Object.defineProperty(proto,'size',{get:function \"+r+\"_size(){return \"+s.map(function(t){return\"this.shape[\"+t+\"]\"}).join(\"*\"),\"}})\"),1===e?a.push(\"proto.order=[0]\"):(a.push(\"Object.defineProperty(proto,'order',{get:\"),e<4?(a.push(\"function \"+r+\"_order(){\"),2===e?a.push(\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\"):3===e&&a.push(\"var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})\")):a.push(\"ORDER})\")),a.push(\"proto.set=function \"+r+\"_set(\"+u.join(\",\")+\",v){\"),n?a.push(\"return this.data.set(\"+c+\",v)}\"):a.push(\"return this.data[\"+c+\"]=v}\"),a.push(\"proto.get=function \"+r+\"_get(\"+u.join(\",\")+\"){\"),n?a.push(\"return this.data.get(\"+c+\")}\"):a.push(\"return this.data[\"+c+\"]}\"),a.push(\"proto.index=function \"+r+\"_index(\",u.join(),\"){return \"+c+\"}\"),a.push(\"proto.hi=function \"+r+\"_hi(\"+u.join(\",\")+\"){return new \"+r+\"(this.data,\"+s.map(function(t){return[\"(typeof i\",t,\"!=='number'||i\",t,\"<0)?this.shape[\",t,\"]:i\",t,\"|0\"].join(\"\")}).join(\",\")+\",\"+s.map(function(t){return\"this.stride[\"+t+\"]\"}).join(\",\")+\",this.offset)}\");var p=s.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}),g=s.map(function(t){return\"c\"+t+\"=this.stride[\"+t+\"]\"});a.push(\"proto.lo=function \"+r+\"_lo(\"+u.join(\",\")+\"){var b=this.offset,d=0,\"+p.join(\",\")+\",\"+g.join(\",\"));for(var m=0;m<e;++m)a.push(\"if(typeof i\"+m+\"==='number'&&i\"+m+\">=0){d=i\"+m+\"|0;b+=c\"+m+\"*d;a\"+m+\"-=d}\");a.push(\"return new \"+r+\"(this.data,\"+s.map(function(t){return\"a\"+t}).join(\",\")+\",\"+s.map(function(t){return\"c\"+t}).join(\",\")+\",b)}\"),a.push(\"proto.step=function \"+r+\"_step(\"+u.join(\",\")+\"){var \"+s.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}).join(\",\")+\",\"+s.map(function(t){return\"b\"+t+\"=this.stride[\"+t+\"]\"}).join(\",\")+\",c=this.offset,d=0,ceil=Math.ceil\");for(var m=0;m<e;++m)a.push(\"if(typeof i\"+m+\"==='number'){d=i\"+m+\"|0;if(d<0){c+=b\"+m+\"*(a\"+m+\"-1);a\"+m+\"=ceil(-a\"+m+\"/d)}else{a\"+m+\"=ceil(a\"+m+\"/d)}b\"+m+\"*=d}\");a.push(\"return new \"+r+\"(this.data,\"+s.map(function(t){return\"a\"+t}).join(\",\")+\",\"+s.map(function(t){return\"b\"+t}).join(\",\")+\",c)}\");for(var v=new Array(e),y=new Array(e),m=0;m<e;++m)v[m]=\"a[i\"+m+\"]\",y[m]=\"b[i\"+m+\"]\";a.push(\"proto.transpose=function \"+r+\"_transpose(\"+u+\"){\"+u.map(function(t,e){return t+\"=(\"+t+\"===undefined?\"+e+\":\"+t+\"|0)\"}).join(\";\"),\"var a=this.shape,b=this.stride;return new \"+r+\"(this.data,\"+v.join(\",\")+\",\"+y.join(\",\")+\",this.offset)}\"),a.push(\"proto.pick=function \"+r+\"_pick(\"+u+\"){var a=[],b=[],c=this.offset\");for(var m=0;m<e;++m)a.push(\"if(typeof i\"+m+\"==='number'&&i\"+m+\">=0){c=(c+this.stride[\"+m+\"]*i\"+m+\")|0}else{a.push(this.shape[\"+m+\"]);b.push(this.stride[\"+m+\"])}\");a.push(\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\"),a.push(\"return function construct_\"+r+\"(data,shape,stride,offset){return new \"+r+\"(data,\"+s.map(function(t){return\"shape[\"+t+\"]\"}).join(\",\")+\",\"+s.map(function(t){return\"stride[\"+t+\"]\"}).join(\",\")+\",offset)}\");var o=new Function(\"CTOR_LIST\",\"ORDER\",a.join(\"\\n\"));return o(h[t],i)}function o(t){if(u(t))return\"buffer\";if(c)switch(Object.prototype.toString.call(t)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\"}return Array.isArray(t)?\"array\":\"generic\"}function s(t,e,r,n){if(void 0===t){var i=h.array[0];return i([])}\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var s=e.length;if(void 0===r){r=new Array(s);for(var l=s-1,u=1;l>=0;--l)r[l]=u,u*=e[l]}if(void 0===n){n=0;for(var l=0;l<s;++l)r[l]<0&&(n-=(e[l]-1)*r[l])}for(var c=o(t),f=h[c];f.length<=s+1;)f.push(a(c,f.length-1));var i=f[s+1];return i(t,e,r,n)}var l=t(\"iota-array\"),u=t(\"is-buffer\"),c=\"undefined\"!=typeof Float64Array,h={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=s},{\"iota-array\":257,\"is-buffer\":258}],428:[function(t,e,r){\"use strict\";function n(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=i.hi(t),n=i.lo(t);return e>t==t>0?n===o?(r+=1,n=0):n+=1:0===n?(n=o,r-=1):n-=1,i.pack(n,r)}var i=t(\"double-bits\"),a=Math.pow(2,-1074),o=-1>>>0;e.exports=n},{\"double-bits\":97}],429:[function(t,e,r){var n=1e-6,i=1e-6;r.vertexNormals=function(t,e,r){for(var i=e.length,a=new Array(i),o=void 0===r?n:r,s=0;s<i;++s)a[s]=[0,0,0];for(var s=0;s<t.length;++s)for(var l=t[s],u=0,c=l[l.length-1],h=l[0],f=0;f<l.length;++f){u=c,c=h,h=l[(f+1)%l.length];for(var d=e[u],p=e[c],g=e[h],m=new Array(3),v=0,y=new Array(3),x=0,b=0;b<3;++b)m[b]=d[b]-p[b],v+=m[b]*m[b],y[b]=g[b]-p[b],x+=y[b]*y[b];if(v*x>o)for(var _=a[c],w=1/Math.sqrt(v*x),b=0;b<3;++b){var M=(b+1)%3,A=(b+2)%3;_[b]+=w*(y[M]*m[A]-y[A]*m[M])}}for(var s=0;s<i;++s){for(var _=a[s],k=0,b=0;b<3;++b)k+=_[b]*_[b];if(k>o)for(var w=1/Math.sqrt(k),b=0;b<3;++b)_[b]*=w;else for(var b=0;b<3;++b)_[b]=0}return a},r.faceNormals=function(t,e,r){for(var n=t.length,a=new Array(n),o=void 0===r?i:r,s=0;s<n;++s){for(var l=t[s],u=new Array(3),c=0;c<3;++c)u[c]=e[l[c]];for(var h=new Array(3),f=new Array(3),c=0;c<3;++c)h[c]=u[1][c]-u[0][c],f[c]=u[2][c]-u[0][c];for(var d=new Array(3),p=0,c=0;c<3;++c){var g=(c+1)%3,m=(c+2)%3;d[c]=h[g]*f[m]-h[m]*f[g],p+=d[c]*d[c]}p=p>o?1/Math.sqrt(p):0;for(var c=0;c<3;++c)d[c]*=p;a[s]=d}return a}},{}],430:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(h>0){var h=Math.sqrt(c+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,u),h=Math.sqrt(2*f-c+1);e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-i)/h)}return t}e.exports=n},{}],431:[function(t,e,r){\"use strict\";function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function a(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],s=i(r,n,a,o);s>1e-6?(t[0]=r/s,t[1]=n/s,t[2]=a/s,t[3]=o/s):(t[0]=t[1]=t[2]=0,t[3]=1)}function o(t,e,r){this.radius=l([r]),this.center=l(e),this.rotation=l(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}function s(t){t=t||{};var e=t.center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),r=[].slice.call(r,0,4),a(r,r);var i=new o(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up),i}e.exports=s;var l=t(\"filtered-vector\"),u=t(\"gl-mat4/lookAt\"),c=t(\"gl-mat4/fromQuat\"),h=t(\"gl-mat4/invert\"),f=t(\"./lib/quatFromFrame\"),d=o.prototype;d.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},d.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;a(e,e);var r=this.computedMatrix;c(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,h=0;h<3;++h)u+=r[l+4*h]*i[h];r[12+l]=-u}},d.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},d.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},d.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},d.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=a[1],s=a[5],l=a[9],u=n(o,s,l);o/=u,s/=u,l/=u;var c=a[0],h=a[4],f=a[8],d=c*o+h*s+f*l;c-=o*d,h-=s*d,f-=l*d;var p=n(c,h,f);c/=p,h/=p,f/=p;var g=a[2],m=a[6],v=a[10],y=g*o+m*s+v*l,x=g*c+m*h+v*f;g-=y*o+x*c,m-=y*s+x*h,v-=y*l+x*f;var b=n(g,m,v);g/=b,m/=b,v/=b;var _=c*e+o*r,w=h*e+s*r,M=f*e+l*r;this.center.move(t,_,w,M);var A=Math.exp(this.computedRadius[0]);A=Math.max(1e-4,A+i),this.radius.set(t,Math.log(A))},d.rotate=function(t,e,r,a){this.recalcMatrix(t),e=e||0,r=r||0;var o=this.computedMatrix,s=o[0],l=o[4],u=o[8],c=o[1],h=o[5],f=o[9],d=o[2],p=o[6],g=o[10],m=e*s+r*c,v=e*l+r*h,y=e*u+r*f,x=-(p*y-g*v),b=-(g*m-d*y),_=-(d*v-p*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),M=i(x,b,_,w);M>1e-6?(x/=M,b/=M,_/=M,w/=M):(x=b=_=0,w=1);var A=this.computedRotation,k=A[0],T=A[1],E=A[2],S=A[3],L=k*w+S*x+T*_-E*b,z=T*w+S*b+E*x-k*_,C=E*w+S*_+k*b-T*x,I=S*w-k*x-T*b-E*_;if(a){x=d,b=p,_=g;var P=Math.sin(a)/n(x,b,_);x*=P,b*=P,_*=P,w=Math.cos(e),L=L*w+I*x+z*_-C*b,z=z*w+I*b+C*x-L*_,C=C*w+I*_+L*b-z*x,I=I*w-L*x-z*b-C*_}var D=i(L,z,C,I);D>1e-6?(L/=D,z/=D,C/=D,I/=D):(L=z=C=0,I=1),this.rotation.set(t,L,z,C,I)},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;u(i,e,r,n);var o=this.computedRotation;f(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),a(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var s=0,l=0;l<3;++l)s+=Math.pow(r[l]-e[l],2);this.radius.set(t,.5*Math.log(Math.max(s,1e-6))),this.center.set(t,r[0],r[1],r[2])},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e){var r=this.computedRotation;f(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),a(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;h(n,e);var i=n[15];if(Math.abs(i)>1e-6){var o=n[12]/i,s=n[13]/i,l=n[14]/i;this.recalcMatrix(t);var u=Math.exp(this.computedRadius[0]);this.center.set(t,o-n[2]*u,s-n[6]*u,l-n[10]*u),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},d.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},d.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-(1/0),e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},d.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},d.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},d.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\"./lib/quatFromFrame\":430,\"filtered-vector\":106,\"gl-mat4/fromQuat\":146,\"gl-mat4/invert\":149,\"gl-mat4/lookAt\":150}],432:[function(t,e,r){\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return r=\"undefined\"!=typeof r?r+\"\":\" \",n(r,e)+t}},{\"repeat-string\":457}],433:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],434:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n>=0;n--){var i=t[n];\".\"===i?t.splice(n,1):\"..\"===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift(\"..\");return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n<t.length;n++)e(t[n],n,t)&&r.push(t[n]);return r}var i=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,a=function(t){return i.exec(t).slice(1)};r.resolve=function(){for(var r=\"\",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if(\"string\"!=typeof o)throw new TypeError(\"Arguments to path.resolve must be strings\");o&&(r=o+\"/\"+r,i=\"/\"===o.charAt(0))}return r=e(n(r.split(\"/\"),function(t){return!!t}),!i).join(\"/\"),(i?\"/\":\"\")+r||\".\"},r.normalize=function(t){var i=r.isAbsolute(t),a=\"/\"===o(t,-1);return t=e(n(t.split(\"/\"),function(t){return!!t}),!i).join(\"/\"),t||i||(t=\".\"),t&&a&&(t+=\"/\"),(i?\"/\":\"\")+t},r.isAbsolute=function(t){return\"/\"===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"Arguments to path.join must be strings\");return t}).join(\"/\"))},r.relative=function(t,e){function n(t){for(var e=0;e<t.length&&\"\"===t[e];e++);for(var r=t.length-1;r>=0&&\"\"===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split(\"/\")),a=n(e.split(\"/\")),o=Math.min(i.length,a.length),s=o,l=0;l<o;l++)if(i[l]!==a[l]){s=l;break}for(var u=[],l=s;l<i.length;l++)u.push(\"..\");return u=u.concat(a.slice(s)),u.join(\"/\")},r.sep=\"/\",r.delimiter=\":\",r.dirname=function(t){var e=a(t),r=e[0],n=e[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):\".\"},r.basename=function(t,e){var r=a(t)[2];return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){return a(t)[3]};var o=\"b\"===\"ab\".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,t(\"_process\"))},{_process:445}],435:[function(t,e,r){\"use strict\";function n(t){var e;t&&t.length&&(e=t,t=e.length);var r=new Uint8Array(t||0);return e&&r.set(e),r.readUInt32LE=a.readUInt32LE,r.writeUInt32LE=a.writeUInt32LE,r.readInt32LE=a.readInt32LE,r.writeInt32LE=a.writeInt32LE,r.readFloatLE=a.readFloatLE,r.writeFloatLE=a.writeFloatLE,r.readDoubleLE=a.readDoubleLE,r.writeDoubleLE=a.writeDoubleLE,r.toString=a.toString,r.write=a.write,r.slice=a.slice,r.copy=a.copy,r._isBuffer=!0,r}function i(t){for(var e,r,n=t.length,i=[],a=0;a<n;a++){if(e=t.charCodeAt(a),e>55295&&e<57344){if(!r){e>56319||a+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}e.exports=n;var a,o,s,l=t(\"ieee754\");a={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return l.read(this,t,!0,23,4)},readDoubleLE:function(t){return l.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return l.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return l.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var a=e;a<r;a++){var o=this[a];o<=127?(n+=decodeURIComponent(i)+String.fromCharCode(o),i=\"\"):i+=\"%\"+o.toString(16)}return n+=decodeURIComponent(i)},write:function(t,e){for(var r=t===o?s:i(t),n=0;n<r.length;n++)this[e+n]=r[n]},slice:function(t,e){return this.subarray(t,e)},copy:function(t,e){e=e||0;for(var r=0;r<this.length;r++)t[e+r]=this[r]}},a.writeInt32LE=a.writeUInt32LE,n.byteLength=function(t){return o=t,s=i(t),s.length},n.isBuffer=function(t){return!(!t||!t._isBuffer)}},{ieee754:253}],436:[function(t,e,r){(function(r){\"use strict\";function n(t){this.buf=m.isBuffer(t)?t:new m(t||0),this.pos=0,this.length=this.buf.length}function i(t,e){var r,n=e.buf;if(r=n[e.pos++],t+=268435456*(127&r),r<128)return t;if(r=n[e.pos++],t+=34359738368*(127&r),r<128)return t;if(r=n[e.pos++],t+=4398046511104*(127&r),r<128)return t;if(r=n[e.pos++],t+=562949953421312*(127&r),r<128)return t;if(r=n[e.pos++],t+=72057594037927940*(127&r),r<128)return t;if(r=n[e.pos++],t+=0x8000000000000000*(127&r),r<128)return t;throw new Error(\"Expected varint not more than 10 bytes\")}function a(t,e){e.realloc(10);for(var r=e.pos+10;t>=1;){if(e.pos>=r)throw new Error(\"Given varint doesn't fit into 10 bytes\");var n=255&t;e.buf[e.pos++]=n|(t>=128?128:0),t/=128}}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function l(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function u(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function c(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function h(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function f(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function d(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function p(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function g(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}e.exports=n;var m=r.Buffer||t(\"./buffer\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;var v=4294967296,y=1/v,x=Math.pow(2,63);n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*v;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*v;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,e,r=this.buf;return e=r[this.pos++],t=127&e,e<128?t:(e=r[this.pos++],t|=(127&e)<<7,e<128?t:(e=r[this.pos++],t|=(127&e)<<14,e<128?t:(e=r[this.pos++],t|=(127&e)<<21,e<128?t:i(t,this))))},readVarint64:function(){var t=this.pos,e=this.readVarint();if(e<x)return e;for(var r=this.pos-2;255===this.buf[r];)r--;r<t&&(r=t),e=0;for(var n=0;n<r-t+1;n++){var i=127&~this.buf[t+n];e+=n<4?i<<7*n:i*Math.pow(2,7*n)}return-e-1},readSVarint:function(){var t=this.readVarint();return t%2===1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.buf.toString(\"utf8\",this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.slice(this.pos,t);return this.pos=t,e},readPackedVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readVarint());return e},readPackedSVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSVarint());return e},readPackedBoolean:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readBoolean());return e},readPackedFloat:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFloat());return e},readPackedDouble:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readDouble());return e},readPackedFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSFixed64());return e},skip:function(t){var e=7&t;if(e===n.Varint)for(;this.buf[this.pos++]>127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new m(e);this.buf.copy(r),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.slice(0,this.length)},writeFixed32:function(t){this.realloc(4),this.buf.writeUInt32LE(t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),this.buf.writeInt32LE(t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(t&-1,this.pos),this.buf.writeUInt32LE(Math.floor(t*y),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(t&-1,this.pos),this.buf.writeInt32LE(Math.floor(t*y),this.pos+4),this.pos+=8},writeVarint:function(t){return t=+t,t>268435455?void a(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var e=m.byteLength(t);this.writeVarint(e),this.realloc(e),this.buf.write(t,this.pos),this.pos+=e},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,h,e)},writePackedFloat:function(t,e){this.writeMessage(t,u,e)},writePackedDouble:function(t,e){this.writeMessage(t,c,e)},writePackedFixed32:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,d,e)},writePackedFixed64:function(t,e){this.writeMessage(t,p,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,g,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./buffer\":435}],437:[function(t,e,r){\"use strict\";function n(t){var e=t.length;if(e<i){for(var r=1,n=0;n<e;++n)for(var o=0;o<n;++o)if(t[n]<t[o])r=-r;else if(t[n]===t[o])return 0;return r}for(var s=a.mallocUint8(e),n=0;n<e;++n)s[n]=0;for(var r=1,n=0;n<e;++n)if(!s[n]){var l=1;s[n]=1;for(var o=t[n];o!==n;o=t[o]){if(s[o])return a.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return a.freeUint8(s),r}e.exports=n;var i=32,a=t(\"typedarray-pool\")},{\"typedarray-pool\":496}],438:[function(t,e,r){\"use strict\";function n(t){var e=t.length;\nswitch(e){case 0:case 1:return 0;case 2:return t[1]}var r,n,i,s=a.mallocUint32(e),l=a.mallocUint32(e),u=0;for(o(t,l),i=0;i<e;++i)s[i]=t[i];for(i=e-1;i>0;--i)n=l[i],r=s[i],s[i]=s[n],s[n]=r,l[i]=l[r],l[r]=n,u=(u+r)*i;return a.freeUint32(l),a.freeUint32(s),u}function i(t,e,r){switch(t){case 0:return r?r:[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}r=r||new Array(t);var n,i,a,o=1;for(r[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)n=e/o|0,e=e-n*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}var a=t(\"typedarray-pool\"),o=t(\"invert-permutation\");r.rank=n,r.unrank=i},{\"invert-permutation\":256,\"typedarray-pool\":496}],439:[function(t,e,r){\"use strict\";function n(t,e){function r(t,e){var r=u[e][t[e]];r.splice(r.indexOf(t),1)}function n(t,n,a){for(var o,s,l,c=0;c<2;++c)if(u[c][n].length>0){o=u[c][n][0],l=c;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=u[h][n],d=0;d<f.length;++d){var p=f[d],g=p[1^h],m=i(e[t],e[n],e[s],e[g]);m>0&&(o=p,s=g,l=h)}return a?s:(o&&r(o,l),s)}function a(t,a){var o=u[a][t][0],s=[t];r(o,a);for(var l=o[1^a];;){for(;l!==t;)s.push(l),l=n(s[s.length-2],l,!1);if(u[0][t].length+u[1][t].length===0)break;var c=s[s.length-1],h=t,f=s[1],d=n(c,h,!0);if(i(e[c],e[h],e[f],e[d])<0)break;s.push(t),l=n(c,h)}return s}function o(t,e){return e[1]===e[e.length-1]}for(var s=0|e.length,l=t.length,u=[new Array(s),new Array(s)],c=0;c<s;++c)u[0][c]=[],u[1][c]=[];for(var c=0;c<l;++c){var h=t[c];u[0][h[0]].push(h),u[1][h[1]].push(h)}for(var f=[],c=0;c<s;++c)u[0][c].length+u[1][c].length===0&&f.push([c]);for(var c=0;c<s;++c)for(var d=0;d<2;++d){for(var p=[];u[d][c].length>0;){var g=(u[0][c].length,a(c,d));o(p,g)?p.push.apply(p,g):(p.length>0&&f.push(p),p=g)}p.length>0&&f.push(p)}return f}e.exports=n;var i=t(\"compare-angle\")},{\"compare-angle\":81}],440:[function(t,e,r){\"use strict\";function n(t,e){for(var r=i(t,e.length),n=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,n[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var u=o.pop();n[u]=!1;for(var c=r[u],s=0;s<c.length;++s){var h=c[s];0===--a[h]&&o.push(h)}}for(var f=new Array(e.length),d=[],s=0;s<e.length;++s)if(n[s]){var u=d.length;f[s]=u,d.push(e[s])}else f[s]=-1;for(var p=[],s=0;s<t.length;++s){var g=t[s];n[g[0]]&&n[g[1]]&&p.push([f[g[0]],f[g[1]]])}return[p,d]}e.exports=n;var i=t(\"edges-to-adjacency-list\")},{\"edges-to-adjacency-list\":100}],441:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function i(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}function a(t,e){function r(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],s=u(-a[0],a[1]),l=u(-a[0],o[1]),h=u(o[0],a[1]),f=u(o[0],o[1]);n=c(n,c(c(s,l),c(h,f)))}return n[n.length-1]>0}function a(t){for(var e=t.length,r=0;r<e;++r)if(!D[t[r]])return!1;return!0}var d=f(t,e);t=d[0],e=d[1];for(var p=e.length,g=(t.length,o(t,e.length)),m=0;m<p;++m)if(g[m].length%2===1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var v=s(t,e);v=v.filter(r);for(var y=v.length,x=new Array(y),b=new Array(y),m=0;m<y;++m){x[m]=m;var _=new Array(y),w=v[m].map(function(t){return e[t]}),M=l([w]),A=0;t:for(var k=0;k<y;++k)if(_[k]=0,m!==k){for(var T=v[k],E=T.length,S=0;S<E;++S){var L=M(e[T[S]]);if(0!==L){L<0&&(_[k]=1,A+=1);continue t}}_[k]=1,A+=1}b[m]=[A,m,_]}b.sort(function(t,e){return e[0]-t[0]});for(var m=0;m<y;++m)for(var _=b[m],z=_[1],C=_[2],k=0;k<y;++k)C[k]&&(x[k]=z);for(var I=i(y),m=0;m<y;++m)I[m].push(x[m]),I[x[m]].push(m);for(var P={},D=n(p,!1),m=0;m<y;++m)for(var T=v[m],E=T.length,k=0;k<E;++k){var O=T[k],R=T[(k+1)%E],F=Math.min(O,R)+\":\"+Math.max(O,R);if(F in P){var j=P[F];I[j].push(m),I[m].push(j),D[O]=D[R]=!0}else P[F]=m}for(var N=[],B=n(y,-1),m=0;m<y;++m)x[m]!==m||a(v[m])?B[m]=-1:(N.push(m),B[m]=0);for(var d=[];N.length>0;){var U=N.pop(),V=I[U];h(V,function(t,e){return t-e});var q,H=V.length,G=B[U];if(0===G){var T=v[U];q=[T]}for(var m=0;m<H;++m){var X=V[m];if(!(B[X]>=0)&&(B[X]=1^G,N.push(X),0===G)){var T=v[X];a(T)||(T.reverse(),q.push(T))}}0===G&&d.push(q)}return d}e.exports=a;var o=t(\"edges-to-adjacency-list\"),s=t(\"planar-dual\"),l=t(\"point-in-big-polygon\"),u=t(\"two-product\"),c=t(\"robust-sum\"),h=t(\"uniq\"),f=t(\"./lib/trim-leaves\")},{\"./lib/trim-leaves\":440,\"edges-to-adjacency-list\":100,\"planar-dual\":439,\"point-in-big-polygon\":443,\"robust-sum\":470,\"two-product\":494,uniq:498}],442:[function(t,e,r){\"use strict\";function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],443:[function(t,e,r){function n(){return!0}function i(t){return function(e,r){var i=t[e];return!!i&&!!i.queryPoint(r,n)}}function a(t){for(var e={},r=0;r<t.length;++r){var n=t[r],a=n[0][0],o=n[0][1],s=n[1][1],l=[Math.min(o,s),Math.max(o,s)];a in e?e[a].push(l):e[a]=[l]}for(var u={},c=Object.keys(e),r=0;r<c.length;++r){var h=e[c[r]];u[c[r]]=d(h)}return i(u)}function o(t,e){return function(r){var n=p.le(e,r[0]);if(n<0)return 1;var i=t[n];if(!i){if(!(n>0&&e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var o=i.key,s=h(r,o[0],o[1]);if(o[0][0]<o[1][0])if(s<0)i=i.left;else{if(!(s>0))return 0;a=-1,i=i.right}else if(s>0)i=i.left;else{if(!(s<0))return 0;a=1,i=i.right}}return a}}function s(t){return 1}function l(t){return function(e){return t(e[0],e[1])?0:1}}function u(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}function c(t){for(var e=t.length,r=[],n=[],i=0;i<e;++i)for(var c=t[i],h=c.length,d=h-1,p=0;p<h;d=p++){var g=c[d],m=c[p];g[0]===m[0]?n.push([g,m]):r.push([g,m])}if(0===r.length)return 0===n.length?s:l(a(n));var v=f(r),y=o(v.slabs,v.coordinates);return 0===n.length?y:u(a(n),y)}e.exports=c;var h=t(\"robust-orientation\")[3],f=t(\"slab-decomposition\"),d=t(\"interval-tree-1d\"),p=t(\"binary-search-bounds\")},{\"binary-search-bounds\":53,\"interval-tree-1d\":255,\"robust-orientation\":465,\"slab-decomposition\":482}],444:[function(t,e,r){\"use strict\";function n(t,e,r,n,s){i.length<n.length&&(i=new Float64Array(n.length),a=new Float64Array(n.length),o=new Float64Array(n.length));for(var l=0;l<n.length;++l)i[l]=t[l]-n[l],a[l]=e[l]-t[l],o[l]=r[l]-t[l];for(var u=0,c=0,h=0,f=0,d=0,p=0,l=0;l<n.length;++l){var g=a[l],m=o[l],v=i[l];u+=g*g,c+=g*m,h+=m*m,f+=v*g,d+=v*m,p+=v*v}var y,x=Math.abs(u*h-c*c),b=c*d-h*f,_=c*f-u*d;if(b+_<=x)if(b<0)_<0&&f<0?(_=0,-f>=u?(b=1,y=u+2*f+p):(b=-f/u,y=f*b+p)):(b=0,d>=0?(_=0,y=p):-d>=h?(_=1,y=h+2*d+p):(_=-d/h,y=d*_+p));else if(_<0)_=0,f>=0?(b=0,y=p):-f>=u?(b=1,y=u+2*f+p):(b=-f/u,y=f*b+p);else{var w=1/x;b*=w,_*=w,y=b*(u*b+c*_+2*f)+_*(c*b+h*_+2*d)+p}else{var M,A,k,T;b<0?(M=c+f,A=h+d,A>M?(k=A-M,T=u-2*c+h,k>=T?(b=1,_=0,y=u+2*f+p):(b=k/T,_=1-b,y=b*(u*b+c*_+2*f)+_*(c*b+h*_+2*d)+p)):(b=0,A<=0?(_=1,y=h+2*d+p):d>=0?(_=0,y=p):(_=-d/h,y=d*_+p))):_<0?(M=c+d,A=u+f,A>M?(k=A-M,T=u-2*c+h,k>=T?(_=1,b=0,y=h+2*d+p):(_=k/T,b=1-_,y=b*(u*b+c*_+2*f)+_*(c*b+h*_+2*d)+p)):(_=0,A<=0?(b=1,y=u+2*f+p):f>=0?(b=0,y=p):(b=-f/u,y=f*b+p))):(k=h+d-c-f,k<=0?(b=0,_=1,y=h+2*d+p):(T=u-2*c+h,k>=T?(b=1,_=0,y=u+2*f+p):(b=k/T,_=1-b,y=b*(u*b+c*_+2*f)+_*(c*b+h*_+2*d)+p)))}for(var E=1-b-_,l=0;l<n.length;++l)s[l]=E*t[l]+b*e[l]+_*r[l];return y<0?0:y}var i=new Float64Array(4),a=new Float64Array(4),o=new Float64Array(4);e.exports=n},{}],445:[function(t,e,r){function n(){throw new Error(\"setTimeout has not been defined\")}function i(){throw new Error(\"clearTimeout has not been defined\")}function a(t){if(h===setTimeout)return setTimeout(t,0);if((h===n||!h)&&setTimeout)return h=setTimeout,setTimeout(t,0);try{return h(t,0)}catch(e){try{return h.call(null,t,0)}catch(e){return h.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function s(){m&&p&&(m=!1,p.length?g=p.concat(g):v=-1,g.length&&l())}function l(){if(!m){var t=a(s);m=!0;for(var e=g.length;e;){for(p=g,g=[];++v<e;)p&&p[v].run();v=-1,e=g.length}p=null,m=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var h,f,d=e.exports={};!function(){try{h=\"function\"==typeof setTimeout?setTimeout:n}catch(t){h=n}try{f=\"function\"==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var p,g=[],m=!1,v=-1;d.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];g.push(new u(t,e)),1!==g.length||m||a(l)},u.prototype.run=function(){this.fun.apply(null,this.array)},d.title=\"browser\",d.browser=!0,d.env={},d.argv=[],d.version=\"\",d.versions={},d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(t){throw new Error(\"process.binding is not supported\")},d.cwd=function(){return\"/\"},d.chdir=function(t){throw new Error(\"process.chdir is not supported\")},d.umask=function(){return 0}},{}],446:[function(e,r,n){(function(e){!function(i){function a(t){throw new RangeError(D[t])}function o(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function s(t,e){var r=t.split(\"@\"),n=\"\";r.length>1&&(n=r[0]+\"@\",t=r[1]),t=t.replace(P,\".\");var i=t.split(\".\"),a=o(i,e).join(\".\");return n+a}function l(t){for(var e,r,n=[],i=0,a=t.length;i<a;)e=t.charCodeAt(i++),e>=55296&&e<=56319&&i<a?(r=t.charCodeAt(i++),56320==(64512&r)?n.push(((1023&e)<<10)+(1023&r)+65536):(n.push(e),i--)):n.push(e);return n}function u(t){return o(t,function(t){var e=\"\";return t>65535&&(t-=65536,e+=F(t>>>10&1023|55296),t=56320|1023&t),e+=F(t)}).join(\"\")}function c(t){return t-48<10?t-22:t-65<26?t-65:t-97<26?t-97:M}function h(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function f(t,e,r){var n=0;for(t=r?R(t/E):t>>1,t+=R(t/e);t>O*k>>1;n+=M)t=R(t/O);return R(n+(O+1)*t/(t+T))}function d(t){var e,r,n,i,o,s,l,h,d,p,g=[],m=t.length,v=0,y=L,x=S;for(r=t.lastIndexOf(z),r<0&&(r=0),n=0;n<r;++n)t.charCodeAt(n)>=128&&a(\"not-basic\"),g.push(t.charCodeAt(n));for(i=r>0?r+1:0;i<m;){for(o=v,s=1,l=M;i>=m&&a(\"invalid-input\"),h=c(t.charCodeAt(i++)),(h>=M||h>R((w-v)/s))&&a(\"overflow\"),v+=h*s,d=l<=x?A:l>=x+k?k:l-x,!(h<d);l+=M)p=M-d,s>R(w/p)&&a(\"overflow\"),s*=p;e=g.length+1,x=f(v-o,e,0==o),R(v/e)>w-y&&a(\"overflow\"),y+=R(v/e),v%=e,g.splice(v++,0,y)}return u(g)}function p(t){var e,r,n,i,o,s,u,c,d,p,g,m,v,y,x,b=[];for(t=l(t),m=t.length,e=L,r=0,o=S,s=0;s<m;++s)g=t[s],g<128&&b.push(F(g));for(n=i=b.length,i&&b.push(z);n<m;){for(u=w,s=0;s<m;++s)g=t[s],g>=e&&g<u&&(u=g);for(v=n+1,u-e>R((w-r)/v)&&a(\"overflow\"),r+=(u-e)*v,e=u,s=0;s<m;++s)if(g=t[s],g<e&&++r>w&&a(\"overflow\"),g==e){for(c=r,d=M;p=d<=o?A:d>=o+k?k:d-o,!(c<p);d+=M)x=c-p,y=M-p,b.push(F(h(p+x%y,0))),c=R(x/y);b.push(F(h(c,0))),o=f(r,v,n==i),r=0,++n}++r,++e}return b.join(\"\")}function g(t){return s(t,function(t){return C.test(t)?d(t.slice(4).toLowerCase()):t})}function m(t){return s(t,function(t){return I.test(t)?\"xn--\"+p(t):t})}var v=\"object\"==typeof n&&n&&!n.nodeType&&n,y=\"object\"==typeof r&&r&&!r.nodeType&&r,x=\"object\"==typeof e&&e;x.global!==x&&x.window!==x&&x.self!==x||(i=x);var b,_,w=2147483647,M=36,A=1,k=26,T=38,E=700,S=72,L=128,z=\"-\",C=/^xn--/,I=/[^\\x20-\\x7E]/,P=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,D={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},O=M-A,R=Math.floor,F=String.fromCharCode;if(b={version:\"1.4.1\",ucs2:{decode:l,encode:u},decode:d,encode:p,toASCII:m,toUnicode:g},\"function\"==typeof t&&\"object\"==typeof t.amd&&t.amd)t(\"punycode\",function(){return b});else if(v&&y)if(r.exports==v)y.exports=b;else for(_ in b)b.hasOwnProperty(_)&&(v[_]=b[_]);else i.punycode=b}(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],447:[function(t,e,r){e.exports=t(\"gl-quat/slerp\")},{\"gl-quat/slerp\":199}],448:[function(t,e,r){\"use strict\";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,a){e=e||\"&\",r=r||\"=\";var o={};if(\"string\"!=typeof t||0===t.length)return o;var s=/\\+/g;t=t.split(e);var l=1e3;a&&\"number\"==typeof a.maxKeys&&(l=a.maxKeys);var u=t.length;l>0&&u>l&&(u=l);for(var c=0;c<u;++c){var h,f,d,p,g=t[c].replace(s,\"%20\"),m=g.indexOf(r);m>=0?(h=g.substr(0,m),f=g.substr(m+1)):(h=g,f=\"\"),d=decodeURIComponent(h),p=decodeURIComponent(f),n(o,d)?i(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var i=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)}},{}],449:[function(t,e,r){\"use strict\";function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n<t.length;n++)r.push(e(t[n],n));return r}var i=function(t){switch(typeof t){case\"string\":return t;case\"boolean\":return t?\"true\":\"false\";case\"number\":return isFinite(t)?t:\"\";default:return\"\"}};e.exports=function(t,e,r,s){return e=e||\"&\",r=r||\"=\",null===t&&(t=void 0),\"object\"==typeof t?n(o(t),function(o){var s=encodeURIComponent(i(o))+r;return a(t[o])?n(t[o],function(t){return s+encodeURIComponent(i(t))}).join(e):s+encodeURIComponent(i(t[o]))}).join(e):s?encodeURIComponent(i(s))+r+encodeURIComponent(i(t)):\"\"};var a=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},o=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return e}},{}],450:[function(t,e,r){\"use strict\";r.decode=r.parse=t(\"./decode\"),r.encode=r.stringify=t(\"./encode\")},{\"./decode\":448,\"./encode\":449}],451:[function(t,e,r){\"use strict\";function n(t,e,r,o,s){for(r=r||0,o=o||t.length-1,s=s||a;o>r;){if(o-r>600){var l=o-r+1,u=e-r+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1),d=Math.max(r,Math.floor(e-u*h/l+f)),p=Math.min(o,Math.floor(e+(l-u)*h/l+f));n(t,e,d,p,s)}var g=t[e],m=r,v=o;for(i(t,r,e),s(t[o],g)>0&&i(t,r,o);m<v;){for(i(t,m,v),m++,v--;s(t[m],g)<0;)m++;for(;s(t[v],g)>0;)v--}0===s(t[r],g)?i(t,r,v):(v++,i(t,v,o)),v<=e&&(r=v+1),e<=v&&(o=v-1)}}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function a(t,e){return t<e?-1:t>e?1:0}e.exports=n},{}],452:[function(t,e,r){\"use strict\";function n(t,e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=i(t[a],e[a]);return n}var i=t(\"big-rat/add\");e.exports=n},{\"big-rat/add\":37}],453:[function(t,e,r){\"use strict\";function n(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=i(t[r]);return e}e.exports=n;var i=t(\"big-rat\")},{\"big-rat\":40}],454:[function(t,e,r){\"use strict\";function n(t,e){for(var r=i(e),n=t.length,o=new Array(n),s=0;s<n;++s)o[s]=a(t[s],r);return o}var i=t(\"big-rat\"),a=t(\"big-rat/mul\");e.exports=n},{\"big-rat\":40,\"big-rat/mul\":49}],455:[function(t,e,r){\"use strict\";function n(t,e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=i(t[a],e[a]);return n}var i=t(\"big-rat/sub\");e.exports=n},{\"big-rat/sub\":51}],456:[function(t,e,r){\"use strict\";function n(t){t.sort(a);for(var e=t.length,r=0,n=0;n<e;++n){var s=t[n],l=o(s);if(0!==l){if(r>0){var u=t[r-1];if(0===i(s,u)&&o(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}var i=t(\"compare-cell\"),a=t(\"compare-oriented-cell\"),o=t(\"cell-orientation\");e.exports=n},{\"cell-orientation\":73,\"compare-cell\":82,\"compare-oriented-cell\":83}],457:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(i!==t||\"undefined\"==typeof i)i=t,a=\"\";else if(a.length>=r)return a.substr(0,r);for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a+=t,a=a.substr(0,r)}var i,a=\"\";e.exports=n},{}],458:[function(e,r,n){void function(e,i){\"function\"==typeof t&&t.amd?t(i):\"object\"==typeof n?r.exports=i():e.resolveUrl=i()}(this,function(){function t(){var t=arguments.length;if(0===t)throw new Error(\"resolveUrl requires at least one argument; got none.\");var e=document.createElement(\"base\");if(e.href=arguments[0],1===t)return e.href;var r=document.getElementsByTagName(\"head\")[0];r.insertBefore(e,r.firstChild);for(var n,i=document.createElement(\"a\"),a=1;a<t;a++)i.href=arguments[a],n=i.href,e.href=n;return r.removeChild(e),n}return t})},{}],459:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],460:[function(t,e,r){\"use strict\";function n(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];r=a+o;var s=r-a,l=o-s;l&&(t[--n]=r,r=l)}for(var u=0,i=n;i<e;++i){var a=t[i],o=r;r=a+o;var s=r-a,l=o-s;l&&(t[u++]=l)}return t[u++]=r,t.length=u,t}e.exports=n},{}],461:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m[\",r,\"][\",n,\"]\"].join(\"\")}return e}function a(t){return 1&t?\"-\":\"\"}function o(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",o(t.slice(0,e)),\",\",o(t.slice(e)),\")\"].join(\"\")}function s(t){if(2===t.length)return[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\");for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",s(n(t,r)),\",\",a(r),t[0][r],\")\"].join(\"\"));return o(e)}function l(t){var e=new Function(\"sum\",\"scale\",\"prod\",\"compress\",[\"function robustDeterminant\",t,\"(m){return compress(\",s(i(t)),\")};return robustDeterminant\",t].join(\"\"));return e(h,f,c,d)}function u(){for(;g.length<p;)g.push(l(g.length));for(var t=[],r=[\"function robustDeterminant(m){switch(m.length){\"],n=0;n<p;++n)t.push(\"det\"+n),r.push(\"case \",n,\":return det\",n,\"(m);\");r.push(\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\"),t.push(\"CACHE\",\"gen\",r.join(\"\"));var i=Function.apply(void 0,t);e.exports=i.apply(void 0,g.concat([g,l]));for(var n=0;n<g.length;++n)e.exports[n]=g[n]}var c=t(\"two-product\"),h=t(\"robust-sum\"),f=t(\"robust-scale\"),d=t(\"robust-compress\"),p=6,g=[function(){return[0]},function(t){return[t[0][0]]}];u()},{\"robust-compress\":460,\"robust-scale\":467,\"robust-sum\":470,\"two-product\":494}],462:[function(t,e,r){\"use strict\";function n(t,e){for(var r=i(t[0],e[0]),n=1;n<t.length;++n)r=a(r,i(t[n],e[n]));return r}var i=t(\"two-product\"),a=t(\"robust-sum\");e.exports=n},{\"robust-sum\":470,\"two-product\":494}],463:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-2,\"]\"].join(\"\")}return e}function a(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",a(t.slice(0,e)),\",\",a(t.slice(e)),\")\"].join(\"\")}function o(t,e){if(\"m\"===t.charAt(0)){if(\"w\"===e.charAt(0)){var r=t.split(\"[\");return[\"w\",e.substr(1),\"m\",r[0].substr(1)].join(\"\")}return[\"prod(\",t,\",\",e,\")\"].join(\"\")}return o(e,t)}function s(t){return t&!0?\"-\":\"\"}function l(t){if(2===t.length)return[[\"diff(\",o(t[0][0],t[1][1]),\",\",o(t[1][0],t[0][1]),\")\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",a(l(n(t,r))),\",\",s(r),t[0][r],\")\"].join(\"\"));return e}function u(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\"prod(m\",t,\"[\",n,\"],m\",t,\"[\",n,\"])\"].join(\"\"));return a(r)}function c(t){for(var e=[],r=[],o=i(t),s=0;s<t;++s)o[0][s]=\"1\",o[t-1][s]=\"w\"+s;for(var s=0;s<t;++s)0===(1&s)?e.push.apply(e,l(n(o,s))):r.push.apply(r,l(n(o,s)));for(var c=a(e),h=a(r),f=\"exactInSphere\"+t,d=[],s=0;s<t;++s)d.push(\"m\"+s);for(var p=[\"function \",f,\"(\",d.join(),\"){\"],s=0;s<t;++s){p.push(\"var w\",s,\"=\",u(s,t),\";\");for(var g=0;g<t;++g)g!==s&&p.push(\"var w\",s,\"m\",g,\"=scale(w\",s,\",m\",g,\"[0]);\")}p.push(\"var p=\",c,\",n=\",h,\",d=diff(p,n);return d[d.length-1];}return \",f);var b=new Function(\"sum\",\"diff\",\"prod\",\"scale\",p.join(\"\"));return b(v,y,m,x)}function h(){return 0}function f(){return 0}function d(){return 0}function p(t){var e=_[t.length];return e||(e=_[t.length]=c(t.length)),e.apply(void 0,t)}function g(){for(;_.length<=b;)_.push(c(_.length));for(var t=[],r=[\"slow\"],n=0;n<=b;++n)t.push(\"a\"+n),r.push(\"o\"+n);for(var i=[\"function testInSphere(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"],n=2;n<=b;++n)i.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\"),r.push(i.join(\"\"));var a=Function.apply(void 0,r);e.exports=a.apply(void 0,[p].concat(_));for(var n=0;n<=b;++n)e.exports[n]=_[n]}var m=t(\"two-product\"),v=t(\"robust-sum\"),y=t(\"robust-subtract\"),x=t(\"robust-scale\"),b=6,_=[h,f,d];g()},{\"robust-scale\":467,\"robust-subtract\":469,\"robust-sum\":470,\"two-product\":494}],464:[function(t,e,r){\"use strict\";function n(t){for(var e=\"robustLinearSolve\"+t+\"d\",r=[\"function \",e,\"(A,b){return [\"],n=0;n<t;++n){r.push(\"det([\");for(var i=0;i<t;++i){i>0&&r.push(\",\"),r.push(\"[\");for(var a=0;a<t;++a)a>0&&r.push(\",\"),a===n?r.push(\"+b[\",i,\"]\"):r.push(\"+A[\",i,\"][\",a,\"]\");r.push(\"]\")}r.push(\"]),\")}r.push(\"det(A)]}return \",e);var o=new Function(\"det\",r.join(\"\"));return o(t<6?s[t]:s)}function i(){return[0]}function a(t,e){return[[e[0]],[t[0][0]]]}function o(){for(;u.length<l;)u.push(n(u.length));for(var t=[],r=[\"function dispatchLinearSolve(A,b){switch(A.length){\"],i=0;i<l;++i)t.push(\"s\"+i),r.push(\"case \",i,\":return s\",i,\"(A,b);\");r.push(\"}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve\"),t.push(\"CACHE\",\"g\",r.join(\"\"));var a=Function.apply(void 0,t);e.exports=a.apply(void 0,u.concat([u,n]));for(var i=0;i<l;++i)e.exports[i]=u[i]}var s=t(\"robust-determinant\"),l=6,u=[i,a];o()},{\"robust-determinant\":461}],465:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-1,\"]\"].join(\"\")}return e}function a(t){return 1&t?\"-\":\"\"}function o(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",o(t.slice(0,e)),\",\",o(t.slice(e)),\")\"].join(\"\")}function s(t){if(2===t.length)return[[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",o(s(n(t,r))),\",\",a(r),t[0][r],\")\"].join(\"\"));return e}function l(t){for(var e=[],r=[],a=i(t),l=[],u=0;u<t;++u)0===(1&u)?e.push.apply(e,s(n(a,u))):r.push.apply(r,s(n(a,u))),l.push(\"m\"+u);var c=o(e),g=o(r),m=\"orientation\"+t+\"Exact\",v=[\"function \",m,\"(\",l.join(),\"){var p=\",c,\",n=\",g,\",d=sub(p,n);return d[d.length-1];};return \",m].join(\"\"),y=new Function(\"sum\",\"prod\",\"scale\",\"sub\",v);return y(f,h,d,p)}function u(t){var e=_[t.length];return e||(e=_[t.length]=l(t.length)),e.apply(void 0,t)}function c(){for(;_.length<=g;)_.push(l(_.length));for(var t=[],r=[\"slow\"],n=0;n<=g;++n)t.push(\"a\"+n),r.push(\"o\"+n);for(var i=[\"function getOrientation(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"],n=2;n<=g;++n)i.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\"),r.push(i.join(\"\"));var a=Function.apply(void 0,r);e.exports=a.apply(void 0,[u].concat(_));for(var n=0;n<=g;++n)e.exports[n]=_[n]}var h=t(\"two-product\"),f=t(\"robust-sum\"),d=t(\"robust-scale\"),p=t(\"robust-subtract\"),g=5,m=1.1102230246251565e-16,v=(3+16*m)*m,y=(7+56*m)*m,x=l(3),b=l(4),_=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=v*n;return o>=s||o<=-s?o:x(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],d=a*u,p=o*l,g=o*s,m=i*u,v=i*l,x=a*s,_=c*(d-p)+h*(g-m)+f*(v-x),w=(Math.abs(d)+Math.abs(p))*Math.abs(c)+(Math.abs(g)+Math.abs(m))*Math.abs(h)+(Math.abs(v)+Math.abs(x))*Math.abs(f),M=y*w;return _>M||-_>M?_:b(t,e,r,n)}];c()},{\"robust-scale\":467,\"robust-subtract\":469,\"robust-sum\":470,\"two-product\":494}],466:[function(t,e,r){\"use strict\";function n(t,e){if(1===t.length)return a(e,t[0]);if(1===e.length)return a(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var n=0;n<t.length;++n)r=i(r,a(e,t[n]));else for(var n=0;n<e.length;++n)r=i(r,a(t,e[n]));return r}var i=t(\"robust-sum\"),a=t(\"robust-scale\");e.exports=n},{\"robust-scale\":467,\"robust-sum\":470}],467:[function(t,e,r){\"use strict\";function n(t,e){var r=t.length;if(1===r){var n=i(t[0],e);return n[0]?n:[n[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],u=0;i(t[0],e,s),s[0]&&(o[u++]=s[0]);for(var c=1;c<r;++c){i(t[c],e,l);var h=s[1];a(h,l[0],s),s[0]&&(o[u++]=s[0]);var f=l[1],d=s[1],p=f+d,g=p-f,m=d-g;s[1]=p,m&&(o[u++]=m)}return s[1]&&(o[u++]=s[1]),0===u&&(o[u++]=0),o.length=u,o}var i=t(\"two-product\"),a=t(\"two-sum\");e.exports=n},{\"two-product\":494,\"two-sum\":495}],468:[function(t,e,r){\"use strict\";function n(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],h=Math.min(u,c),f=Math.max(u,c);if(f<s||l<h)return!1}return!0}function i(t,e,r,i){var o=a(t,r,i),s=a(e,r,i);if(o>0&&s>0||o<0&&s<0)return!1;var l=a(r,t,e),u=a(i,t,e);return!(l>0&&u>0||l<0&&u<0)&&(0!==o||0!==s||0!==l||0!==u||n(t,e,r,i))}e.exports=i;var a=t(\"robust-orientation\")[3]},{\"robust-orientation\":465}],469:[function(t,e,r){\"use strict\";function n(t,e){var r=t+e,n=r-t,i=r-n,a=e-n,o=t-i,s=o+a;return s?[s,r]:[r]}function i(t,e){var r=0|t.length,i=0|e.length;if(1===r&&1===i)return n(t[0],-e[0]);var a,o,s=r+i,l=new Array(s),u=0,c=0,h=0,f=Math.abs,d=t[c],p=f(d),g=-e[h],m=f(g);p<m?(o=d,c+=1,c<r&&(d=t[c],p=f(d))):(o=g,h+=1,h<i&&(g=-e[h],m=f(g))),c<r&&p<m||h>=i?(a=d,c+=1,c<r&&(d=t[c],p=f(d))):(a=g,h+=1,h<i&&(g=-e[h],m=f(g)));for(var v,y,x,b,_,w=a+o,M=w-a,A=o-M,k=A,T=w;c<r&&h<i;)p<m?(a=d,c+=1,c<r&&(d=t[c],p=f(d))):(a=g,h+=1,h<i&&(g=-e[h],m=f(g))),o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,x=v-y,b=w-y,_=T-x,k=_+b,T=v;for(;c<r;)a=d,o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,x=v-y,b=w-y,_=T-x,k=_+b,T=v,c+=1,c<r&&(d=t[c]);for(;h<i;)a=g,o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,x=v-y,b=w-y,_=T-x,k=_+b,T=v,h+=1,h<i&&(g=-e[h]);return k&&(l[u++]=k),T&&(l[u++]=T),u||(l[u++]=0),l.length=u,l}e.exports=i},{}],470:[function(t,e,r){\"use strict\";function n(t,e){var r=t+e,n=r-t,i=r-n,a=e-n,o=t-i,s=o+a;return s?[s,r]:[r]}function i(t,e){var r=0|t.length,i=0|e.length;if(1===r&&1===i)return n(t[0],e[0]);var a,o,s=r+i,l=new Array(s),u=0,c=0,h=0,f=Math.abs,d=t[c],p=f(d),g=e[h],m=f(g);p<m?(o=d,c+=1,c<r&&(d=t[c],p=f(d))):(o=g,h+=1,h<i&&(g=e[h],m=f(g))),c<r&&p<m||h>=i?(a=d,c+=1,c<r&&(d=t[c],p=f(d))):(a=g,h+=1,h<i&&(g=e[h],m=f(g)));for(var v,y,x,b,_,w=a+o,M=w-a,A=o-M,k=A,T=w;c<r&&h<i;)p<m?(a=d,c+=1,c<r&&(d=t[c],p=f(d))):(a=g,h+=1,h<i&&(g=e[h],m=f(g))),o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,x=v-y,b=w-y,_=T-x,k=_+b,T=v;for(;c<r;)a=d,o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,x=v-y,b=w-y,_=T-x,k=_+b,T=v,c+=1,c<r&&(d=t[c]);for(;h<i;)a=g,o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,x=v-y,b=w-y,_=T-x,k=_+b,T=v,h+=1,h<i&&(g=e[h]);return k&&(l[u++]=k),T&&(l[u++]=T),u||(l[u++]=0),l.length=u,l}e.exports=i},{}],471:[function(e,r,n){!function(e,i){\"object\"==typeof n&&\"undefined\"!=typeof r?r.exports=i():\"function\"==typeof t&&t.amd?t(i):e.ShelfPack=i()}(this,function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.stats={},this.count=function(t){this.stats[t]=(0|this.stats[t])+1}}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a=[],o=0;o<t.length;o++)if(r=t[o].w||t[o].width,n=t[o].h||t[o].height,r&&n){if(i=this.packOne(r,n),!i)continue;e.inPlace&&(t[o].x=i.x,t[o].y=i.y),a.push(i)}if(this.shelves.length>0){for(var s=0,l=0,u=0;u<this.shelves.length;u++){var c=this.shelves[u];l+=c.h,s=Math.max(c.w-c.free,s)}this.resize(s,l)}return a},t.prototype.packOne=function(t,r){for(var n,i,a=0,o={shelf:-1,waste:1/0},s=0;s<this.shelves.length;s++){if(n=this.shelves[s],a+=n.h,r===n.h&&t<=n.free)return this.count(r),n.alloc(t,r);r>n.h||t>n.free||r<n.h&&t<=n.free&&(i=n.h-r,i<o.waste&&(o.waste=i,o.shelf=s))}if(o.shelf!==-1)return n=this.shelves[o.shelf],this.count(r),n.alloc(t,r);if(r<=this.h-a&&t<=this.w)return n=new e(a,this.w,r),this.shelves.push(n),this.count(r),n.alloc(t,r);if(this.autoResize){var l,u,c,h;return l=u=this.h,c=h=this.w,(c<=l||t>c)&&(h=2*Math.max(t,c)),(l<c||r>l)&&(u=2*Math.max(r,l)),this.resize(h,u),this.packOne(t,r)}return null},t.prototype.clear=function(){this.shelves=[],this.stats={}},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e){if(t>this.free||e>this.h)return null;var r=this.x;return this.x+=t,this.free-=t,{x:r,y:this.y,w:t,h:e,width:t,height:e}},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],472:[function(t,e,r){\"use strict\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],473:[function(t,e,r){\"use strict\";function n(t){return a(i(t))}e.exports=n;var i=t(\"boundary-cells\"),a=t(\"reduce-simplicial-complex\")},{\"boundary-cells\":56,\"reduce-simplicial-complex\":456}],474:[function(t,e,r){\"use strict\";function n(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}function i(t,e){for(var r=t.length,n=h.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}function a(t,e){for(var r=t.length,n=e*(e+1)/2*r|0,i=h.mallocUint32(2*n),a=0,o=0;o<r;++o)for(var s=t[o],e=s.length,l=0;l<e;++l)for(var u=0;u<l;++u){var d=s[u],p=s[l];i[a++]=0|Math.min(d,p),i[a++]=0|Math.max(d,p)}var g=a/2|0;f(c(i,[g,2]));for(var m=2,o=2;o<a;o+=2)i[o-2]===i[o]&&i[o-1]===i[o+1]||(i[m++]=i[o],i[m++]=i[o+1]);return c(i,[m/2|0,2])}function o(t,e,r,n){for(var i=t.data,a=t.shape[0],o=h.mallocDouble(a),s=0,l=0;l<a;++l){var u=i[2*l],f=i[2*l+1];if(r[u]!==r[f]){var d=e[u],p=e[f];i[2*s]=u,i[2*s+1]=f,o[s++]=(p-n)/(p-d)}}return t.shape[0]=s,c(o,[s])}function s(t,e){\nvar r=h.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var a=0,o=0;o<n;++o){var s=i[2*o];if(s!==a){for(r[2*a+1]=o;++a<s;)r[2*a]=o,r[2*a+1]=o;r[2*a]=o}}for(r[2*a+1]=n;++a<e;)r[2*a]=r[2*a+1]=n;return r}function l(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}function u(t,e,r,u){r=r||0,\"undefined\"==typeof u&&(u=n(t));var c=t.length;if(0===c||u<1)return{cells:[],vertexIds:[],vertexWeights:[]};var f=i(e,+r),p=a(t,u),g=o(p,e,f,+r),m=s(p,0|e.length),v=d(u)(t,p.data,m,f),y=l(p),x=[].slice.call(g.data,0,g.shape[0]);return h.free(f),h.free(p.data),h.free(g.data),h.free(m),{cells:v,vertexIds:y,vertexWeights:x}}e.exports=u;var c=t(\"ndarray\"),h=t(\"typedarray-pool\"),f=t(\"ndarray-sort\"),d=t(\"./lib/codegen\")},{\"./lib/codegen\":475,ndarray:427,\"ndarray-sort\":425,\"typedarray-pool\":496}],475:[function(t,e,r){\"use strict\";function n(t){function e(t){if(!(t.length<=0)){u.push(\"R.push(\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&u.push(\",\"),u.push(\"[\");for(var n=0;n<r.length;++n){var i=r[n];n>0&&u.push(\",\"),u.push(\"B(C,E,c[\",i[0],\"],c[\",i[1],\"])\")}u.push(\"]\")}u.push(\");\")}}var r=0,n=new Array(t+1);n[0]=[[]];for(var i=1;i<=t;++i)for(var s=n[i]=o(i),l=0;l<s.length;++l)r=Math.max(r,s[i].length);for(var u=[\"function B(C,E,i,j){\",\"var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];\",\"while(l<h){\",\"var m=(l+h)>>1,v=E[2*m+1];\",\"if(v===b){return m}\",\"if(b<v){h=m}else{l=m+1}\",\"}\",\"return l;\",\"};\",\"function getContour\",t,\"d(F,E,C,S){\",\"var n=F.length,R=[];\",\"for(var i=0;i<n;++i){var c=F[i],l=c.length;\"],i=t+1;i>1;--i){i<t+1&&u.push(\"else \"),u.push(\"if(l===\",i,\"){\");for(var c=[],l=0;l<i;++l)c.push(\"(S[c[\"+l+\"]]<<\"+l+\")\");u.push(\"var M=\",c.join(\"+\"),\";if(M===0||M===\",(1<<i)-1,\"){continue}switch(M){\");for(var s=n[i-1],l=0;l<s.length;++l)u.push(\"case \",l,\":\"),e(s[l]),u.push(\"break;\");u.push(\"}}\")}u.push(\"}return R;};return getContour\",t,\"d\");var h=new Function(\"pool\",u.join(\"\"));return h(a)}function i(t){var e=s[t];return e||(e=s[t]=n(t)),e}e.exports=i;var a=t(\"typedarray-pool\"),o=t(\"marching-simplex-table\"),s={}},{\"marching-simplex-table\":406,\"typedarray-pool\":496}],476:[function(t,e,r){\"use strict\";\"use restrict\";function n(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1}function i(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1}function a(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e}function o(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:var a=t[0]+t[1]-e[0]-e[1];return a?a:i(t[0],t[1])-i(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=i(t[0],t[1]),u=i(e[0],e[1]),a=i(l,t[2])-i(u,e[2]);return a?a:i(l+t[2],o)-i(u+e[2],s);default:var c=t.slice(0);c.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=c[f]-h[f])return n;return 0}}function s(t,e){return o(t[0],e[0])}function l(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(s);for(var i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(o),t}function u(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(o(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,s=o(t[a],e);s<=0?(0===s&&(i=a),r=a+1):s>0&&(n=a-1)}return i}function h(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],n=0,s=e.length;n<s;++n)for(var l=e[n],u=l.length,h=1,f=1<<u;h<f;++h){a.length=x.popCount(h);for(var d=0,p=0;p<u;++p)h&1<<p&&(a[d++]=l[p]);var g=c(t,a);if(!(g<0))for(;;)if(r[g++].push(n),g>=t.length||0!==o(t[g],a))break}return r}function f(t,e){if(!e)return h(u(p(t,0)),t,0);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];for(var n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r}function d(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,s=1<<a;o<s;++o){for(var u=[],c=0;c<a;++c)o>>>c&1&&u.push(i[c]);e.push(u)}return l(e)}function p(t,e){if(e<0)return[];for(var r=[],n=(1<<e+1)-1,i=0;i<t.length;++i)for(var a=t[i],o=n;o<1<<a.length;o=x.nextCombination(o)){for(var s=new Array(e+1),u=0,c=0;c<a.length;++c)o&1<<c&&(s[u++]=a[c]);r.push(s)}return l(r)}function g(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var s=new Array(i.length-1),u=0,c=0;u<o;++u)u!==a&&(s[c++]=i[u]);e.push(s)}return l(e)}function m(t,e){for(var r=new b(e),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=a+1;o<i.length;++o)r.link(i[a],i[o]);for(var s=[],l=r.ranks,n=0;n<l.length;++n)l[n]=-1;for(var n=0;n<t.length;++n){var u=r.find(t[n][0]);l[u]<0?(l[u]=s.length,s.push([t[n].slice(0)])):s[l[u]].push(t[n].slice(0))}return s}function v(t){for(var e=u(l(p(t,0))),r=new b(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=c(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,c(e,[i[s]]));for(var h=[],f=r.ranks,n=0;n<f.length;++n)f[n]=-1;for(var n=0;n<t.length;++n){var d=r.find(c(e,[t[n][0]]));f[d]<0?(f[d]=h.length,h.push([t[n].slice(0)])):h[f[d]].push(t[n].slice(0))}return h}function y(t,e){return e?m(t,e):v(t)}var x=t(\"bit-twiddle\"),b=t(\"union-find\");r.dimension=n,r.countVertices=i,r.cloneCells=a,r.compareCells=o,r.normalize=l,r.unique=u,r.findCell=c,r.incidence=h,r.dual=f,r.explode=d,r.skeleton=p,r.boundary=g,r.connectedComponents=y},{\"bit-twiddle\":54,\"union-find\":497}],477:[function(t,e,r){arguments[4][54][0].apply(r,arguments)},{dup:54}],478:[function(t,e,r){arguments[4][476][0].apply(r,arguments)},{\"bit-twiddle\":477,dup:476,\"union-find\":479}],479:[function(t,e,r){\"use strict\";\"use restrict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],480:[function(t,e,r){\"use strict\";function n(t,e,r){var n=Math.abs(a(t,e,r)),i=Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2));return n/i}function i(t,e,r){function i(t){if(b[t])return 1/0;var r=v[t],i=y[t];return r<0||i<0?1/0:n(e[t],e[r],e[i])}function a(t,e){var r=k[t],n=k[e];k[t]=n,k[e]=r,T[r]=e,T[n]=t}function s(t){return x[k[t]]}function l(t){return 1&t?t-1>>1:(t>>1)-1}function u(t){for(var e=s(t);;){var r=e,n=2*t+1,i=2*(t+1),o=t;if(n<S){var l=s(n);l<r&&(o=n,r=l)}if(i<S){var u=s(i);u<r&&(o=i)}if(o===t)return t;a(t,o),t=o}}function c(t){for(var e=s(t);t>0;){var r=l(t);if(r>=0){var n=s(r);if(e<n){a(t,r),t=r;continue}}return t}}function h(){if(S>0){var t=k[0];return a(0,S-1),S-=1,u(0),t}return-1}function f(t,e){var r=k[t];return x[r]===e?t:(x[r]=-(1/0),c(t),h(),x[r]=e,S+=1,c(S-1))}function d(t){if(!b[t]){b[t]=!0;var e=v[t],r=y[t];v[r]>=0&&(v[r]=e),y[e]>=0&&(y[e]=r),T[e]>=0&&f(T[e],i(e)),T[r]>=0&&f(T[r],i(r))}}function p(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!b[n]||i<0||i===n)break;if(n=i,i=t[n],!b[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}for(var g=e.length,m=t.length,v=new Array(g),y=new Array(g),x=new Array(g),b=new Array(g),_=0;_<g;++_)v[_]=y[_]=-1,x[_]=1/0,b[_]=!1;for(var _=0;_<m;++_){var w=t[_];if(2!==w.length)throw new Error(\"Input must be a graph\");var M=w[1],A=w[0];y[A]!==-1?y[A]=-2:y[A]=M,v[M]!==-1?v[M]=-2:v[M]=A}for(var k=[],T=new Array(g),_=0;_<g;++_){var E=x[_]=i(_);E<1/0?(T[_]=k.length,k.push(_)):T[_]=-1}for(var S=k.length,_=S>>1;_>=0;--_)u(_);for(;;){var L=h();if(L<0||x[L]>r)break;d(L)}for(var z=[],_=0;_<g;++_)b[_]||(T[_]=z.length,z.push(e[_].slice()));var C=(z.length,[]);return t.forEach(function(t){var e=p(v,t[0]),r=p(y,t[1]);if(e>=0&&r>=0&&e!==r){var n=T[e],i=T[r];n!==i&&C.push([n,i])}}),o.unique(o.normalize(C)),{positions:z,edges:C}}e.exports=i;var a=t(\"robust-orientation\"),o=t(\"simplicial-complex\")},{\"robust-orientation\":465,\"simplicial-complex\":478}],481:[function(t,e,r){\"use strict\";function n(t,e){var r,n;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0])){var i=Math.min(t[0][1],t[1][1]),o=Math.max(t[0][1],t[1][1]),s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]);return o<s?o-s:i>l?i-l:o-l}r=e[1],n=e[0]}var u,c;t[0][1]<t[1][1]?(u=t[0],c=t[1]):(u=t[1],c=t[0]);var h=a(n,r,u);return h?h:(h=a(n,r,c),h?h:c-n)}function i(t,e){var r,i;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0]))return n(e,t);r=e[1],i=e[0]}var o,s;if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-n(t,e);o=t[1],s=t[0]}var l=a(r,i,s),u=a(r,i,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=a(s,o,i),u=a(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return i[0]-s[0]}e.exports=i;var a=t(\"robust-orientation\")},{\"robust-orientation\":465}],482:[function(t,e,r){\"use strict\";function n(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function i(t,e){return t.y-e}function a(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=h(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{var l=a(t.right,e);if(l)return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l=a(t.right,e);if(l)return l;t=t.left}}return r}function o(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function s(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}function l(t){for(var e=t.length,r=2*e,i=new Array(r),a=0;a<e;++a){var l=t[a],u=l[0][0]<l[1][0];i[2*a]=new s(l[0][0],l,u,a),i[2*a+1]=new s(l[1][0],l,!u,a)}i.sort(function(t,e){var r=t.x-e.x;return r?r:(r=t.create-e.create,r?r:Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var h=c(f),d=[],p=[],g=[],a=0;a<r;){for(var m=i[a].x,v=[];a<r;){var y=i[a];if(y.x!==m)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new o(y.segment[0][1],y.index,!0,!0)),v.push(new o(y.segment[1][1],y.index,!1,!1))):(v.push(new o(y.segment[1][1],y.index,!0,!1)),v.push(new o(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}d.push(h.root),p.push(m),g.push(v)}return new n(d,p,g)}e.exports=l;var u=t(\"binary-search-bounds\"),c=t(\"functional-red-black-tree\"),h=t(\"robust-orientation\"),f=t(\"./lib/order-segments\"),d=n.prototype;d.castUp=function(t){var e=u.le(this.coordinates,t[0]);if(e<0)return-1;var r=(this.slabs[e],a(this.slabs[e],t)),n=-1;if(r&&(n=r.value),this.coordinates[e]===t[0]){var o=null;if(r&&(o=r.key),e>0){var s=a(this.slabs[e-1],t);s&&(o?f(s.key,o)>0&&(o=s.key,n=s.value):(n=s.value,o=s.key))}var l=this.horizontal[e];if(l.length>0){var c=u.ge(l,t[1],i);if(c<l.length){var d=l[c];if(t[1]===d.y){if(d.closed)return d.index;for(;c<l.length-1&&l[c+1].y===t[1];)if(c+=1,d=l[c],d.closed)return d.index;if(d.y===t[1]&&!d.start){if(c+=1,c>=l.length)return n;d=l[c]}}if(d.start)if(o){var p=h(o[0],o[1],[t[0],d.y]);o[0][0]>o[1][0]&&(p=-p),p>0&&(n=d.index)}else n=d.index;else d.y!==t[1]&&(n=d.index)}}}return n}},{\"./lib/order-segments\":481,\"binary-search-bounds\":53,\"functional-red-black-tree\":107,\"robust-orientation\":465}],483:[function(t,e,r){\"use strict\";function n(t,e){var r=u(l(t,e),[e[e.length-1]]);return r[r.length-1]}function i(t,e,r,n){var i=n-e,a=-e/i;a<0?a=0:a>1&&(a=1);for(var o=1-a,s=t.length,l=new Array(s),u=0;u<s;++u)l[u]=a*t[u]+o*r[u];return l}function a(t,e){for(var r=[],a=[],o=n(t[t.length-1],e),s=t[t.length-1],l=t[0],u=0;u<t.length;++u,s=l){l=t[u];var c=n(l,e);if(o<0&&c>0||o>0&&c<0){var h=i(s,c,l,o);r.push(h),a.push(h.slice())}c<0?a.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),a.push(l.slice())),o=c}return{positive:r,negative:a}}function o(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l<t.length;++l,o=s){s=t[l];var u=n(s,e);(a<0&&u>0||a>0&&u<0)&&r.push(i(o,u,s,a)),u>=0&&r.push(s.slice()),a=u}return r}function s(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l<t.length;++l,o=s){s=t[l];var u=n(s,e);(a<0&&u>0||a>0&&u<0)&&r.push(i(o,u,s,a)),u<=0&&r.push(s.slice()),a=u}return r}var l=t(\"robust-dot-product\"),u=t(\"robust-sum\");e.exports=a,e.exports.positive=o,e.exports.negative=s},{\"robust-dot-product\":462,\"robust-sum\":470}],484:[function(e,r,n){!function(e){function r(){var t=arguments[0],e=r.cache;return e[t]&&e.hasOwnProperty(t)||(e[t]=r.parse(t)),r.format.call(null,e[t],arguments)}function i(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}function a(t,e){return Array(e+1).join(t)}var o={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[\\+\\-]/};r.format=function(t,e){var n,s,l,u,c,h,f,d=1,p=t.length,g=\"\",m=[],v=!0,y=\"\";for(s=0;s<p;s++)if(g=i(t[s]),\"string\"===g)m[m.length]=t[s];else if(\"array\"===g){if(u=t[s],u[2])for(n=e[d],l=0;l<u[2].length;l++){if(!n.hasOwnProperty(u[2][l]))throw new Error(r(\"[sprintf] property '%s' does not exist\",u[2][l]));n=n[u[2][l]]}else n=u[1]?e[u[1]]:e[d++];if(\"function\"==i(n)&&(n=n()),o.not_string.test(u[8])&&o.not_json.test(u[8])&&\"number\"!=i(n)&&isNaN(n))throw new TypeError(r(\"[sprintf] expecting number but found %s\",i(n)));switch(o.number.test(u[8])&&(v=n>=0),u[8]){case\"b\":n=n.toString(2);break;case\"c\":n=String.fromCharCode(n);break;case\"d\":case\"i\":n=parseInt(n,10);break;case\"j\":n=JSON.stringify(n,null,u[6]?parseInt(u[6]):0);break;case\"e\":n=u[7]?n.toExponential(u[7]):n.toExponential();break;case\"f\":n=u[7]?parseFloat(n).toFixed(u[7]):parseFloat(n);break;case\"g\":n=u[7]?parseFloat(n).toPrecision(u[7]):parseFloat(n);break;case\"o\":n=n.toString(8);break;case\"s\":n=(n=String(n))&&u[7]?n.substring(0,u[7]):n;break;case\"u\":n>>>=0;break;case\"x\":n=n.toString(16);break;case\"X\":n=n.toString(16).toUpperCase()}o.json.test(u[8])?m[m.length]=n:(!o.number.test(u[8])||v&&!u[3]?y=\"\":(y=v?\"+\":\"-\",n=n.toString().replace(o.sign,\"\")),h=u[4]?\"0\"===u[4]?\"0\":u[4].charAt(1):\" \",f=u[6]-(y+n).length,c=u[6]&&f>0?a(h,f):\"\",m[m.length]=u[5]?y+n+c:\"0\"===h?y+c+n:c+y+n)}return m.join(\"\")},r.cache={},r.parse=function(t){for(var e=t,r=[],n=[],i=0;e;){if(null!==(r=o.text.exec(e)))n[n.length]=r[0];else if(null!==(r=o.modulo.exec(e)))n[n.length]=\"%\";else{if(null===(r=o.placeholder.exec(e)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){i|=1;var a=[],s=r[2],l=[];if(null===(l=o.key.exec(s)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(a[a.length]=l[1];\"\"!==(s=s.substring(l[0].length));)if(null!==(l=o.key_access.exec(s)))a[a.length]=l[1];else{if(null===(l=o.index_access.exec(s)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");a[a.length]=l[1]}r[2]=a}else i|=2;if(3===i)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");n[n.length]=r}e=e.substring(r[0].length)}return n};var s=function(t,e,n){return n=(e||[]).slice(0),n.splice(0,0,t),r.apply(null,n)};\"undefined\"!=typeof n?(n.sprintf=r,n.vsprintf=s):(e.sprintf=r,e.vsprintf=s,\"function\"==typeof t&&t.amd&&t(function(){return{sprintf:r,vsprintf:s}}))}(\"undefined\"==typeof window?this:window)},{}],485:[function(t,e,r){\"use strict\";function n(t){return new i(t)}function i(t){this.options=d(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function a(t,e,r,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:r}}function o(t,e){var r=t.geometry.coordinates;return a(u(r[0]),c(r[1]),1,e)}function s(t){return{type:\"Feature\",properties:l(t),geometry:{type:\"Point\",coordinates:[h(t.x),f(t.y)]}}}function l(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return{cluster:!0,point_count:e,point_count_abbreviated:r}}function u(t){return t/360+.5}function c(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function h(t){return 360*(t-.5)}function f(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function d(t,e){for(var r in e)t[r]=e[r];return t}function p(t){return t.x}function g(t){return t.y}var m=t(\"kdbush\");e.exports=n,i.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var r=\"prepare \"+t.length+\" points\";e&&console.time(r),this.points=t;var n=t.map(o);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var a=+Date.now();this.trees[i+1]=m(n,p,g,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\"z%d: %d clusters in %dms\",i,n.length,+Date.now()-a)}return this.trees[this.options.minZoom]=m(n,p,g,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(u(t[0]),c(t[3]),u(t[2]),c(t[1])),i=[],a=0;a<n.length;a++){var o=r.points[n[a]];i.push(o.id!==-1?this.points[o.id]:s(o))}return i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius,s=o/a,l=(r-s)/i,u=(r+1+s)/i,c={features:[]};return this._addTileFeatures(n.range((e-s)/i,l,(e+1+s)/i,u),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,u),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,u),n.points,-1,r,i,c),c.features.length?c:null},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var s=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(s.x*i-r)),Math.round(this.options.extent*(s.y*i-n))]],tags:s.id!==-1?this.points[s.id].properties:l(s)})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i<t.length;i++){var o=t[i];if(!(o.zoom<=e)){o.zoom=e;for(var s=this.trees[e+1],l=s.within(o.x,o.y,n),u=!1,c=o.numPoints,h=o.x*c,f=o.y*c,d=0;d<l.length;d++){var p=s.points[l[d]];e<p.zoom&&(u=!0,p.zoom=e,h+=p.x*p.numPoints,f+=p.y*p.numPoints,c+=p.numPoints)}r.push(u?a(h/c,f/c,c,-1):o)}}return r}}},{kdbush:259}],486:[function(t,e,r){\"use strict\";function n(t){return t.split(\"\").map(function(t){return t in i?i[t]:\"\"}).join(\"\")}e.exports=n;var i={\" \":\" \",0:\"\\u2070\",1:\"\\xb9\",2:\"\\xb2\",3:\"\\xb3\",4:\"\\u2074\",5:\"\\u2075\",6:\"\\u2076\",7:\"\\u2077\",8:\"\\u2078\",9:\"\\u2079\",\"+\":\"\\u207a\",\"-\":\"\\u207b\",a:\"\\u1d43\",b:\"\\u1d47\",c:\"\\u1d9c\",d:\"\\u1d48\",e:\"\\u1d49\",f:\"\\u1da0\",g:\"\\u1d4d\",h:\"\\u02b0\",i:\"\\u2071\",j:\"\\u02b2\",k:\"\\u1d4f\",l:\"\\u02e1\",m:\"\\u1d50\",n:\"\\u207f\",o:\"\\u1d52\",p:\"\\u1d56\",r:\"\\u02b3\",s:\"\\u02e2\",t:\"\\u1d57\",u:\"\\u1d58\",v:\"\\u1d5b\",w:\"\\u02b7\",x:\"\\u02e3\",y:\"\\u02b8\",z:\"\\u1dbb\"}},{}],487:[function(t,e,r){\"use strict\";function n(t,e){var r=t.length,n=[\"'use strict';\"],i=\"surfaceNets\"+t.join(\"_\")+\"d\"+e;n.push(\"var contour=genContour({\",\"order:[\",t.join(),\"],\",\"scalarArguments: 3,\",\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\"),\"generic\"===e&&n.push(\"getters:[0],\");for(var a=[],l=[],u=0;u<r;++u)a.push(\"d\"+u),l.push(\"d\"+u);for(var u=0;u<1<<r;++u)a.push(\"v\"+u),l.push(\"v\"+u);for(var u=0;u<1<<r;++u)a.push(\"p\"+u),l.push(\"p\"+u);a.push(\"a\",\"b\",\"c\"),l.push(\"a\",\"c\"),n.push(\"vertex:function vertexFunc(\",a.join(),\"){\");for(var c=[],u=0;u<1<<r;++u)c.push(\"(p\"+u+\"<<\"+u+\")\");n.push(\"var m=(\",c.join(\"+\"),\")|0;if(m===0||m===\",(1<<(1<<r))-1,\"){return}\");var h=[],f=[];1<<(1<<r)<=128?(n.push(\"switch(m){\"),f=n):n.push(\"switch(m>>>7){\");for(var u=0;u<1<<(1<<r);++u){if(1<<(1<<r)>128&&u%128===0){h.length>0&&f.push(\"}}\");var d=\"vExtra\"+h.length;n.push(\"case \",u>>>7,\":\",d,\"(m&0x7f,\",l.join(),\");break;\"),f=[\"function \",d,\"(m,\",l.join(),\"){switch(m){\"],h.push(f)}f.push(\"case \",127&u,\":\");for(var p=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;x<r;++x)p[x]=[],g[x]=[],m[x]=0,v[x]=0;for(var x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(u&1<<_)!=!(u&1<<x)){var w=1;u&1<<_?g[b].push(\"v\"+_+\"-v\"+x):(g[b].push(\"v\"+x+\"-v\"+_),w=-w),w<0?(p[b].push(\"-v\"+x+\"-v\"+_),m[b]+=2):(p[b].push(\"v\"+x+\"+v\"+_),m[b]-=2),y+=1;for(var M=0;M<r;++M)M!==b&&(_&1<<M?v[M]+=1:v[M]-=1)}}for(var A=[],b=0;b<r;++b)if(0===p[b].length)A.push(\"d\"+b+\"-0.5\");else{var k=\"\";m[b]<0?k=m[b]+\"*c\":m[b]>0&&(k=\"+\"+m[b]+\"*c\");var T=.5*(p[b].length/y),E=.5+.5*(v[b]/y);A.push(\"d\"+b+\"-\"+E+\"-\"+T+\"*(\"+p[b].join(\"+\")+k+\")/(\"+g[b].join(\"+\")+\")\")}f.push(\"a.push([\",A.join(),\"]);\",\"break;\")}n.push(\"}},\"),h.length>0&&f.push(\"}}\");for(var S=[],u=0;u<1<<r-1;++u)S.push(\"v\"+u);S.push(\"c0\",\"c1\",\"p0\",\"p1\",\"a\",\"b\",\"c\"),n.push(\"cell:function cellFunc(\",S.join(),\"){\");var L=s(r-1);n.push(\"if(p0){b.push(\",L.map(function(t){return\"[\"+t.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}else{b.push(\",L.map(function(t){var e=t.slice();return e.reverse(),\"[\"+e.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}}});function \",i,\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \",i,\";\");for(var u=0;u<h.length;++u)n.push(h[u].join(\"\"));var z=new Function(\"genContour\",n.join(\"\"));return z(o)}function i(t,e){for(var r=l(t,e),n=r.length,i=new Array(n),a=new Array(n),o=0;o<n;++o)i[o]=[r[o]],a[o]=[o];return{positions:i,cells:a}}function a(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return i(t,e);var r=t.order.join()+\"-\"+t.dtype,a=u[r],e=+e||0;return a||(a=u[r]=n(t.order,t.dtype)),a(t,e)}e.exports=a;var o=t(\"ndarray-extract-contour\"),s=t(\"triangulate-hypercube\"),l=t(\"zero-crossings\"),u={}},{\"ndarray-extract-contour\":416,\"triangulate-hypercube\":492,\"zero-crossings\":523}],488:[function(t,e,r){(function(r){\"use strict\";function n(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var u=r[s[l]];n[i++]=u[0],n[i++]=u[1]+1.4,a=Math.max(u[0],a)}return{data:n,shape:a}}function i(t,e,r){var r=r||{},o=s[t];o||(o=s[t]={\" \":{data:new Float32Array(0),shape:.2}});var l=o[e];if(!l)if(e.length<=1||!/\\d/.test(e))l=o[e]=n(a(e,{triangles:!0,font:t,textAlign:r.textAlign||\"left\",textBaseline:\"alphabetic\"}));else{for(var u=e.split(/(\\d|\\s)/),c=new Array(u.length),h=0,f=0,d=0;d<u.length;++d)c[d]=i(t,u[d]),h+=c[d].data.length,f+=c[d].shape,d>0&&(f+=.02);for(var p=new Float32Array(h),g=0,m=-.5*f,d=0;d<c.length;++d){for(var v=c[d].data,y=0;y<v.length;y+=2)p[g++]=v[y]+m,p[g++]=v[y+1];m+=c[d].shape+.02}l=o[e]={data:p,shape:f}}return l}e.exports=i;var a=t(\"vectorize-text\"),o=window||r.global||{},s=o.__TEXT_CACHE||{};o.__TEXT_CACHE={}}).call(this,t(\"_process\"))},{_process:445,\"vectorize-text\":509}],489:[function(e,r,n){!function(e){function n(t,e){if(t=t?t:\"\",e=e||{},t instanceof n)return t;if(!(this instanceof n))return new n(t,e);var r=i(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=q(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=q(this._r)),this._g<1&&(this._g=q(this._g)),this._b<1&&(this._b=q(this._b)),this._ok=r.ok,this._tc_id=V++}function i(t){var e={r:0,g:0,b:0},r=1,n=null,i=null,o=null,l=!1,c=!1;return\"string\"==typeof t&&(t=j(t)),\"object\"==typeof t&&(F(t.r)&&F(t.g)&&F(t.b)?(e=a(t.r,t.g,t.b),l=!0,c=\"%\"===String(t.r).substr(-1)?\"prgb\":\"rgb\"):F(t.h)&&F(t.s)&&F(t.v)?(n=D(t.s),i=D(t.v),e=u(t.h,n,i),l=!0,c=\"hsv\"):F(t.h)&&F(t.s)&&F(t.l)&&(n=D(t.s),o=D(t.l),e=s(t.h,n,o),l=!0,c=\"hsl\"),t.hasOwnProperty(\"a\")&&(r=t.a)),r=E(r),{ok:l,format:t.format||c,r:H(255,G(e.r,0)),g:H(255,G(e.g,0)),b:H(255,G(e.b,0)),a:r}}function a(t,e,r){return{r:255*S(t,255),g:255*S(e,255),b:255*S(r,255)}}function o(t,e,r){t=S(t,255),e=S(e,255),r=S(r,255);var n,i,a=G(t,e,r),o=H(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function s(t,e,r){function n(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}var i,a,o;if(t=S(t,360),e=S(e,100),r=S(r,100),0===e)i=a=o=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;i=n(l,s,t+1/3),a=n(l,s,t),o=n(l,s,t-1/3)}return{r:255*i,g:255*a,b:255*o}}function l(t,e,r){t=S(t,255),e=S(e,255),r=S(r,255);var n,i,a=G(t,e,r),o=H(t,e,r),s=a,l=a-o;if(i=0===a?0:l/a,a==o)n=0;else{switch(a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,v:s}}function u(t,r,n){t=6*S(t,360),r=S(r,100),n=S(n,100);var i=e.floor(t),a=t-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),u=i%6,c=[n,s,o,o,l,n][u],h=[l,n,n,s,o,o][u],f=[o,o,l,n,n,s][u];return{r:255*c,g:255*h,b:255*f}}function c(t,e,r,n){var i=[P(q(t).toString(16)),P(q(e).toString(16)),P(q(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\"\")}function h(t,e,r,n,i){var a=[P(q(t).toString(16)),P(q(e).toString(16)),P(q(r).toString(16)),P(O(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(\"\")}function f(t,e,r,n){var i=[P(O(n)),P(q(t).toString(16)),P(q(e).toString(16)),P(q(r).toString(16))];return i.join(\"\")}function d(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.s-=e/100,r.s=L(r.s),n(r)}function p(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.s+=e/100,r.s=L(r.s),n(r)}function g(t){return n(t).desaturate(100)}function m(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.l+=e/100,r.l=L(r.l),n(r)}function v(t,e){e=0===e?0:e||10;var r=n(t).toRgb();return r.r=G(0,H(255,r.r-q(255*-(e/100)))),r.g=G(0,H(255,r.g-q(255*-(e/100)))),r.b=G(0,H(255,r.b-q(255*-(e/100)))),n(r)}function y(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.l-=e/100,r.l=L(r.l),n(r)}function x(t,e){var r=n(t).toHsl(),i=(r.h+e)%360;return r.h=i<0?360+i:i,n(r)}function b(t){var e=n(t).toHsl();return e.h=(e.h+180)%360,n(e)}function _(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+120)%360,s:e.s,l:e.l}),n({h:(r+240)%360,s:e.s,l:e.l})]}function w(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+90)%360,s:e.s,l:e.l}),n({h:(r+180)%360,s:e.s,l:e.l}),n({h:(r+270)%360,s:e.s,l:e.l})]}function M(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+72)%360,s:e.s,l:e.l}),n({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var i=n(t).toHsl(),a=360/r,o=[n(t)];for(i.h=(i.h-(a*e>>1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(n(i));return o}function k(t,e){e=e||6;for(var r=n(t).toHsv(),i=r.h,a=r.s,o=r.v,s=[],l=1/e;e--;)s.push(n({h:i,s:a,v:o})),o=(o+l)%1;return s}function T(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}function E(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function S(t,r){C(t)&&(t=\"100%\");var n=I(t);return t=H(r,G(0,parseFloat(t))),n&&(t=parseInt(t*r,10)/100),e.abs(t-r)<1e-6?1:t%r/parseFloat(r)}function L(t){return H(1,G(0,t))}function z(t){return parseInt(t,16)}function C(t){return\"string\"==typeof t&&t.indexOf(\".\")!=-1&&1===parseFloat(t)}function I(t){return\"string\"==typeof t&&t.indexOf(\"%\")!=-1}function P(t){return 1==t.length?\"0\"+t:\"\"+t}function D(t){return t<=1&&(t=100*t+\"%\"),t}function O(t){return e.round(255*parseFloat(t)).toString(16)}function R(t){return z(t)/255}function F(t){return!!Z.CSS_UNIT.exec(t)}function j(t){t=t.replace(B,\"\").replace(U,\"\").toLowerCase();var e=!1;if(Y[t])t=Y[t],e=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};var r;return(r=Z.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=Z.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=Z.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=Z.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=Z.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=Z.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=Z.hex8.exec(t))?{r:z(r[1]),g:z(r[2]),b:z(r[3]),a:R(r[4]),format:e?\"name\":\"hex8\"}:(r=Z.hex6.exec(t))?{r:z(r[1]),g:z(r[2]),b:z(r[3]),format:e?\"name\":\"hex\"}:(r=Z.hex4.exec(t))?{r:z(r[1]+\"\"+r[1]),g:z(r[2]+\"\"+r[2]),b:z(r[3]+\"\"+r[3]),a:R(r[4]+\"\"+r[4]),format:e?\"name\":\"hex8\"}:!!(r=Z.hex3.exec(t))&&{r:z(r[1]+\"\"+r[1]),g:z(r[2]+\"\"+r[2]),b:z(r[3]+\"\"+r[3]),format:e?\"name\":\"hex\"}}function N(t){var e,r;return t=t||{level:\"AA\",size:\"small\"},e=(t.level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\"),\"small\"!==r&&\"large\"!==r&&(r=\"small\"),{level:e,size:r}}var B=/^\\s+/,U=/\\s+$/,V=0,q=e.round,H=e.min,G=e.max,X=e.random;n.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,r,n,i,a,o,s=this.toRgb();return t=s.r/255,r=s.g/255,n=s.b/255,i=t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4),a=r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4),o=n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*o},setAlpha:function(t){return this._a=E(t),this._roundA=q(100*this._a)/100,this},toHsv:function(){var t=l(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=l(this._r,this._g,this._b),e=q(360*t.h),r=q(100*t.s),n=q(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=o(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=o(this._r,this._g,this._b),e=q(360*t.h),r=q(100*t.s),n=q(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return c(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return h(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:q(this._r),g:q(this._g),b:q(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+q(this._r)+\", \"+q(this._g)+\", \"+q(this._b)+\")\":\"rgba(\"+q(this._r)+\", \"+q(this._g)+\", \"+q(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:q(100*S(this._r,255))+\"%\",g:q(100*S(this._g,255))+\"%\",b:q(100*S(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+q(100*S(this._r,255))+\"%, \"+q(100*S(this._g,255))+\"%, \"+q(100*S(this._b,255))+\"%)\":\"rgba(\"+q(100*S(this._r,255))+\"%, \"+q(100*S(this._g,255))+\"%, \"+q(100*S(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(W[c(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+f(this._r,this._g,this._b,this._a),r=e,i=this._gradientType?\"GradientType = 1, \":\"\";if(t){var a=n(t);r=\"#\"+f(a._r,a._g,a._b,a._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+i+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0,i=!e&&n&&(\"hex\"===t||\"hex6\"===t||\"hex3\"===t||\"hex4\"===t||\"hex8\"===t||\"name\"===t);return i?\"name\"===t&&0===this._a?this.toName():this.toRgbString():(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString())},clone:function(){return n(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(m,arguments)},brighten:function(){\nreturn this._applyModification(v,arguments)},darken:function(){return this._applyModification(y,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(p,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(x,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(b,arguments)},monochromatic:function(){return this._applyCombination(k,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(_,arguments)},tetrad:function(){return this._applyCombination(w,arguments)}},n.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var i in t)t.hasOwnProperty(i)&&(\"a\"===i?r[i]=t[i]:r[i]=D(t[i]));t=r}return n(t,e)},n.equals=function(t,e){return!(!t||!e)&&n(t).toRgbString()==n(e).toRgbString()},n.random=function(){return n.fromRatio({r:X(),g:X(),b:X()})},n.mix=function(t,e,r){r=0===r?0:r||50;var i=n(t).toRgb(),a=n(e).toRgb(),o=r/100,s={r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a};return n(s)},n.readability=function(t,r){var i=n(t),a=n(r);return(e.max(i.getLuminance(),a.getLuminance())+.05)/(e.min(i.getLuminance(),a.getLuminance())+.05)},n.isReadable=function(t,e,r){var i,a,o=n.readability(t,e);switch(a=!1,i=N(r),i.level+i.size){case\"AAsmall\":case\"AAAlarge\":a=o>=4.5;break;case\"AAlarge\":a=o>=3;break;case\"AAAsmall\":a=o>=7}return a},n.mostReadable=function(t,e,r){var i,a,o,s,l=null,u=0;r=r||{},a=r.includeFallbackColors,o=r.level,s=r.size;for(var c=0;c<e.length;c++)i=n.readability(t,e[c]),i>u&&(u=i,l=n(e[c]));return n.isReadable(t,l,{level:o,size:s})||!a?l:(r.includeFallbackColors=!1,n.mostReadable(t,[\"#fff\",\"#000\"],r))};var Y=n.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},W=n.hexNames=T(Y),Z=function(){var t=\"[-\\\\+]?\\\\d+%?\",e=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",r=\"(?:\"+e+\")|(?:\"+t+\")\",n=\"[\\\\s|\\\\(]+(\"+r+\")[,|\\\\s]+(\"+r+\")[,|\\\\s]+(\"+r+\")\\\\s*\\\\)?\",i=\"[\\\\s|\\\\(]+(\"+r+\")[,|\\\\s]+(\"+r+\")[,|\\\\s]+(\"+r+\")[,|\\\\s]+(\"+r+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(r),rgb:new RegExp(\"rgb\"+n),rgba:new RegExp(\"rgba\"+i),hsl:new RegExp(\"hsl\"+n),hsla:new RegExp(\"hsla\"+i),hsv:new RegExp(\"hsv\"+n),hsva:new RegExp(\"hsva\"+i),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();\"undefined\"!=typeof r&&r.exports?r.exports=n:\"function\"==typeof t&&t.amd?t(function(){return n}):window.tinycolor=n}(Math)},{}],490:[function(t,e,r){\"use strict\";function n(t,e){var r=o(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function i(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var i=n(r,\"font-size\")/128;return e.removeChild(r),i}function a(t,e){switch(e=e||document.body,t=(t||\"px\").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case\"%\":return e.clientHeight/100;case\"ch\":case\"ex\":return i(t,e);case\"em\":return n(e,\"font-size\");case\"rem\":return n(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return s;case\"cm\":return s/2.54;case\"mm\":return s/25.4;case\"pt\":return s/72;case\"pc\":return s/6}return 1}var o=t(\"parse-unit\");e.exports=a;var s=96},{\"parse-unit\":433}],491:[function(e,r,n){!function(e,i){\"object\"==typeof n&&\"undefined\"!=typeof r?i(n):\"function\"==typeof t&&t.amd?t([\"exports\"],i):i(e.topojson=e.topojson||{})}(this,function(t){\"use strict\";function e(t,e){var n=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=r(t,e);return null==n&&null==i?{type:\"Feature\",properties:a,geometry:o}:null==i?{type:\"Feature\",id:n,properties:a,geometry:o}:{type:\"Feature\",id:n,bbox:i,properties:a,geometry:o}}function r(t,e){function r(t,e){e.length&&e.pop();for(var r=h[t<0?~t:t],n=0,i=r.length;n<i;++n)e.push(u(r[n].slice(),n));t<0&&c(e,i)}function n(t){return u(t.slice())}function i(t){for(var e=[],n=0,i=t.length;n<i;++n)r(t[n],e);return e.length<2&&e.push(e[0].slice()),e}function a(t){for(var e=i(t);e.length<4;)e.push(e[0].slice());return e}function o(t){return t.map(a)}function s(t){var e,r=t.type;switch(r){case\"GeometryCollection\":return{type:r,geometries:t.geometries.map(s)};case\"Point\":e=n(t.coordinates);break;case\"MultiPoint\":e=t.coordinates.map(n);break;case\"LineString\":e=i(t.arcs);break;case\"MultiLineString\":e=t.arcs.map(i);break;case\"Polygon\":e=o(t.arcs);break;case\"MultiPolygon\":e=t.arcs.map(o);break;default:return null}return{type:r,coordinates:e}}var u=l(t),h=t.arcs;return s(e)}function n(t,e,r){var n,a,o;if(arguments.length>1)n=i(t,e,r);else for(a=0,n=new Array(o=t.arcs.length);a<o;++a)n[a]=a;return{type:\"MultiLineString\",arcs:f(t,n)}}function i(t,e,r){function n(t){var e=t<0?~t:t;(c[e]||(c[e]=[])).push({i:t,g:l})}function i(t){t.forEach(n)}function a(t){t.forEach(i)}function o(t){t.forEach(a)}function s(t){switch(l=t,t.type){case\"GeometryCollection\":t.geometries.forEach(s);break;case\"LineString\":i(t.arcs);break;case\"MultiLineString\":case\"Polygon\":a(t.arcs);break;case\"MultiPolygon\":o(t.arcs)}}var l,u=[],c=[];return s(e),c.forEach(null==r?function(t){u.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&u.push(t[0].i)}),u}function a(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}function o(t,e){function n(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(n);break;case\"Polygon\":i(t.arcs);break;case\"MultiPolygon\":t.arcs.forEach(i)}}function i(t){t.forEach(function(e){e.forEach(function(e){(s[e=e<0?~e:e]||(s[e]=[])).push(t)})}),l.push(t)}function o(e){return a(r(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}var s={},l=[],u=[];return e.forEach(n),l.forEach(function(t){if(!t._){var e=[],r=[t];for(t._=1,u.push(e);t=r.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){s[t<0?~t:t].forEach(function(t){t._||(t._=1,r.push(t))})})})}}),l.forEach(function(t){delete t._}),{type:\"MultiPolygon\",arcs:u.map(function(e){var r,n=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){s[t<0?~t:t].length<2&&n.push(t)})})}),n=f(t,n),(r=n.length)>1)for(var i,a,l=1,u=o(n[0]);l<r;++l)(i=o(n[l]))>u&&(a=n[0],n[0]=n[l],n[l]=a,u=i);return n})}}var s=function(t){return t},l=function(t){if(null==(e=t.transform))return s;var e,r,n,i=e.scale[0],a=e.scale[1],o=e.translate[0],l=e.translate[1];return function(t,e){return e||(r=n=0),t[0]=(r+=t[0])*i+o,t[1]=(n+=t[1])*a+l,t}},u=function(t){function e(t){s[0]=t[0],s[1]=t[1],o(s),s[0]<u&&(u=s[0]),s[0]>h&&(h=s[0]),s[1]<c&&(c=s[1]),s[1]>f&&(f=s[1])}function r(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(r);break;case\"Point\":e(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(e)}}var n=t.bbox;if(!n){var i,a,o=l(t),s=new Array(2),u=1/0,c=u,h=-u,f=-u;t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)i=t[e],s[0]=i[0],s[1]=i[1],o(s,e),s[0]<u&&(u=s[0]),s[0]>h&&(h=s[0]),s[1]<c&&(c=s[1]),s[1]>f&&(f=s[1])});for(a in t.objects)r(t.objects[a]);n=t.bbox=[u,c,h,f]}return n},c=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r},h=function(t,r){return\"GeometryCollection\"===r.type?{type:\"FeatureCollection\",features:r.geometries.map(function(r){return e(t,r)})}:e(t,r)},f=function(t,e){function r(e){var r,n=t.arcs[e<0?~e:e],i=n[0];return t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1],e<0?[r,i]:[i,r]}function n(t,e){for(var r in t){var n=t[r];delete e[n.start],delete n.start,delete n.end,n.forEach(function(t){i[t<0?~t:t]=1}),s.push(n)}}var i={},a={},o={},s=[],l=-1;return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++l],e[l]=r,e[n]=i)}),e.forEach(function(t){var e,n,i=r(t),s=i[0],l=i[1];if(e=o[s])if(delete o[e.end],e.push(t),e.end=l,n=a[l]){delete a[n.start];var u=n===e?e:e.concat(n);a[u.start=e.start]=o[u.end=n.end]=u}else a[e.start]=o[e.end]=e;else if(e=a[l])if(delete a[e.start],e.unshift(t),e.start=s,n=o[s]){delete o[n.end];var c=n===e?e:n.concat(e);a[c.start=n.start]=o[c.end=e.end]=c}else a[e.start]=o[e.end]=e;else e=[t],a[e.start=s]=o[e.end=l]=e}),n(o,a),n(a,o),e.forEach(function(t){i[t<0?~t:t]||s.push([t])}),s},d=function(t){return r(t,n.apply(this,arguments))},p=function(t){return r(t,o.apply(this,arguments))},g=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r},m=function(t){function e(t,e){t.forEach(function(t){t<0&&(t=~t);var r=i[t];r?r.push(e):i[t]=[e]})}function r(t,r){t.forEach(function(t){e(t,r)})}function n(t,e){\"GeometryCollection\"===t.type?t.geometries.forEach(function(t){n(t,e)}):t.type in o&&o[t.type](t.arcs,e)}var i={},a=t.map(function(){return[]}),o={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(t,e){t.forEach(function(t){r(t,e)})}};t.forEach(n);for(var s in i)for(var l=i[s],u=l.length,c=0;c<u;++c)for(var h=c+1;h<u;++h){var f,d=l[c],p=l[h];(f=a[d])[s=g(f,p)]!==p&&f.splice(s,0,p),(f=a[p])[s=g(f,d)]!==d&&f.splice(s,0,d)}return a},v=function(t,e){function r(t){t[0]=Math.round((t[0]-o)/s),t[1]=Math.round((t[1]-l)/c)}function n(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(n);break;case\"Point\":r(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(r)}}if(!((e=Math.floor(e))>=2))throw new Error(\"n must be \\u22652\");if(t.transform)throw new Error(\"already quantized\");var i,a=u(t),o=a[0],s=(a[2]-o)/(e-1)||1,l=a[1],c=(a[3]-l)/(e-1)||1;t.arcs.forEach(function(t){for(var e,r,n,i=1,a=1,u=t.length,h=t[0],f=h[0]=Math.round((h[0]-o)/s),d=h[1]=Math.round((h[1]-l)/c);i<u;++i)h=t[i],r=Math.round((h[0]-o)/s),n=Math.round((h[1]-l)/c),r===f&&n===d||(e=t[a++],e[0]=r-f,f=r,e[1]=n-d,d=n);a<2&&(e=t[a++],e[0]=0,e[1]=0),t.length=a});for(i in t.objects)n(t.objects[i]);return t.transform={scale:[s,c],translate:[o,l]},t},y=function(t){if(null==(e=t.transform))return s;var e,r,n,i=e.scale[0],a=e.scale[1],o=e.translate[0],l=e.translate[1];return function(t,e){e||(r=n=0);var s=Math.round((t[0]-o)/i),u=Math.round((t[1]-l)/a);return t[0]=s-r,r=s,t[1]=u-n,n=u,t}};t.bbox=u,t.feature=h,t.mesh=d,t.meshArcs=n,t.merge=p,t.mergeArcs=o,t.neighbors=m,t.quantize=v,t.transform=l,t.untransform=y,Object.defineProperty(t,\"__esModule\",{value:!0})})},{}],492:[function(t,e,r){\"use strict\";function n(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(o(t+1)),r=[],n=0;n<e;++n){for(var s=i.unrank(t,n),l=[0],u=0,c=0;c<s.length;++c)u+=1<<s[c],l.push(u);a(s)<1&&(l[0]=u,l[t]=0),r.push(l)}return r}e.exports=n;var i=t(\"permutation-rank\"),a=t(\"permutation-parity\"),o=t(\"gamma\")},{gamma:108,\"permutation-parity\":437,\"permutation-rank\":438}],493:[function(t,e,r){\"use strict\";function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t){return Math.min(1,Math.max(-1,t))}function a(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s<3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(var s=0;s<3;++s)i[s]-=o/a*t[s];return f(i,i),i}function o(t,e,r,n,i,a,o,s){this.center=l(r),this.up=l(n),this.right=l(i),this.radius=l([a]),this.angle=l([o,s]),this.angle.bounds=[[-(1/0),-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}function s(t){t=t||{};var e=t.center||[0,0,0],r=t.up||[0,1,0],i=t.right||a(r),s=t.radius||1,l=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),f(r,r),i=[].slice.call(i,0,3),f(i,i),\"eye\"in t){var c=t.eye,p=[c[0]-e[0],c[1]-e[1],c[2]-e[2]];h(i,p,r),n(i[0],i[1],i[2])<1e-6?i=a(r):f(i,i),s=n(p[0],p[1],p[2]);var g=d(r,p)/s,m=d(i,p)/s;u=Math.acos(g),l=Math.acos(m)}return s=Math.log(s),new o(t.zoomMin,t.zoomMax,e,r,i,s,l,u)}e.exports=s;var l=t(\"filtered-vector\"),u=t(\"gl-mat4/invert\"),c=t(\"gl-mat4/rotate\"),h=t(\"gl-vec3/cross\"),f=t(\"gl-vec3/normalize\"),d=t(\"gl-vec3/dot\"),p=o.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-(1/0),e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,i=0,a=0,o=0;o<3;++o)a+=e[o]*r[o],i+=e[o]*e[o];for(var s=Math.sqrt(i),l=0,o=0;o<3;++o)r[o]-=e[o]*a/i,l+=r[o]*r[o],e[o]/=s;for(var u=Math.sqrt(l),o=0;o<3;++o)r[o]/=u;var c=this.computedToward;h(c,e,r),f(c,c);for(var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(p),v=Math.sin(p),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,M=x,A=-m*x,k=-v*x,T=y,E=this.computedEye,S=this.computedMatrix,o=0;o<3;++o){var L=_*r[o]+w*c[o]+M*e[o];S[4*o+1]=A*r[o]+k*c[o]+T*e[o],S[4*o+2]=L,S[4*o+3]=0}var z=S[1],C=S[5],I=S[9],P=S[2],D=S[6],O=S[10],R=C*O-I*D,F=I*P-z*O,j=z*D-C*P,N=n(R,F,j);R/=N,F/=N,j/=N,S[0]=R,S[4]=F,S[8]=j;for(var o=0;o<3;++o)E[o]=b[o]+S[2+4*o]*d;for(var o=0;o<3;++o){for(var l=0,B=0;B<3;++B)l+=S[o+4*B]*E[B];S[12+o]=-l}S[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var g=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;g[0]=i[2],g[1]=i[6],g[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l<3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];c(i,i,n,g);for(var l=0;l<3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},p.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=(Math.exp(this.computedRadius[0]),a[1]),s=a[5],l=a[9],u=n(o,s,l);o/=u,s/=u,l/=u;var c=a[0],h=a[4],f=a[8],d=c*o+h*s+f*l;c-=o*d,h-=s*d,f-=l*d;var p=n(c,h,f);c/=p,h/=p,f/=p;var g=c*e+o*r,m=h*e+s*r,v=f*e+l*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+i),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,a){var o=1;\"number\"==typeof r&&(o=0|r),(o<0||o>3)&&(o=1);var s=(o+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var l=e[o],c=e[o+4],h=e[o+8];if(a){var f=Math.abs(l),d=Math.abs(c),p=Math.abs(h),g=Math.max(f,d,p);f===g?(l=l<0?-1:1,c=h=0):p===g?(h=h<0?-1:1,l=c=0):(c=c<0?-1:1,l=h=0)}else{var m=n(l,c,h);l/=m,c/=m,h/=m}var v=e[s],y=e[s+4],x=e[s+8],b=v*l+y*c+x*h;v-=l*b,y-=c*b,x-=h*b;var _=n(v,y,x);v/=_,y/=_,x/=_;var w=c*x-h*y,M=h*v-l*x,A=l*y-c*v,k=n(w,M,A);w/=k,M/=k,A/=k,this.center.jump(t,H,G,X),this.radius.idle(t),this.up.jump(t,l,c,h),this.right.jump(t,v,y,x);var T,E;if(2===o){var S=e[1],L=e[5],z=e[9],C=S*v+L*y+z*x,I=S*w+L*M+z*A;T=R<0?-Math.PI/2:Math.PI/2,E=Math.atan2(I,C)}else{var P=e[2],D=e[6],O=e[10],R=P*l+D*c+O*h,F=P*v+D*y+O*x,j=P*w+D*M+O*A;T=Math.asin(i(R)),E=Math.atan2(j,F)}this.angle.jump(t,E,T),this.recalcMatrix(t);var N=e[2],B=e[6],U=e[10],V=this.computedMatrix;u(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,X=V[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-B*Y,X-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,a){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter,a=a||this.computedUp;var o=a[0],s=a[1],l=a[2],u=n(o,s,l);if(!(u<1e-6)){o/=u,s/=u,l/=u;var c=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],d=n(c,h,f);if(!(d<1e-6)){c/=d,h/=d,f/=d;var p=this.computedRight,g=p[0],m=p[1],v=p[2],y=o*g+s*m+l*v;g-=y*o,m-=y*s,v-=y*l;var x=n(g,m,v);if(!(x<.01&&(g=s*f-l*h,m=l*c-o*f,v=o*h-s*c,x=n(g,m,v),x<1e-6))){g/=x,m/=x,v/=x,this.up.set(t,o,s,l),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var b=s*v-l*m,_=l*g-o*v,w=o*m-s*g,M=n(b,_,w);b/=M,_/=M,w/=M;var A=o*c+s*h+l*f,k=g*c+m*h+v*f,T=b*c+_*h+w*f,E=Math.asin(i(A)),S=Math.atan2(T,k),L=this.angle._state,z=L[L.length-1],C=L[L.length-2];z%=2*Math.PI;var I=Math.abs(z+2*Math.PI-S),P=Math.abs(z-S),D=Math.abs(z-2*Math.PI-S);I<P&&(z+=2*Math.PI),D<P&&(z-=2*Math.PI),this.angle.jump(this.angle.lastT(),z,C),this.angle.set(t,S,E)}}}}},{\"filtered-vector\":106,\"gl-mat4/invert\":149,\"gl-mat4/rotate\":153,\"gl-vec3/cross\":237,\"gl-vec3/dot\":238,\"gl-vec3/normalize\":241}],494:[function(t,e,r){\"use strict\";function n(t,e,r){var n=t*e,a=i*t,o=a-t,s=a-o,l=t-s,u=i*e,c=u-e,h=u-c,f=e-h,d=n-s*h,p=d-l*h,g=p-s*f,m=l*f-g;return r?(r[0]=m,r[1]=n,r):[m,n]}e.exports=n;var i=+(Math.pow(2,27)+1)},{}],495:[function(t,e,r){\"use strict\";function n(t,e,r){var n=t+e,i=n-t,a=n-i,o=e-i,s=t-a;return r?(r[0]=s+o,r[1]=n,r):[s+o,n]}e.exports=n},{}],496:[function(t,e,r){(function(e,n){\"use strict\";function i(t){if(t){var e=t.length||t.byteLength,r=y.log2(e);w[r].push(t)}}function a(t){i(t.buffer)}function o(t){var t=y.nextPow2(t),e=y.log2(t),r=w[e];return r.length>0?r.pop():new ArrayBuffer(t)}function s(t){return new Uint8Array(o(t),0,t)}function l(t){return new Uint16Array(o(2*t),0,t)}function u(t){return new Uint32Array(o(4*t),0,t)}function c(t){return new Int8Array(o(t),0,t)}function h(t){return new Int16Array(o(2*t),0,t)}function f(t){return new Int32Array(o(4*t),0,t)}function d(t){return new Float32Array(o(4*t),0,t)}function p(t){return new Float64Array(o(8*t),0,t)}function g(t){return b?new Uint8ClampedArray(o(t),0,t):s(t)}function m(t){return new DataView(o(t),0,t)}function v(t){t=y.nextPow2(t);var e=y.log2(t),r=M[e];return r.length>0?r.pop():new n(t)}var y=t(\"bit-twiddle\"),x=t(\"dup\");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:x([32,0]),UINT16:x([32,0]),UINT32:x([32,0]),INT8:x([32,0]),INT16:x([32,0]),INT32:x([32,0]),FLOAT:x([32,0]),DOUBLE:x([32,0]),DATA:x([32,0]),UINT8C:x([32,0]),BUFFER:x([32,0])});var b=\"undefined\"!=typeof Uint8ClampedArray,_=e.__TYPEDARRAY_POOL;_.UINT8C||(_.UINT8C=x([32,0])),_.BUFFER||(_.BUFFER=x([32,0]));var w=_.DATA,M=_.BUFFER;r.free=function(t){if(n.isBuffer(t))M[y.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|y.log2(e);w[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=a,r.freeArrayBuffer=i,r.freeBuffer=function(t){M[y.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return o(t);switch(e){case\"uint8\":return s(t);case\"uint16\":return l(t);case\"uint32\":return u(t);case\"int8\":return c(t);case\"int16\":return h(t);case\"int32\":return f(t);case\"float\":case\"float32\":return d(t);case\"double\":case\"float64\":return p(t);case\"uint8_clamped\":return g(t);case\"buffer\":return v(t);case\"data\":case\"dataview\":return m(t);default:return null}return null},r.mallocArrayBuffer=o,r.mallocUint8=s,r.mallocUint16=l,r.mallocUint32=u,r.mallocInt8=c,r.mallocInt16=h,r.mallocInt32=f,r.mallocFloat32=r.mallocFloat=d,r.mallocFloat64=r.mallocDouble=p,r.mallocUint8Clamped=g,r.mallocDataView=m,r.mallocBuffer=v,r.clearCache=function(){for(var t=0;t<32;++t)_.UINT8[t].length=0,_.UINT16[t].length=0,_.UINT32[t].length=0,_.INT8[t].length=0,_.INT16[t].length=0,_.INT32[t].length=0,_.FLOAT[t].length=0,_.DOUBLE[t].length=0,_.UINT8C[t].length=0,w[t].length=0,M[t].length=0}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t(\"buffer\").Buffer)},{\"bit-twiddle\":54,buffer:64,dup:98}],497:[function(t,e,r){\"use strict\";\"use restrict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,\"length\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],498:[function(t,e,r){\"use strict\";function n(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,i=t[o],e(i,a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}function i(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,n=t[a],n!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}function a(t,e,r){return 0===t.length?t:e?(r||t.sort(e),n(t,e)):(r||t.sort(),i(t))}e.exports=a},{}],499:[function(t,e,r){function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}e.exports=n,n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){\"undefined\"==typeof e&&(e=1e-6);var r,n,i,a,o;for(i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if(r=0,n=1,i=t,i<r)return r;if(i>n)return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],500:[function(t,e,r){\"use strict\";function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(t,e,r){if(t&&u.isObject(t)&&t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}function a(t){return u.isString(t)&&(t=i(t)),t instanceof n?t.format():n.prototype.format.call(t)}function o(t,e){return i(t,!1,!0).resolve(e)}function s(t,e){return t?i(t,!1,!0).resolveObject(e):e}var l=t(\"punycode\"),u=t(\"./util\");r.parse=i,r.resolve=o,r.resolveObject=s,r.format=a,r.Url=n;var c=/^([a-z0-9.+-]+:)/i,h=/:[0-9]*$/,f=/^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,d=[\"<\",\">\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"],p=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(d),g=[\"'\"].concat(p),m=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(g),v=[\"/\",\"?\",\"#\"],y=255,x=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,_={javascript:!0,\"javascript:\":!0},w={javascript:!0,\"javascript:\":!0},M={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0},A=t(\"querystring\");n.prototype.parse=function(t,e,r){if(!u.isString(t))throw new TypeError(\"Parameter 'url' must be a string, not \"+typeof t);var n=t.indexOf(\"?\"),i=n!==-1&&n<t.indexOf(\"#\")?\"?\":\"#\",a=t.split(i),o=/\\\\/g;a[0]=a[0].replace(o,\"/\"),t=a.join(i);var s=t;if(s=s.trim(),!r&&1===t.split(\"#\").length){var h=f.exec(s);if(h)return this.path=s,this.href=s,this.pathname=h[1],h[2]?(this.search=h[2],e?this.query=A.parse(this.search.substr(1)):this.query=this.search.substr(1)):e&&(this.search=\"\",this.query={}),this}var d=c.exec(s);if(d){d=d[0];var p=d.toLowerCase();this.protocol=p,s=s.substr(d.length)}if(r||d||s.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)){var k=\"//\"===s.substr(0,2);!k||d&&w[d]||(s=s.substr(2),this.slashes=!0)}if(!w[d]&&(k||d&&!M[d])){for(var T=-1,E=0;E<v.length;E++){var S=s.indexOf(v[E]);S!==-1&&(T===-1||S<T)&&(T=S)}var L,z;z=T===-1?s.lastIndexOf(\"@\"):s.lastIndexOf(\"@\",T),z!==-1&&(L=s.slice(0,z),s=s.slice(z+1),this.auth=decodeURIComponent(L)),T=-1;for(var E=0;E<m.length;E++){var S=s.indexOf(m[E]);S!==-1&&(T===-1||S<T)&&(T=S)}T===-1&&(T=s.length),this.host=s.slice(0,T),s=s.slice(T),this.parseHost(),this.hostname=this.hostname||\"\";var C=\"[\"===this.hostname[0]&&\"]\"===this.hostname[this.hostname.length-1];if(!C)for(var I=this.hostname.split(/\\./),E=0,P=I.length;E<P;E++){var D=I[E];if(D&&!D.match(x)){for(var O=\"\",R=0,F=D.length;R<F;R++)O+=D.charCodeAt(R)>127?\"x\":D[R];if(!O.match(x)){var j=I.slice(0,E),N=I.slice(E+1),B=D.match(b);B&&(j.push(B[1]),N.unshift(B[2])),N.length&&(s=\"/\"+N.join(\".\")+s),this.hostname=j.join(\".\");break}}}this.hostname.length>y?this.hostname=\"\":this.hostname=this.hostname.toLowerCase(),C||(this.hostname=l.toASCII(this.hostname));var U=this.port?\":\"+this.port:\"\",V=this.hostname||\"\";this.host=V+U,this.href+=this.host,C&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\"/\"!==s[0]&&(s=\"/\"+s))}if(!_[p])for(var E=0,P=g.length;E<P;E++){var q=g[E];if(s.indexOf(q)!==-1){var H=encodeURIComponent(q);H===q&&(H=escape(q)),s=s.split(q).join(H)}}var G=s.indexOf(\"#\");G!==-1&&(this.hash=s.substr(G),s=s.slice(0,G));var X=s.indexOf(\"?\");if(X!==-1?(this.search=s.substr(X),this.query=s.substr(X+1),e&&(this.query=A.parse(this.query)),s=s.slice(0,X)):e&&(this.search=\"\",this.query={}),s&&(this.pathname=s),M[p]&&this.hostname&&!this.pathname&&(this.pathname=\"/\"),this.pathname||this.search){var U=this.pathname||\"\",Y=this.search||\"\";this.path=U+Y}return this.href=this.format(),this},n.prototype.format=function(){var t=this.auth||\"\";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,\":\"),t+=\"@\");var e=this.protocol||\"\",r=this.pathname||\"\",n=this.hash||\"\",i=!1,a=\"\";this.host?i=t+this.host:this.hostname&&(i=t+(this.hostname.indexOf(\":\")===-1?this.hostname:\"[\"+this.hostname+\"]\"),this.port&&(i+=\":\"+this.port)),this.query&&u.isObject(this.query)&&Object.keys(this.query).length&&(a=A.stringify(this.query));var o=this.search||a&&\"?\"+a||\"\";return e&&\":\"!==e.substr(-1)&&(e+=\":\"),this.slashes||(!e||M[e])&&i!==!1?(i=\"//\"+(i||\"\"),r&&\"/\"!==r.charAt(0)&&(r=\"/\"+r)):i||(i=\"\"),n&&\"#\"!==n.charAt(0)&&(n=\"#\"+n),o&&\"?\"!==o.charAt(0)&&(o=\"?\"+o),r=r.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),o=o.replace(\"#\",\"%23\"),e+i+r+o+n},n.prototype.resolve=function(t){return this.resolveObject(i(t,!1,!0)).format()},n.prototype.resolveObject=function(t){if(u.isString(t)){var e=new n;e.parse(t,!1,!0),t=e}for(var r=new n,i=Object.keys(this),a=0;a<i.length;a++){var o=i[a];r[o]=this[o]}if(r.hash=t.hash,\"\"===t.href)return r.href=r.format(),r;if(t.slashes&&!t.protocol){for(var s=Object.keys(t),l=0;l<s.length;l++){var c=s[l];\"protocol\"!==c&&(r[c]=t[c])}return M[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname=\"/\"),r.href=r.format(),r}if(t.protocol&&t.protocol!==r.protocol){if(!M[t.protocol]){for(var h=Object.keys(t),f=0;f<h.length;f++){var d=h[f];r[d]=t[d]}return r.href=r.format(),r}if(r.protocol=t.protocol,t.host||w[t.protocol])r.pathname=t.pathname;else{for(var p=(t.pathname||\"\").split(\"/\");p.length&&!(t.host=p.shift()););t.host||(t.host=\"\"),t.hostname||(t.hostname=\"\"),\"\"!==p[0]&&p.unshift(\"\"),p.length<2&&p.unshift(\"\"),r.pathname=p.join(\"/\")}if(r.search=t.search,r.query=t.query,r.host=t.host||\"\",r.auth=t.auth,r.hostname=t.hostname||t.host,r.port=t.port,r.pathname||r.search){var g=r.pathname||\"\",m=r.search||\"\";r.path=g+m}return r.slashes=r.slashes||t.slashes,r.href=r.format(),r}var v=r.pathname&&\"/\"===r.pathname.charAt(0),y=t.host||t.pathname&&\"/\"===t.pathname.charAt(0),x=y||v||r.host&&t.pathname,b=x,_=r.pathname&&r.pathname.split(\"/\")||[],p=t.pathname&&t.pathname.split(\"/\")||[],A=r.protocol&&!M[r.protocol];if(A&&(r.hostname=\"\",r.port=null,r.host&&(\"\"===_[0]?_[0]=r.host:_.unshift(r.host)),r.host=\"\",t.protocol&&(t.hostname=null,t.port=null,t.host&&(\"\"===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),x=x&&(\"\"===p[0]||\"\"===_[0])),y)r.host=t.host||\"\"===t.host?t.host:r.host,r.hostname=t.hostname||\"\"===t.hostname?t.hostname:r.hostname,r.search=t.search,r.query=t.query,_=p;else if(p.length)_||(_=[]),_.pop(),_=_.concat(p),r.search=t.search,r.query=t.query;else if(!u.isNullOrUndefined(t.search)){if(A){r.hostname=r.host=_.shift();var k=!!(r.host&&r.host.indexOf(\"@\")>0)&&r.host.split(\"@\");k&&(r.auth=k.shift(),r.host=r.hostname=k.shift())}return r.search=t.search,r.query=t.query,u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:\"\")+(r.search?r.search:\"\")),r.href=r.format(),r}if(!_.length)return r.pathname=null,r.search?r.path=\"/\"+r.search:r.path=null,r.href=r.format(),r;for(var T=_.slice(-1)[0],E=(r.host||t.host||_.length>1)&&(\".\"===T||\"..\"===T)||\"\"===T,S=0,L=_.length;L>=0;L--)T=_[L],\".\"===T?_.splice(L,1):\"..\"===T?(_.splice(L,1),S++):S&&(_.splice(L,1),S--);if(!x&&!b)for(;S--;S)_.unshift(\"..\");\n!x||\"\"===_[0]||_[0]&&\"/\"===_[0].charAt(0)||_.unshift(\"\"),E&&\"/\"!==_.join(\"/\").substr(-1)&&_.push(\"\");var z=\"\"===_[0]||_[0]&&\"/\"===_[0].charAt(0);if(A){r.hostname=r.host=z?\"\":_.length?_.shift():\"\";var k=!!(r.host&&r.host.indexOf(\"@\")>0)&&r.host.split(\"@\");k&&(r.auth=k.shift(),r.host=r.hostname=k.shift())}return x=x||r.host&&_.length,x&&!z&&_.unshift(\"\"),_.length?r.pathname=_.join(\"/\"):(r.pathname=null,r.path=null),u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:\"\")+(r.search?r.search:\"\")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=h.exec(t);e&&(e=e[0],\":\"!==e&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},{\"./util\":501,punycode:446,querystring:450}],501:[function(t,e,r){\"use strict\";e.exports={isString:function(t){return\"string\"==typeof t},isObject:function(t){return\"object\"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],502:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],503:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],504:[function(t,e,r){(function(e,n){function i(t,e){var n={seen:[],stylize:o};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(e)?n.showHidden=e:e&&r._extend(n,e),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=a),l(n,t,n.depth)}function a(t,e){var r=i.styles[e];return r?\"\\x1b[\"+i.colors[r][0]+\"m\"+t+\"\\x1b[\"+i.colors[r][1]+\"m\":t}function o(t,e){return t}function s(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}function l(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return x(i)||(i=l(t,i,n)),i}var a=u(t,e);if(a)return a;var o=Object.keys(e),g=s(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),k(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return c(e);if(0===o.length){if(T(e)){var m=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+m+\"]\",\"special\")}if(w(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(A(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(k(e))return c(e)}var v=\"\",y=!1,b=[\"{\",\"}\"];if(p(e)&&(y=!0,b=[\"[\",\"]\"]),T(e)){var _=e.name?\": \"+e.name:\"\";v=\" [Function\"+_+\"]\"}if(w(e)&&(v=\" \"+RegExp.prototype.toString.call(e)),A(e)&&(v=\" \"+Date.prototype.toUTCString.call(e)),k(e)&&(v=\" \"+c(e)),0===o.length&&(!y||0==e.length))return b[0]+v+b[1];if(n<0)return w(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\");t.seen.push(e);var M;return M=y?h(t,e,n,g,o):o.map(function(r){return f(t,e,n,g,r,y)}),t.seen.pop(),d(M,v,b)}function u(t,e){if(_(e))return t.stylize(\"undefined\",\"undefined\");if(x(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}return y(e)?t.stylize(\"\"+e,\"number\"):g(e)?t.stylize(\"\"+e,\"boolean\"):m(e)?t.stylize(\"null\",\"null\"):void 0}function c(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function h(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)C(e,String(o))?a.push(f(t,e,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||a.push(f(t,e,r,n,i,!0))}),a}function f(t,e,r,n,i,a){var o,s,u;if(u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]},u.get?s=u.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):u.set&&(s=t.stylize(\"[Setter]\",\"special\")),C(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(u.value)<0?(s=m(r)?l(t,u.value,null):l(t,u.value,r-1),s.indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map(function(t){return\"  \"+t}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(t){return\"   \"+t}).join(\"\\n\"))):s=t.stylize(\"[Circular]\",\"special\")),_(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function d(t,e,r){var n=0,i=t.reduce(function(t,e){return n++,e.indexOf(\"\\n\")>=0&&n++,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+r[1]:r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}function p(t){return Array.isArray(t)}function g(t){return\"boolean\"==typeof t}function m(t){return null===t}function v(t){return null==t}function y(t){return\"number\"==typeof t}function x(t){return\"string\"==typeof t}function b(t){return\"symbol\"==typeof t}function _(t){return void 0===t}function w(t){return M(t)&&\"[object RegExp]\"===S(t)}function M(t){return\"object\"==typeof t&&null!==t}function A(t){return M(t)&&\"[object Date]\"===S(t)}function k(t){return M(t)&&(\"[object Error]\"===S(t)||t instanceof Error)}function T(t){return\"function\"==typeof t}function E(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||\"undefined\"==typeof t}function S(t){return Object.prototype.toString.call(t)}function L(t){return t<10?\"0\"+t.toString(10):t.toString(10)}function z(){var t=new Date,e=[L(t.getHours()),L(t.getMinutes()),L(t.getSeconds())].join(\":\");return[t.getDate(),O[t.getMonth()],e].join(\" \")}function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var I=/%[sdj%]/g;r.format=function(t){if(!x(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(i(arguments[r]));return e.join(\" \")}for(var r=1,n=arguments,a=n.length,o=String(t).replace(I,function(t){if(\"%%\"===t)return\"%\";if(r>=a)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}}),s=n[r];r<a;s=n[++r])o+=m(s)||!M(s)?\" \"+s:\" \"+i(s);return o},r.deprecate=function(t,i){function a(){if(!o){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),o=!0}return t.apply(this,arguments)}if(_(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(e.noDeprecation===!0)return t;var o=!1;return a};var P,D={};r.debuglog=function(t){if(_(P)&&(P=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!D[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(P)){var n=e.pid;D[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else D[t]=function(){};return D[t]},r.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=g,r.isNull=m,r.isNullOrUndefined=v,r.isNumber=y,r.isString=x,r.isSymbol=b,r.isUndefined=_,r.isRegExp=w,r.isObject=M,r.isDate=A,r.isError=k,r.isFunction=T,r.isPrimitive=E,r.isBuffer=t(\"./support/isBuffer\");var O=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];r.log=function(){console.log(\"%s - %s\",z(),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!M(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":503,_process:445,inherits:502}],505:[function(t,e,r){e.exports.VectorTile=t(\"./lib/vectortile.js\"),e.exports.VectorTileFeature=t(\"./lib/vectortilefeature.js\"),e.exports.VectorTileLayer=t(\"./lib/vectortilelayer.js\")},{\"./lib/vectortile.js\":506,\"./lib/vectortilefeature.js\":507,\"./lib/vectortilelayer.js\":508}],506:[function(t,e,r){\"use strict\";function n(t,e){this.layers=t.readFields(i,{},e)}function i(t,e,r){if(3===t){var n=new a(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var a=t(\"./vectortilelayer\");e.exports=n},{\"./vectortilelayer\":508}],507:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?a(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}function o(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=s(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}function s(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}var l=t(\"point-geometry\");e.exports=n,n.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,o=0,s=[];t.pos<r;){if(!i){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new l(a,o));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-(1/0),l=1/0,u=-(1/0);t.pos<e;){if(!n){var c=t.readVarint();r=7&c,n=c>>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<l&&(l=a),a>u&&(u=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,u]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+c)/l;t[e]=[360*(r.x+u)/l-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var a,s,l=this.extent*Math.pow(2,r),u=this.extent*t,c=this.extent*e,h=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var d=[];for(a=0;a<h.length;a++)d[a]=h[a][0];h=d,i(h);break;case 2:for(a=0;a<h.length;a++)i(h[a]);break;case 3:for(h=o(h),a=0;a<h.length;a++)for(s=0;s<h[a].length;s++)i(h[a][s])}1===h.length?h=h[0]:f=\"Multi\"+f;var p={type:\"Feature\",geometry:{type:f,coordinates:h},properties:this.properties};return\"id\"in this&&(p.id=this.id),p}},{\"point-geometry\":442}],508:[function(t,e,r){\"use strict\";function n(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(i,this,e),this.length=this._features.length}function i(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(a(r))}function a(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}var o=t(\"./vectortilefeature.js\");e.exports=n,n.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new o(this._pbf,e,this.extent,this._keys,this._values)}},{\"./vectortilefeature.js\":507}],509:[function(t,e,r){\"use strict\";function n(t,e){return\"object\"==typeof e&&null!==e||(e={}),i(t,e.canvas||a,e.context||o,e)}e.exports=n;var i=t(\"./lib/vtext\"),a=null,o=null;\"undefined\"!=typeof document&&(a=document.createElement(\"canvas\"),a.width=8192,a.height=1024,o=a.getContext(\"2d\"))},{\"./lib/vtext\":510}],510:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=e.textAlign||\"start\",i=e.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var u=t[l],c=0;c<2;++c)a[c]=0|Math.min(a[c],u[c]),o[c]=0|Math.max(o[c],u[c]);var h=0;switch(n){case\"center\":h=-.5*(a[0]+o[0]);break;case\"right\":case\"end\":h=-o[0];break;case\"left\":case\"start\":h=-a[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+n+\"'\")}var f=0;switch(i){case\"hanging\":case\"top\":f=-a[1];break;case\"middle\":f=-.5*(a[1]+o[1]);break;case\"alphabetic\":case\"ideographic\":f=-3*r;break;case\"bottom\":f=-o[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+i+\"'\")}var d=1/r;return\"lineHeight\"in e?d*=+e.lineHeight:\"width\"in e?d=e.width/(o[0]-a[0]):\"height\"in e&&(d=e.height/(o[1]-a[1])),t.map(function(t){return[d*(t[0]+h),d*(t[1]+f)]})}function i(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i>8192)throw new Error(\"vectorize-text: String too long (sorry, this will get fixed later)\");var a=3*n;t.height<a&&(t.height=a),e.fillStyle=\"#000\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\"#fff\",e.fillText(r,n,2*n);var o=e.getImageData(0,0,i,a),s=c(o.data,[a,i,4]);return s.pick(-1,-1,0).transpose(1,0)}function a(t,e){var r=u(t,128);return e?h(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function o(t,e,r,i){var o=a(t,i),s=n(o.positions,e,r),l=o.edges,u=\"ccw\"===e.orientation;if(f(s,l),e.polygons||e.polygon||e.polyline){for(var c=p(l,s),h=new Array(c.length),g=0;g<c.length;++g){for(var m=c[g],v=new Array(m.length),y=0;y<m.length;++y){for(var x=m[y],b=new Array(x.length),_=0;_<x.length;++_)b[_]=s[x[_]].slice();u&&b.reverse(),v[y]=b}h[g]=v}return h}return e.triangles||e.triangulate||e.triangle?{cells:d(s,l,{delaunay:!1,exterior:!1,interior:!0}),positions:s}:{edges:l,positions:s}}function s(t,e,r){try{return o(t,e,r,!0)}catch(t){}try{return o(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function l(t,e,r,n){var a=n.size||64,o=n.font||\"normal\";r.font=a+\"px \"+o,r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\";var l=i(e,r,t,a);return s(l,n,a)}e.exports=l,e.exports.processPixels=s;var u=t(\"surface-nets\"),c=t(\"ndarray\"),h=t(\"simplify-planar-graph\"),f=t(\"clean-pslg\"),d=t(\"cdt2d\"),p=t(\"planar-graph-to-polyline\")},{cdt2d:67,\"clean-pslg\":76,ndarray:427,\"planar-graph-to-polyline\":441,\"simplify-planar-graph\":480,\"surface-nets\":487}],511:[function(t,e,r){function n(t){var e=[];for(var r in t.layers)e.push(a(t.layers[r]));var n=new c;return h.tile.write({layers:e},n),n.finish()}function i(t){var e={};for(var r in t)e[r]=new f(t[r].features),e[r].name=r;return n({layers:e})}function a(t){for(var e={name:t.name||\"\",version:t.version||1,extent:t.extent||4096,keys:[],values:[],features:[]},r={},n={},i=0;i<t.length;i++){var a=t.feature(i);a.geometry=l(a.loadGeometry());var o=[];for(var s in a.properties){var c=r[s];\"undefined\"==typeof c&&(e.keys.push(s),c=e.keys.length-1,r[s]=c);var h=u(a.properties[s]),f=n[h.key];\"undefined\"==typeof f&&(e.values.push(h),f=e.values.length-1,n[h.key]=f),o.push(c),o.push(f)}a.tags=o,e.features.push(a)}return e}function o(t,e){return(e<<3)+(7&t)}function s(t){return t<<1^t>>31}function l(t){for(var e=[],r=0,n=0,i=t.length,a=0;a<i;a++){var l=t[a];e.push(o(1,1));for(var u=0;u<l.length;u++){1===u&&e.push(o(2,l.length-1));var c=l[u].x-r,h=l[u].y-n;e.push(s(c),s(h)),r+=c,n+=h}}return e}function u(t){var e,r=typeof t;return\"string\"===r?e={string_value:t}:\"boolean\"===r?e={bool_value:t}:\"number\"===r?e=t%1!==0?{double_value:t}:t<0?{sint_value:t}:{uint_value:t}:(t=JSON.stringify(t),e={string_value:t}),e.key=r+\":\"+t,e}var c=t(\"pbf\"),h=t(\"./vector-tile-pb\"),f=t(\"./lib/geojson_wrapper\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=i,e.exports.GeoJSONWrapper=f},{\"./lib/geojson_wrapper\":512,\"./vector-tile-pb\":513,pbf:436}],512:[function(t,e,r){\"use strict\";function n(t){this.features=t,this.length=t.length}function i(t){this.id=\"number\"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=4096}var a=t(\"point-geometry\"),o=t(\"vector-tile\").VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-(1/0),n=1/0,i=-(1/0),a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\"point-geometry\":442,\"vector-tile\":505}],513:[function(t,e,r){\"use strict\";function n(t,e){return t.readFields(i,{layers:[]},e)}function i(t,e,r){3===t&&e.layers.push(f(r,r.readVarint()+r.pos))}function a(t,e){var r;if(void 0!==t.layers)for(r=0;r<t.layers.length;r++)e.writeMessage(3,p,t.layers[r])}function o(t,e){return t.readFields(s,{},e)}function s(t,e,r){1===t?e.string_value=r.readString():2===t?e.float_value=r.readFloat():3===t?e.double_value=r.readDouble():4===t?e.int_value=r.readVarint():5===t?e.uint_value=r.readVarint():6===t?e.sint_value=r.readSVarint():7===t&&(e.bool_value=r.readBoolean())}function l(t,e){void 0!==t.string_value&&e.writeStringField(1,t.string_value),void 0!==t.float_value&&e.writeFloatField(2,t.float_value),void 0!==t.double_value&&e.writeDoubleField(3,t.double_value),void 0!==t.int_value&&e.writeVarintField(4,t.int_value),void 0!==t.uint_value&&e.writeVarintField(5,t.uint_value),void 0!==t.sint_value&&e.writeSVarintField(6,t.sint_value),void 0!==t.bool_value&&e.writeBooleanField(7,t.bool_value)}function u(t,e){var r=t.readFields(c,{},e);return void 0===r.type&&(r.type=\"Unknown\"),r}function c(t,e,r){1===t?e.id=r.readVarint():2===t?e.tags=r.readPackedVarint():3===t?e.type=r.readVarint():4===t&&(e.geometry=r.readPackedVarint())}function h(t,e){void 0!==t.id&&e.writeVarintField(1,t.id),void 0!==t.tags&&e.writePackedVarint(2,t.tags),void 0!==t.type&&e.writeVarintField(3,t.type),void 0!==t.geometry&&e.writePackedVarint(4,t.geometry)}function f(t,e){return t.readFields(d,{features:[],keys:[],values:[]},e)}function d(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():2===t?e.features.push(u(r,r.readVarint()+r.pos)):3===t?e.keys.push(r.readString()):4===t?e.values.push(o(r,r.readVarint()+r.pos)):5===t&&(e.extent=r.readVarint())}function p(t,e){void 0!==t.version&&e.writeVarintField(15,t.version),void 0!==t.name&&e.writeStringField(1,t.name);var r;if(void 0!==t.features)for(r=0;r<t.features.length;r++)e.writeMessage(2,h,t.features[r]);if(void 0!==t.keys)for(r=0;r<t.keys.length;r++)e.writeStringField(3,t.keys[r]);if(void 0!==t.values)for(r=0;r<t.values.length;r++)e.writeMessage(4,l,t.values[r]);void 0!==t.extent&&e.writeVarintField(5,t.extent)}var g=r.tile={read:n,write:a};g.GeomType={Unknown:0,Point:1,LineString:2,Polygon:3},g.value={read:o,write:l},g.feature={read:u,write:h},g.layer={read:f,write:p}},{}],514:[function(t,e,r){!function(){\"use strict\";function t(e){e.permitHostObjects___&&e.permitHostObjects___(t)}function r(t){return!(t.substr(0,d.length)==d&&\"___\"===t.substr(t.length-3))}function n(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[p];if(e&&e.key===t)return e;if(f(t)){e={key:t};try{return h(t,p,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function i(t){return t.prototype=null,Object.freeze(t)}function a(){y||\"undefined\"==typeof console||(y=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=t);var o=!1;if(\"function\"==typeof WeakMap){var s=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var l=new s,u=Object.freeze({});if(l.set(u,1),1===l.get(u))return void(e.exports=WeakMap);o=!0}}var c=(Object.prototype.hasOwnProperty,Object.getOwnPropertyNames),h=Object.defineProperty,f=Object.isExtensible,d=\"weakmap:\",p=d+\"ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var g=new ArrayBuffer(25),m=new Uint8Array(g);crypto.getRandomValues(m),p=d+\"rand:\"+Array.prototype.map.call(m,function(t){return(t%36).toString(36)}).join(\"\")+\"___\"}if(h(Object,\"getOwnPropertyNames\",{value:function(t){return c(t).filter(r)}}),\"getPropertyNames\"in Object){var v=Object.getPropertyNames;h(Object,\"getPropertyNames\",{value:function(t){return v(t).filter(r)}})}!function(){var t=Object.freeze;h(Object,\"freeze\",{value:function(e){return n(e),t(e)}});var e=Object.seal;h(Object,\"seal\",{value:function(t){return n(t),e(t)}});var r=Object.preventExtensions;h(Object,\"preventExtensions\",{value:function(t){return n(t),r(t)}})}();var y=!1,x=0,b=function(){function t(t,e){var r,i=n(t);return i?u in i?i[u]:e:(r=s.indexOf(t),r>=0?l[r]:e)}function e(t){var e=n(t);return e?u in e:s.indexOf(t)>=0}function r(t,e){var r,i=n(t);return i?i[u]=e:(r=s.indexOf(t),r>=0?l[r]=e:(r=s.length,l[r]=e,s[r]=t)),this}function o(t){var e,r,i=n(t);return i?u in i&&delete i[u]:(e=s.indexOf(t),!(e<0)&&(r=s.length-1,s[e]=void 0,l[e]=l[r],s[e]=s[r],s.length=r,l.length=r,!0))}this instanceof b||a();var s=[],l=[],u=x++;return Object.create(b.prototype,{get___:{value:i(t)},has___:{value:i(e)},set___:{value:i(r)},delete___:{value:i(o)}})};b.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof s?!function(){function r(){function e(t,e){return c?u.has(t)?u.get(t):c.get___(t,e):u.get(t,e)}function r(t){return u.has(t)||!!c&&c.has___(t)}function n(t){var e=!!u.delete(t);return c?c.delete___(t)||e:e}this instanceof b||a();var l,u=new s,c=void 0,h=!1;return l=o?function(t,e){return u.set(t,e),u.has(t)||(c||(c=new b),c.set(t,e)),this}:function(t,e){if(h)try{u.set(t,e)}catch(r){c||(c=new b),c.set___(t,e)}else u.set(t,e);return this},Object.create(b.prototype,{get___:{value:i(e)},has___:{value:i(r)},set___:{value:i(l)},delete___:{value:i(n)},permitHostObjects___:{value:i(function(e){if(e!==t)throw new Error(\"bogus call to permitHostObjects___\");h=!0})}})}o&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),r.prototype=b.prototype,e.exports=r,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=b)}}()},{}],515:[function(t,e,r){function n(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:i(e,t)}}var i=t(\"./hidden-store.js\");e.exports=n},{\"./hidden-store.js\":516}],516:[function(t,e,r){function n(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}e.exports=n},{}],517:[function(t,e,r){function n(){var t=i();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){t(e).value=r},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}var i=t(\"./create-store.js\");e.exports=n},{\"./create-store.js\":515}],518:[function(t,e,r){var n=t(\"get-canvas-context\");e.exports=function(t){return n(\"webgl\",t)}},{\"get-canvas-context\":119}],519:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function r(t){m[t]=!0;for(var e in i[t][1]){var n=i[t][1][e];m[n]||r(n)}}for(var s,l=Object.keys(a),u=0,c=l.length;u<c;u++){var h=l[u],f=a[h].exports;if(f===t||f&&f.default===t){s=h;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var d={},u=0,c=l.length;u<c;u++){var h=l[u];d[h]=h}i[s]=[Function([\"require\",\"module\",\"exports\"],\"(\"+t+\")(self)\"),d]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),g={};g[s]=s,i[p]=[Function([\"require\"],\"var f = require(\"+ o(s) +\");(f.default ? f.default : f)(self);\"),g];var m={};r(p);var v=\"(\"+n+\")({\"+Object.keys(m).map(function(t){return o(t)+\":[\"+i[t][0]+\",\"+o(i[t][1])+\"]\"}).join(\",\")+\"},{},[\"+o(p)+\"])\",y=window.URL||window.webkitURL||window.mozURL||window.msURL,x=new Blob([v],{type:\"text/javascript\"});if(e&&e.bare)return x;var b=y.createObjectURL(x),_=new Worker(b);return _.objectURL=b,_}},{}],520:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],521:[function(e,r,n){!function(e,i){\"object\"==typeof n&&\"undefined\"!=typeof r?i(n):\"function\"==typeof t&&t.amd?t([\"exports\"],i):i(e.WhooTS=e.WhooTS||{})}(this,function(t){function e(t,e,n,i,a,o){o=o||{};var s=t+\"?\"+[\"bbox=\"+r(n,i,a),\"format=\"+(o.format||\"image/png\"),\"service=\"+(o.service||\"WMS\"),\"version=\"+(o.version||\"1.1.1\"),\"request=\"+(o.request||\"GetMap\"),\"srs=\"+(o.srs||\"EPSG:3857\"),\"width=\"+(o.width||256),\"height=\"+(o.height||256),\"layers=\"+e].join(\"&\");return s}function r(t,e,r){e=Math.pow(2,r)-e-1;var i=n(256*t,256*e,r),a=n(256*(t+1),256*(e+1),r);return i[0]+\",\"+i[1]+\",\"+a[0]+\",\"+a[1]}function n(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r),i=t*n-2*Math.PI*6378137/2,a=e*n-2*Math.PI*6378137/2;return[i,a]}t.getURL=e,t.getTileBBox=r,t.getMercCoords=n,Object.defineProperty(t,\"__esModule\",{value:!0})})},{}],522:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",{offset:[1],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\\n        }\\n      }\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg3_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[\"_inline_1_da\",\"_inline_1_db\"]},funcName:\"zeroCrossings\"})},{\"cwise-compiler\":91}],523:[function(t,e,r){\"use strict\";function n(t,e){var r=[];return e=+e||0,i(t.hi(t.shape[0]-1),r,e),r}e.exports=n;var i=t(\"./lib/zc-core\")},{\"./lib/zc-core\":522}],524:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./attributes\");e.exports=function(t,e,r,s,l){function u(r,i){return n.coerce(t,e,o,r,i)}s=s||{},l=l||{};var c=u(\"visible\",!l.itemIsNotPlainObject);if(!c)return e;u(\"opacity\"),u(\"align\"),u(\"bgcolor\");var h=u(\"bordercolor\"),f=i.opacity(h);u(\"borderpad\");var d=u(\"borderwidth\"),p=u(\"showarrow\");u(\"text\",p?\" \":\"new text\"),u(\"textangle\"),n.coerceFont(u,\"font\",r.font);for(var g=[\"x\",\"y\"],m=[-10,-30],v={_fullLayout:r},y=0;y<2;y++){var x=g[y],b=a.coerceRef(t,e,v,x,\"\",\"paper\");if(a.coercePosition(e,v,u,b,x,.5),p){var _=\"a\"+x,w=a.coerceRef(t,e,v,_,\"pixel\");\"pixel\"!==w&&w!==b&&(w=e[_]=\"pixel\");var M=\"pixel\"===w?m[y]:.4;a.coercePosition(e,v,u,w,_,M)}else u(x+\"anchor\")}return n.noneOrAll(t,e,[\"x\",\"y\"]),p&&(u(\"arrowcolor\",f?e.bordercolor:i.defaultLine),u(\"arrowhead\"),u(\"arrowsize\"),u(\"arrowwidth\",2*(f&&d||1)),n.noneOrAll(t,e,[\"ax\",\"ay\"])),e}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"../color\":533,\"./attributes\":526}],525:[function(t,e,r){\"use strict\";e.exports=[\"\",{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0},{path:\"M2,2V-2H-2V2Z\",backoff:0}]},{}],526:[function(t,e,r){\"use strict\";var n=t(\"./arrow_paths\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../lib/extend\").extendFlat;e.exports={_isLinkedToArray:\"annotation\",visible:{valType:\"boolean\",dflt:!0},text:{valType:\"string\"},textangle:{valType:\"angle\",dflt:0},font:o({},i,{}),opacity:{valType:\"number\",min:0,max:1,dflt:1},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},borderpad:{valType:\"number\",min:0,dflt:1},borderwidth:{valType:\"number\",min:0,dflt:1},showarrow:{valType:\"boolean\",dflt:!0},arrowcolor:{valType:\"color\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1},arrowsize:{valType:\"number\",min:.3,dflt:1},arrowwidth:{valType:\"number\",min:.1},ax:{valType:\"any\"},ay:{valType:\"any\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()]},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()]},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()]},x:{valType:\"any\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()]},y:{valType:\"any\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\"},_deprecated:{ref:{valType:\"string\"}}}},{\"../../lib/extend\":626,\"../../plots/cartesian/constants\":669,\"../../plots/font_attributes\":684,\"./arrow_paths\":525}],527:[function(t,e,r){\"use strict\";function n(t){var e=t._fullLayout;e.annotations.forEach(function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref);if(r||n){var i=(e._xsize||0)/2,o=e._xshift||0,s=(e._ysize||0)/2,l=e._yshift||0,u=i-o,c=i+o,h=s-l,f=s+l;if(e.showarrow){var d=3*e.arrowsize*e.arrowwidth;u=Math.max(u,d),c=Math.max(c,d),h=Math.max(h,d),f=Math.max(f,d)}r&&r.autorange&&a.expand(r,[r.l2c(r.r2l(e.x))],{ppadplus:c,ppadminus:u}),n&&n.autorange&&a.expand(n,[n.l2c(n.r2l(e.y))],{ppadplus:f,ppadminus:h})}})}var i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./draw\").draw;e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.annotations);if(r.length&&t._fullData.length){var s={};r.forEach(function(t){s[t.xref]=!0,s[t.yref]=!0});var l=a.list(t).filter(function(t){return t.autorange&&s[t._id]});if(l.length)return i.syncOrAsync([o,n],t)}}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"./draw\":529}],528:[function(t,e,r){\"use strict\";var n=t(\"../../plots/array_container_defaults\"),i=t(\"./annotation_defaults\");e.exports=function(t,e){var r={name:\"annotations\",handleItemDefaults:i};n(t,e,r)}},{\"../../plots/array_container_defaults\":661,\"./annotation_defaults\":524}],529:[function(t,e,r){\"use strict\";function n(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&i(t,r);return u.previousPromises(t)}function i(t,e,r,u){function b(t){return t.call(d.font,rt).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[H.align]||\"middle\"}),p.convertToTspans(t,_),t}function _(){function r(t,e){return\"auto\"===e&&(e=t<1/3?\"left\":t>2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}nt.selectAll(\"tspan.line\").attr({y:0,x:0});var n=K.select(\".annotation-math-group\"),i=!n.empty(),s=d.bBox((i?n:nt).node()),u=s.width,p=s.height,v=Math.round(u+2*tt),y=Math.round(p+2*tt);H._w=u,H._h=p;var b=!1;if([\"x\",\"y\"].forEach(function(e){var n,i=H[e+\"ref\"]||e,a=h.getFromId(t,i),o=(W+(\"x\"===e?0:90))*Math.PI/180,s=v*Math.abs(Math.cos(o))+y*Math.abs(Math.sin(o)),l=H[e+\"anchor\"];if(a){\nvar u=a.r2fraction(H[e]);if(!a.autorange&&(u<0||u>1)&&(H[\"a\"+e+\"ref\"]===i?(u=a.r2fraction(H[\"a\"+e]),(u<0||u>1)&&(b=!0)):b=!0,b))return;Y[e]=a._offset+a.r2p(H[e]),n=.5}else n=H[e],\"y\"===e&&(n=1-n),Y[e]=\"x\"===e?C.l+C.w*n:C.t+C.h*n;var c=0;H[\"a\"+e+\"ref\"]===i?Y[\"aa\"+e]=a._offset+a.r2p(H[\"a\"+e]):(c=H.showarrow?H[\"a\"+e]:s*r(n,l),Y[e]+=c),H[\"_\"+e+\"type\"]=a&&a.type,H[\"_\"+e+\"size\"]=s,H[\"_\"+e+\"shift\"]=c}),b)return void K.remove();var _,w;H.showarrow&&(_=H.axref===H.xref?Y.x:c.constrain(Y.x-H.ax,1,A.width-1),w=H.ayref===H.yref?Y.y:c.constrain(Y.y-H.ay,1,A.height-1)),Y.x=c.constrain(Y.x,1,A.width-1),Y.y=c.constrain(Y.y,1,A.height-1);var M=tt-s.top,k=tt-s.left;i?n.select(\"svg\").attr({x:tt-1,y:tt}):(nt.attr({x:k,y:M}),nt.selectAll(\"tspan.line\").attr({y:M,x:k})),et.call(d.setRect,$/2,$/2,v-$,y-$);var T=0,E=0;T=H.axref===H.xref?Math.round(Y.aax-v/2):Math.round(Y.x-v/2),E=H.ayref===H.yref?Math.round(Y.aay-y/2):Math.round(Y.y-y/2),K.call(c.setTranslate,T,E);var S=\"annotations[\"+e+\"]\",L=function(r,n){o.select(t).selectAll('.annotation-arrow-g[data-index=\"'+e+'\"]').remove();var i,s;i=H.axref===H.xref?Y.aax+r:Y.x+r,s=H.ayref===H.yref?Y.aay+n:Y.y+n;var u=c.rotationXYMatrix(W,i,s),h=c.apply2DTransform(u),d=c.apply2DTransform2(u),p=et.attr(\"width\")/2,g=et.attr(\"height\")/2,v=[[i-p,s-g,i-p,s+g],[i-p,s+g,i+p,s+g],[i+p,s+g,i+p,s-g],[i+p,s-g,i-p,s-g]].map(d);if(!v.reduce(function(t,e){return t^!!a(_,w,_+1e6,w+1e6,e[0],e[1],e[2],e[3])},!1)){v.forEach(function(t){var e=a(i,s,_,w,t[0],t[1],t[2],t[3]);e&&(i=e.x,s=e.y)});var y=H.arrowwidth,b=H.arrowcolor,M=Z.append(\"g\").style({opacity:f.opacity(b)}).classed(\"annotation-arrow-g\",!0).attr(\"data-index\",String(e)),A=M.append(\"path\").attr(\"d\",\"M\"+i+\",\"+s+\"L\"+_+\",\"+w).style(\"stroke-width\",y+\"px\").call(f.stroke,f.rgb(b));x(A,H.arrowhead,\"end\",H.arrowsize);var k=M.append(\"path\").classed(\"annotation\",!0).classed(\"anndrag\",!0).attr({\"data-index\":String(e),d:\"M3,3H-3V-3H3ZM0,0L\"+(i-_)+\",\"+(s-w),transform:\"translate(\"+_+\",\"+w+\")\"}).style(\"stroke-width\",y+6+\"px\").call(f.stroke,\"rgba(0,0,0,0)\").call(f.fill,\"rgba(0,0,0,0)\");if(t._context.editable){var T,E,L;m.init({element:k.node(),prepFn:function(){var t=c.getTranslate(K);E=t.x,L=t.y,T={},G&&G.autorange&&(T[G._name+\".autorange\"]=!0),X&&X.autorange&&(T[X._name+\".autorange\"]=!0)},moveFn:function(t,e){M.attr(\"transform\",\"translate(\"+t+\",\"+e+\")\");var r=h(E,L),n=r[0]+t,i=r[1]+e;K.call(c.setTranslate,n,i),T[S+\".x\"]=G?G.p2r(G.r2p(H.x)+t):(_+t-C.l)/C.w,T[S+\".y\"]=X?X.p2r(X.r2p(H.y)+e):1-(w+e-C.t)/C.h,H.axref===H.xref&&(T[S+\".ax\"]=G?G.p2r(G.r2p(H.ax)+t):(_+t-C.l)/C.w),H.ayref===H.yref&&(T[S+\".ay\"]=X?X.p2r(X.r2p(H.ay)+e):1-(w+e-C.t)/C.h),Q.attr({transform:\"rotate(\"+W+\",\"+n+\",\"+i+\")\"})},doneFn:function(e){if(e){l.relayout(t,T);var r=document.querySelector(\".js-notes-box-panel\");r&&r.redraw(r.selectedObj)}}})}}};H.showarrow&&L(0,0);var z=c.rotationXYMatrix(W,Y.x,Y.y),I=c.apply2DTransform(z);if(t._context.editable){var P,D,O;m.init({element:K.node(),prepFn:function(){var t=c.getTranslate(K);P=t.x,D=t.y,O={}},moveFn:function(t,e){K.call(c.setTranslate,P+t,D+e);var r=\"pointer\";if(H.showarrow)H.axref===H.xref?O[S+\".ax\"]=G.p2r(G.r2p(H.ax)+t):O[S+\".ax\"]=H.ax+t,H.ayref===H.yref?O[S+\".ay\"]=X.p2r(X.r2p(H.ay)+e):O[S+\".ay\"]=H.ay+e,L(t,e);else{if(G)O[S+\".x\"]=H.x+t/G._m;else{var n=H._xsize/C.w,i=H.x+H._xshift/C.w-n/2;O[S+\".x\"]=m.align(i+t/C.w,n,0,1,H.xanchor)}if(X)O[S+\".y\"]=H.y+e/X._m;else{var a=H._ysize/C.h,o=H.y-H._yshift/C.h-a/2;O[S+\".y\"]=m.align(o-e/C.h,a,0,1,H.yanchor)}G&&X||(r=m.getCursor(G?.5:O[S+\".x\"],X?.5:O[S+\".y\"],H.xanchor,H.yanchor))}var s=I(P,D),l=s[0]+t,u=s[1]+e;K.call(c.setTranslate,P+t,D+e),Q.attr({transform:\"rotate(\"+W+\",\"+l+\",\"+u+\")\"}),g(K,r)},doneFn:function(e){if(g(K),e){l.relayout(t,O);var r=document.querySelector(\".js-notes-box-panel\");r&&r.redraw(r.selectedObj)}}})}}var w,M=t.layout,A=t._fullLayout;if(!s(e)||e===-1){if(!e&&Array.isArray(u))return M.annotations=u,y(M,A),void n(t);if(\"remove\"===u)return delete M.annotations,A.annotations=[],void n(t);if(r&&\"add\"!==u){for(w=0;w<A.annotations.length;w++)i(t,w,r,u);return}e=A.annotations.length,A.annotations.push({})}if(!r&&u){if(\"remove\"===u){for(A._infolayer.selectAll('.annotation[data-index=\"'+e+'\"]').remove(),A.annotations.splice(e,1),M.annotations.splice(e,1),w=e;w<A.annotations.length;w++)A._infolayer.selectAll('.annotation[data-index=\"'+(w+1)+'\"]').attr(\"data-index\",String(w)),i(t,w);return}if(\"add\"===u||c.isPlainObject(u)){A.annotations.splice(e,0,{});var k=c.isPlainObject(u)?c.extendFlat({},u):{text:\"New text\"};for(M.annotations?M.annotations.splice(e,0,k):M.annotations=[k],w=A.annotations.length-1;w>e;w--)A._infolayer.selectAll('.annotation[data-index=\"'+(w-1)+'\"]').attr(\"data-index\",String(w)),i(t,w)}}A._infolayer.selectAll('.annotation[data-index=\"'+e+'\"]').remove();var T=M.annotations[e],E=A.annotations[e];if(T){var S={};\"string\"==typeof r&&r?S[r]=u:c.isPlainObject(r)&&(S=r);var L=Object.keys(S);for(w=0;w<L.length;w++){var z=L[w];c.nestedProperty(T,z).set(S[z])}if(T.visible!==!1){var C=A._size,I={xref:T.xref,yref:T.yref},P=[\"x\",\"y\"];for(w=0;w<2;w++){var D=P[w];if(void 0===S[D]&&void 0!==T[D]){var O=h.getFromId(t,h.coerceRef(I,{},t,D,\"\",\"paper\")),R=h.getFromId(t,h.coerceRef(T,{},t,D,\"\",\"paper\")),F=T[D],j=E[\"_\"+D+\"type\"];if(void 0!==S[D+\"ref\"]){var N=\"auto\"===T[D+\"anchor\"],B=\"x\"===D?C.w:C.h,U=(E[\"_\"+D+\"size\"]||0)/(2*B);if(O&&R)F=R.fraction2r(O.r2fraction(F));else if(O){if(F=O.r2fraction(F),F=O.domain[0]+F*(O.domain[1]-O.domain[0]),N){var V=F+U,q=F-U;F+q<2/3?F=q:F+V>4/3&&(F=V)}}else R&&(N&&(F<1/3?F+=U:F>2/3&&(F-=U)),F=(F-R.domain[0])/(R.domain[1]-R.domain[0]),F=R.fraction2r(F))}R&&R===O&&j&&(\"log\"===j&&\"log\"!==R.type?F=Math.pow(10,F):\"log\"!==j&&\"log\"===R.type&&(F=F>0?Math.log(F)/Math.LN10:void 0)),T[D]=F}}var H={};v(T,H,A),A.annotations[e]=H;var G=h.getFromId(t,H.xref),X=h.getFromId(t,H.yref),Y={x:0,y:0},W=+H.textangle||0,Z=A._infolayer.append(\"g\").classed(\"annotation\",!0).attr(\"data-index\",String(e)).style(\"opacity\",H.opacity).on(\"click\",function(){t._dragging=!1,t.emit(\"plotly_clickannotation\",{index:e,annotation:T,fullAnnotation:H})}),Q=Z.append(\"g\").classed(\"annotation-text-g\",!0).attr(\"data-index\",String(e)),K=Q.append(\"g\"),$=H.borderwidth,J=H.borderpad,tt=$+J,et=K.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",$+\"px\").call(f.stroke,H.bordercolor).call(f.fill,H.bgcolor),rt=H.font,nt=K.append(\"text\").classed(\"annotation\",!0).attr(\"data-unformatted\",H.text).text(H.text);t._context.editable?nt.call(p.makeEditable,K).call(b).on(\"edit\",function(r){H.text=r,this.attr({\"data-unformatted\":H.text}),this.call(b);var n={};n[\"annotations[\"+e+\"].text\"]=H.text,G&&G.autorange&&(n[G._name+\".autorange\"]=!0),X&&X.autorange&&(n[X._name+\".autorange\"]=!0),l.relayout(t,n)}):nt.call(b),Q.attr({transform:\"rotate(\"+W+\",\"+Y.x+\",\"+Y.y+\")\"}).call(d.setPosition,Y.x,Y.y)}}}function a(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,h=n-e,f=a-e,d=s-a,p=l*d-c*h;if(0===p)return null;var g=(u*d-c*f)/p,m=(u*h-l*f)/p;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}var o=t(\"d3\"),s=t(\"fast-isnumeric\"),l=t(\"../../plotly\"),u=t(\"../../plots/plots\"),c=t(\"../../lib\"),h=t(\"../../plots/cartesian/axes\"),f=t(\"../color\"),d=t(\"../drawing\"),p=t(\"../../lib/svg_text_utils\"),g=t(\"../../lib/setcursor\"),m=t(\"../dragelement\"),v=t(\"./annotation_defaults\"),y=t(\"./defaults\"),x=t(\"./draw_arrow_head\");e.exports={draw:n,drawOne:i}},{\"../../lib\":633,\"../../lib/setcursor\":643,\"../../lib/svg_text_utils\":647,\"../../plotly\":659,\"../../plots/cartesian/axes\":664,\"../../plots/plots\":724,\"../color\":533,\"../dragelement\":554,\"../drawing\":556,\"./annotation_defaults\":524,\"./defaults\":528,\"./draw_arrow_head\":530,d3:95,\"fast-isnumeric\":104}],530:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"./arrow_paths\");e.exports=function(t,e,r,l){i(l)||(l=1);var u=t.node(),c=s[e||0];if(c){\"string\"==typeof r&&r||(r=\"end\");var h,f,d,p,g=(o.getPx(t,\"stroke-width\")||1)*l,m=t.style(\"stroke\")||a.defaultLine,v=t.style(\"stroke-opacity\")||1,y=r.indexOf(\"start\")>=0,x=r.indexOf(\"end\")>=0,b=c.backoff*g;if(\"line\"===u.nodeName){if(h={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},f={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")},d=Math.atan2(h.y-f.y,h.x-f.x),p=d+Math.PI,b){var _=b*Math.cos(d),w=b*Math.sin(d);y&&(h.x-=_,h.y-=w,t.attr({x1:h.x,y1:h.y})),x&&(f.x+=_,f.y+=w,t.attr({x2:f.x,y2:f.y}))}}else if(\"path\"===u.nodeName){var M=u.getTotalLength(),A=\"\";if(y){var k=u.getPointAtLength(0),T=u.getPointAtLength(.1);d=Math.atan2(k.y-T.y,k.x-T.x),h=u.getPointAtLength(Math.min(b,M)),b&&(A=\"0px,\"+b+\"px,\")}if(x){var E=u.getPointAtLength(M),S=u.getPointAtLength(M-.1);if(p=Math.atan2(E.y-S.y,E.x-S.x),f=u.getPointAtLength(Math.max(0,M-b)),b){var L=A?2*b:b;A+=M-L+\"px,\"+M+\"px\"}}else A&&(A+=M+\"px\");A&&t.style(\"stroke-dasharray\",A)}var z=function(r,i){e>5&&(i=0),n.select(u.parentElement).append(\"path\").attr({class:t.attr(\"class\"),d:c.path,transform:\"translate(\"+r.x+\",\"+r.y+\")rotate(\"+180*i/Math.PI+\")scale(\"+g+\")\"}).style({fill:m,opacity:v,\"stroke-width\":0})};y&&z(h,d),x&&z(f,p)}}},{\"../color\":533,\"../drawing\":556,\"./arrow_paths\":525,d3:95,\"fast-isnumeric\":104}],531:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne}},{\"./attributes\":526,\"./calc_autorange\":527,\"./defaults\":528,\"./draw\":529}],532:[function(t,e,r){\"use strict\";r.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],r.defaultLine=\"#444\",r.lightLine=\"#eee\",r.background=\"#fff\",r.borderLine=\"#BEC8D9\",r.lightFraction=1e3/11},{}],533:[function(t,e,r){\"use strict\";function n(t){if(a(t)||\"string\"!=typeof t)return t;var e=t.trim();if(\"rgb\"!==e.substr(0,3))return t;var r=e.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return t;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),i=\"a\"===e.charAt(3)&&4===n.length;if(!i&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return i?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}var i=t(\"tinycolor2\"),a=t(\"fast-isnumeric\"),o=e.exports={},s=t(\"./attributes\");o.defaults=s.defaults,o.defaultLine=s.defaultLine,o.lightLine=s.lightLine,o.background=s.background,o.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},o.rgb=function(t){return o.tinyRGB(i(t))},o.opacity=function(t){return t?i(t).getAlpha():0},o.addOpacity=function(t,e){var r=i(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},o.combine=function(t,e){var r=i(t).toRgb();if(1===r.a)return i(t).toRgbString();var n=i(e||o.background).toRgb(),a=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},s={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return i(s).toRgbString()},o.contrast=function(t,e,r){var n=i(t),a=n.isLight()?n.darken(r):n.lighten(e);return a.toString()},o.stroke=function(t,e){var r=i(e);t.style({stroke:o.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},o.fill=function(t,e){var r=i(e);t.style({fill:o.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},o.clean=function(t){if(t&&\"object\"==typeof t){var e,r,i,a,s=Object.keys(t);for(e=0;e<s.length;e++)if(i=s[e],a=t[i],\"color\"===i.substr(i.length-5))if(Array.isArray(a))for(r=0;r<a.length;r++)a[r]=n(a[r]);else t[i]=n(a);else if(\"colorscale\"===i.substr(i.length-10)&&Array.isArray(a))for(r=0;r<a.length;r++)Array.isArray(a[r])&&(a[r][1]=n(a[r][1]));else if(Array.isArray(a)){var l=a[0];if(!Array.isArray(l)&&l&&\"object\"==typeof l)for(r=0;r<a.length;r++)o.clean(a[r])}else a&&\"object\"==typeof a&&o.clean(a)}}},{\"./attributes\":532,\"fast-isnumeric\":104,tinycolor2:489}],534:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/layout_attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../lib/extend\").extendFlat;e.exports={thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",dflt:1.02,min:-2,max:3},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\",dflt:.5,min:-2,max:3},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\"},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:\"\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{valType:\"string\",dflt:\"Click to enter colorscale title\"},titlefont:a({},i,{}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}}},{\"../../lib/extend\":626,\"../../plots/cartesian/layout_attributes\":673,\"../../plots/font_attributes\":684}],535:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/tick_value_defaults\"),a=t(\"../../plots/cartesian/tick_mark_defaults\"),o=t(\"../../plots/cartesian/tick_label_defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r){function l(t,e){return n.coerce(c,u,s,t,e)}var u=e.colorbar={},c=t.colorbar||{},h=l(\"thicknessmode\");l(\"thickness\",\"fraction\"===h?30/(r.width-r.margin.l-r.margin.r):30);var f=l(\"lenmode\");l(\"len\",\"fraction\"===f?1:r.height-r.margin.t-r.margin.b),l(\"x\"),l(\"xanchor\"),l(\"xpad\"),l(\"y\"),l(\"yanchor\"),l(\"ypad\"),n.noneOrAll(c,u,[\"x\",\"y\"]),l(\"outlinecolor\"),l(\"outlinewidth\"),l(\"bordercolor\"),l(\"borderwidth\"),l(\"bgcolor\"),i(c,u,l,\"linear\"),o(c,u,l,\"linear\",{outerTicks:!1,font:r.font,noHover:!0}),a(c,u,l,\"linear\",{outerTicks:!1,font:r.font,noHover:!0}),l(\"title\"),n.coerceFont(l,\"titlefont\",r.font),l(\"titleside\")}},{\"../../lib\":633,\"../../plots/cartesian/tick_label_defaults\":679,\"../../plots/cartesian/tick_mark_defaults\":680,\"../../plots/cartesian/tick_value_defaults\":681,\"./attributes\":534}],536:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../plotly\"),o=t(\"../../plots/plots\"),s=t(\"../../registry\"),l=t(\"../../plots/cartesian/axes\"),u=t(\"../dragelement\"),c=t(\"../../lib\"),h=t(\"../../lib/extend\").extendFlat,f=t(\"../../lib/setcursor\"),d=t(\"../drawing\"),p=t(\"../color\"),g=t(\"../titles\"),m=t(\"../../plots/cartesian/axis_defaults\"),v=t(\"../../plots/cartesian/position_defaults\"),y=t(\"../../plots/cartesian/layout_attributes\"),x=t(\"./attributes\");e.exports=function(t,e){function r(){function x(t,e){return c.coerce($,J,y,t,e)}function w(){if([\"top\",\"bottom\"].indexOf(_.titleside)!==-1){var e=at.select(\".cbtitle\"),r=e.select(\"text\"),a=[-_.outlinewidth/2,_.outlinewidth/2],o=e.select(\".h\"+J._id+\"title-math-group\").node(),s=15.6;if(r.node()&&(s=1.3*parseInt(r.style(\"font-size\"),10)),o?(st=d.bBox(o).height,st>s&&(a[1]-=(st-s)/2)):r.node()&&!r.classed(\"js-placeholder\")&&(st=d.bBox(e.node()).height),st){if(st+=5,\"top\"===_.titleside)J.domain[1]-=st/T.h,a[1]*=-1;else{J.domain[0]+=st/T.h;var u=Math.max(1,r.selectAll(\"tspan.line\").size());a[1]+=(1-u)*s}e.attr(\"transform\",\"translate(\"+a+\")\"),J.setScale()}}at.selectAll(\".cbfills,.cblines,.cbaxis\").attr(\"transform\",\"translate(0,\"+Math.round(T.h*(1-J.domain[1]))+\")\");var h=at.select(\".cbfills\").selectAll(\"rect.cbfill\").data(z);h.enter().append(\"rect\").classed(\"cbfill\",!0).style(\"stroke\",\"none\"),h.exit().remove(),h.each(function(t,e){var r=[0===e?S[0]:(z[e]+z[e-1])/2,e===z.length-1?S[1]:(z[e]+z[e+1])/2].map(J.c2p).map(Math.round);e!==z.length-1&&(r[1]+=r[1]>r[0]?1:-1);var a=I(t).replace(\"e-\",\"\"),o=i(a).toHexString();n.select(this).attr({x:Y,width:Math.max(B,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var f=at.select(\".cblines\").selectAll(\"path.cbline\").data(_.line.color&&_.line.width?L:[]);return f.enter().append(\"path\").classed(\"cbline\",!0),f.exit().remove(),f.each(function(t){n.select(this).attr(\"d\",\"M\"+Y+\",\"+(Math.round(J.c2p(t))+_.line.width/2%1)+\"h\"+B).call(d.lineGroupStyle,_.line.width,C(t),_.line.dash)}),J._axislayer.selectAll(\"g.\"+J._id+\"tick,path\").remove(),J._pos=Y+B+(_.outlinewidth||0)/2-(\"outside\"===_.ticks?1:0),J.side=\"right\",c.syncOrAsync([function(){return l.doTicks(t,J,!0)},function(){if([\"top\",\"bottom\"].indexOf(_.titleside)===-1){var e=J.titlefont.size,r=J._offset+J._length/2,i=T.l+(J.position||0)*T.w+(\"right\"===J.side?10+e*(J.showticklabels?1:.5):-10-e*(J.showticklabels?.5:0));M(\"h\"+J._id+\"title\",{avoid:{selection:n.select(t).selectAll(\"g.\"+J._id+\"tick\"),side:_.titleside,offsetLeft:T.l,offsetTop:T.t,maxShift:k.width},attributes:{x:i,y:r,\"text-anchor\":\"middle\"},transform:{rotate:\"-90\",offset:0}})}}])}function M(e,r){var n,i=b();n=s.traceIs(i,\"markerColorscale\")?\"marker.colorbar.title\":\"colorbar.title\";var a={propContainer:J,propName:n,traceIndex:i.index,dfltName:\"colorscale\",containerGroup:at.select(\".cbtitle\")},o=\"h\"===e.charAt(0)?e.substr(1):\"h\"+e;at.selectAll(\".\"+o+\",.\"+o+\"-math-group\").remove(),g.draw(t,e,h(a,r||{}))}function A(){var r=B+_.outlinewidth/2+d.bBox(J._axislayer.node()).width;if(F=ot.select(\"text\"),F.node()&&!F.classed(\"js-placeholder\")){var n,i=ot.select(\".h\"+J._id+\"title-math-group\").node();n=i&&[\"top\",\"bottom\"].indexOf(_.titleside)!==-1?d.bBox(i).width:d.bBox(ot.node()).right-Y-T.l,r=Math.max(r,n)}var a=2*_.xpad+r+_.borderwidth+_.outlinewidth/2,s=Q-K;at.select(\".cbbg\").attr({x:Y-_.xpad-(_.borderwidth+_.outlinewidth)/2,y:K-G,width:Math.max(a,2),height:Math.max(s+2*G,2)}).call(p.fill,_.bgcolor).call(p.stroke,_.bordercolor).style({\"stroke-width\":_.borderwidth}),at.selectAll(\".cboutline\").attr({x:Y,y:K+_.ypad+(\"top\"===_.titleside?st:0),width:Math.max(B,2),height:Math.max(s-2*_.ypad-st,2)}).call(p.stroke,_.outlinecolor).style({fill:\"None\",\"stroke-width\":_.outlinewidth});var l=({center:.5,right:1}[_.xanchor]||0)*a;at.attr(\"transform\",\"translate(\"+(T.l-l)+\",\"+T.t+\")\"),o.autoMargin(t,e,{x:_.x,y:_.y,l:a*({right:1,center:.5}[_.xanchor]||0),r:a*({left:1,center:.5}[_.xanchor]||0),t:s*({bottom:1,middle:.5}[_.yanchor]||0),b:s*({top:1,middle:.5}[_.yanchor]||0)})}var k=t._fullLayout,T=k._size;if(\"function\"!=typeof _.fillcolor&&\"function\"!=typeof _.line.color)return void k._infolayer.selectAll(\"g.\"+e).remove();var E,S=n.extent((\"function\"==typeof _.fillcolor?_.fillcolor:_.line.color).domain()),L=[],z=[],C=\"function\"==typeof _.line.color?_.line.color:function(){return _.line.color},I=\"function\"==typeof _.fillcolor?_.fillcolor:function(){return _.fillcolor},P=_.levels.end+_.levels.size/100,D=_.levels.size,O=1.001*S[0]-.001*S[1],R=1.001*S[1]-.001*S[0];for(E=_.levels.start;(E-P)*D<0;E+=D)E>O&&E<R&&L.push(E);if(\"function\"==typeof _.fillcolor)if(_.filllevels)for(P=_.filllevels.end+_.filllevels.size/100,D=_.filllevels.size,E=_.filllevels.start;(E-P)*D<0;E+=D)E>S[0]&&E<S[1]&&z.push(E);else z=L.map(function(t){return t-_.levels.size/2}),z.push(z[z.length-1]+_.levels.size);else _.fillcolor&&\"string\"==typeof _.fillcolor&&(z=[0]);_.levels.size<0&&(L.reverse(),z.reverse());var F,j=k.height-k.margin.t-k.margin.b,N=k.width-k.margin.l-k.margin.r,B=Math.round(_.thickness*(\"fraction\"===_.thicknessmode?N:1)),U=B/T.w,V=Math.round(_.len*(\"fraction\"===_.lenmode?j:1)),q=V/T.h,H=_.xpad/T.w,G=(_.borderwidth+_.outlinewidth)/2,X=_.ypad/T.h,Y=Math.round(_.x*T.w+_.xpad),W=_.x-U*({middle:.5,right:1}[_.xanchor]||0),Z=_.y+q*(({top:-.5,bottom:.5}[_.yanchor]||0)-.5),Q=Math.round(T.h*(1-Z)),K=Q-V,$={type:\"linear\",range:S,tickmode:_.tickmode,nticks:_.nticks,tick0:_.tick0,dtick:_.dtick,tickvals:_.tickvals,ticktext:_.ticktext,ticks:_.ticks,ticklen:_.ticklen,tickwidth:_.tickwidth,tickcolor:_.tickcolor,showticklabels:_.showticklabels,tickfont:_.tickfont,tickangle:_.tickangle,tickformat:_.tickformat,exponentformat:_.exponentformat,separatethousands:_.separatethousands,showexponent:_.showexponent,showtickprefix:_.showtickprefix,tickprefix:_.tickprefix,showticksuffix:_.showticksuffix,ticksuffix:_.ticksuffix,title:_.title,titlefont:_.titlefont,anchor:\"free\",position:1},J={},tt={letter:\"y\",font:k.font,noHover:!0};if(m($,J,x,tt),v($,J,x,tt),J._id=\"y\"+e,J._gd=t,J.position=_.x+H+U,r.axis=J,[\"top\",\"bottom\"].indexOf(_.titleside)!==-1&&(J.titleside=_.titleside,J.titlex=_.x+H,J.titley=Z+(\"top\"===_.titleside?q-X:X)),_.line.color&&\"auto\"===_.tickmode){J.tickmode=\"linear\",J.tick0=_.levels.start;var et=_.levels.size,rt=c.constrain((Q-K)/50,4,15)+1,nt=(S[1]-S[0])/((_.nticks||rt)*et);if(nt>1){var it=Math.pow(10,Math.floor(Math.log(nt)/Math.LN10));et*=it*c.roundUp(nt/it,[2,5,10]),(Math.abs(_.levels.start)/_.levels.size+1e-6)%1<2e-6&&(J.tick0=0)}J.dtick=et}J.domain=[Z+X,Z+q-X],J.setScale();var at=k._infolayer.selectAll(\"g.\"+e).data([0]);at.enter().append(\"g\").classed(e,!0).each(function(){var t=n.select(this);t.append(\"rect\").classed(\"cbbg\",!0),t.append(\"g\").classed(\"cbfills\",!0),t.append(\"g\").classed(\"cblines\",!0),t.append(\"g\").classed(\"cbaxis\",!0).classed(\"crisp\",!0),t.append(\"g\").classed(\"cbtitleunshift\",!0).append(\"g\").classed(\"cbtitle\",!0),t.append(\"rect\").classed(\"cboutline\",!0),t.select(\".cbtitle\").datum(0)}),at.attr(\"transform\",\"translate(\"+Math.round(T.l)+\",\"+Math.round(T.t)+\")\");var ot=at.select(\".cbtitleunshift\").attr(\"transform\",\"translate(-\"+Math.round(T.l)+\",-\"+Math.round(T.t)+\")\");J._axislayer=at.select(\".cbaxis\");var st=0;if([\"top\",\"bottom\"].indexOf(_.titleside)!==-1){var lt,ut=T.l+(_.x+H)*T.w,ct=J.titlefont.size;lt=\"top\"===_.titleside?(1-(Z+q-X))*T.h+T.t+3+.75*ct:(1-(Z+X))*T.h+T.t-3-.25*ct,M(J._id+\"title\",{attributes:{x:ut,y:lt,\"text-anchor\":\"start\"}})}var ht=c.syncOrAsync([o.previousPromises,w,o.previousPromises,A],t);if(ht&&ht.then&&(t._promises||[]).push(ht),t._context.editable){var ft,dt,pt;u.init({element:at.node(),prepFn:function(){ft=at.attr(\"transform\"),f(at)},moveFn:function(t,e){at.attr(\"transform\",ft+\" translate(\"+t+\",\"+e+\")\"),dt=u.align(W+t/T.w,U,0,1,_.xanchor),pt=u.align(Z-e/T.h,q,0,1,_.yanchor);var r=u.getCursor(dt,pt,_.xanchor,_.yanchor);f(at,r)},doneFn:function(e){f(at),e&&void 0!==dt&&void 0!==pt&&a.restyle(t,{\"colorbar.x\":dt,\"colorbar.y\":pt},b().index)}})}return ht}function b(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if(n=t._fullData[r],n.uid===i)return n}var _={};return Object.keys(x).forEach(function(t){_[t]=null}),_.fillcolor=null,_.line={color:null,width:null,dash:null},_.levels={start:null,end:null,size:null},_.filllevels=null,Object.keys(_).forEach(function(t){r[t]=function(e){return arguments.length?(_[t]=c.isPlainObject(_[t])?c.extendFlat(_[t],e):e,r):_[t]}}),r.options=function(t){return Object.keys(t).forEach(function(e){\"function\"==typeof r[e]&&r[e](t[e])}),r},r._opts=_,r}},{\"../../lib\":633,\"../../lib/extend\":626,\"../../lib/setcursor\":643,\"../../plotly\":659,\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/axis_defaults\":666,\"../../plots/cartesian/layout_attributes\":673,\"../../plots/cartesian/position_defaults\":676,\"../../plots/plots\":724,\"../../registry\":739,\"../color\":533,\"../dragelement\":554,\"../drawing\":556,\"../titles\":607,\"./attributes\":534,d3:95,tinycolor2:489}],537:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\"../../lib\":633}],538:[function(t,e,r){\"use strict\";e.exports={zauto:{valType:\"boolean\",dflt:!0},zmin:{valType:\"number\",dflt:null},zmax:{valType:\"number\",dflt:null},colorscale:{valType:\"colorscale\"},autocolorscale:{valType:\"boolean\",dflt:!0},reversescale:{valType:\"boolean\",dflt:!1},showscale:{valType:\"boolean\",dflt:!0}}},{}],539:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./scales\"),a=t(\"./flip_scale\");e.exports=function(t,e,r,o){var s,l;r?(s=n.nestedProperty(t,r).get(),l=n.nestedProperty(t._input,r).get()):(s=t,l=t._input);var u=s[o+\"auto\"],c=s[o+\"min\"],h=s[o+\"max\"],f=s.colorscale;u===!1&&void 0!==c||(c=n.aggNums(Math.min,null,e)),u===!1&&void 0!==h||(h=n.aggNums(Math.max,null,e)),c===h&&(c-=.5,h+=.5),s[o+\"min\"]=c,s[o+\"max\"]=h,l[o+\"min\"]=c,l[o+\"max\"]=h,s.autocolorscale&&(f=c*h<0?i.RdBu:c>=0?i.Reds:i.Blues,l.colorscale=f,s.reversescale&&(f=a(f)),s.colorscale=f)}},{\"../../lib\":633,\"./flip_scale\":544,\"./scales\":551}],540:[function(t,e,r){\"use strict\";var n=t(\"./attributes\"),i=t(\"../../lib/extend\").extendDeep;t(\"./scales.js\");e.exports=function(t){return{color:{valType:\"color\",arrayOk:!0},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{}),cmax:i({},n.zmax,{}),cmin:i({},n.zmin,{}),autocolorscale:i({},n.autocolorscale,{}),reversescale:i({},n.reversescale,{})}}},{\"../../lib/extend\":626,\"./attributes\":538,\"./scales.js\":551}],541:[function(t,e,r){\"use strict\";var n=t(\"./scales\");e.exports=n.RdBu},{\"./scales\":551}],542:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../colorbar/has_colorbar\"),o=t(\"../colorbar/defaults\"),s=t(\"./is_valid_scale\"),l=t(\"./flip_scale\");e.exports=function(t,e,r,u,c){var h=c.prefix,f=c.cLetter,d=h.slice(0,h.length-1),p=h?i.nestedProperty(t,d).get()||{}:t,g=h?i.nestedProperty(e,d).get()||{}:e,m=p[f+\"min\"],v=p[f+\"max\"],y=p.colorscale,x=n(m)&&n(v)&&m<v;u(h+f+\"auto\",!x),u(h+f+\"min\"),u(h+f+\"max\");var b;void 0!==y&&(b=!s(y)),u(h+\"autocolorscale\",b);var _=u(h+\"colorscale\"),w=u(h+\"reversescale\");if(w&&(g.colorscale=l(_)),\"marker.line.\"!==h){var M;h&&(M=a(p));var A=u(h+\"showscale\",M);A&&o(p,g,r)}}},{\"../../lib\":633,\"../colorbar/defaults\":535,\"../colorbar/has_colorbar\":537,\"./flip_scale\":544,\"./is_valid_scale\":548,\"fast-isnumeric\":104}],543:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],544:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],545:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./default_scale\"),a=t(\"./is_valid_scale_array\");e.exports=function(t,e){function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return e||(e=i),t?(\"string\"==typeof t&&(r(),\"string\"==typeof t&&r()),a(t)?t:e):e}},{\"./default_scale\":541,\"./is_valid_scale_array\":549,\"./scales\":551}],546:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"./is_valid_scale\");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(Array.isArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||r.showscale===!0||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{\"../../lib\":633,\"./is_valid_scale\":548,\"fast-isnumeric\":104}],547:[function(t,e,r){\"use strict\";r.scales=t(\"./scales\"),r.defaultScale=t(\"./default_scale\"),r.attributes=t(\"./attributes\"),r.handleDefaults=t(\"./defaults\"),r.calc=t(\"./calc\"),r.hasColorscale=t(\"./has_colorscale\"),r.isValidScale=t(\"./is_valid_scale\"),r.getScale=t(\"./get_scale\"),r.flipScale=t(\"./flip_scale\"),r.extractScale=t(\"./extract_scale\"),r.makeColorScaleFunc=t(\"./make_color_scale_func\")},{\"./attributes\":538,\"./calc\":539,\"./default_scale\":541,\"./defaults\":542,\"./extract_scale\":543,\"./flip_scale\":544,\"./get_scale\":545,\"./has_colorscale\":546,\"./is_valid_scale\":548,\"./make_color_scale_func\":550,\"./scales\":551}],548:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./is_valid_scale_array\");e.exports=function(t){return void 0!==n[t]||i(t)}},{\"./is_valid_scale_array\":549,\"./scales\":551}],549:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\");e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!==+t[0][0]||1!==+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:489}],550:[function(t,e,r){\"use strict\";function n(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}var i=t(\"d3\"),a=t(\"tinycolor2\"),o=t(\"fast-isnumeric\"),s=t(\"../color\");e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,u=l.length,c=new Array(u),h=0;h<u;h++){var f=a(l[h]).toRgb();c[h]=[f.r,f.g,f.b,f.a]}var d,p=i.scale.linear().domain(r).range(c).clamp(!0),g=e.noNumericCheck,m=e.returnArray;return d=g&&m?p:g?function(t){return n(p(t))}:m?function(t){return o(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return o(t)?n(p(t)):a(t).isValid()?t:s.defaultLine},d.domain=p.domain,d.range=function(){return l},d}},{\"../color\":533,d3:95,\"fast-isnumeric\":104,tinycolor2:489}],551:[function(t,e,r){\"use strict\";e.exports={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]]}},{}],552:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\"left\"===i||\"bottom\"===i?a:\"center\"===i||\"middle\"===i?s:\"right\"===i||\"top\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],553:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];\ne.exports=function(t,e,r,a){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\"../../lib\":633}],554:[function(t,e,r){\"use strict\";function n(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function i(t){t._dragging=!1,t._replotPending&&a.plot(t)}var a=t(\"../../plotly\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/constants\"),l=e.exports={};l.align=t(\"./align\"),l.getCursor=t(\"./cursor\");var u=t(\"./unhover\");l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){function e(e){return t.element.onmousemove=p,g._dragged=!1,g._dragging=!0,u=e.clientX,c=e.clientY,d=e.target,h=(new Date).getTime(),h-g._mouseDownTime<v?m+=1:(m=1,g._mouseDownTime=h),t.prepFn&&t.prepFn(e,u,c),f=n(),f.onmousemove=r,f.onmouseup=a,f.onmouseout=a,f.style.cursor=window.getComputedStyle(t.element).cursor,o.pauseEvent(e)}function r(e){var r=e.clientX-u,n=e.clientY-c,i=t.minDrag||s.MINDRAG;return Math.abs(r)<i&&(r=0),Math.abs(n)<i&&(n=0),(r||n)&&(g._dragged=!0,l.unhover(g)),t.moveFn&&t.moveFn(r,n,g._dragged),o.pauseEvent(e)}function a(e){if(p=t.element.onmousemove,t.setCursor&&(t.element.onmousemove=t.setCursor),f.onmousemove=null,f.onmouseup=null,f.onmouseout=null,o.removeElement(f),!g._dragging)return void(g._dragged=!1);if(g._dragging=!1,(new Date).getTime()-g._mouseDownTime>v&&(m=Math.max(m-1,1)),t.doneFn&&t.doneFn(g._dragged,m),!g._dragged){var r=document.createEvent(\"MouseEvents\");r.initEvent(\"click\",!0,!0),d.dispatchEvent(r)}return i(g),g._dragged=!1,o.pauseEvent(e)}var u,c,h,f,d,p,g=o.getPlotDiv(t.element)||{},m=1,v=s.DBLCLICKDELAY;g._mouseDownTime||(g._mouseDownTime=0),p=t.element.onmousemove,t.setCursor&&(t.element.onmousemove=t.setCursor),t.element.onmousedown=e,t.element.style.pointerEvents=\"all\"},l.coverSlip=n},{\"../../lib\":633,\"../../plotly\":659,\"../../plots/cartesian/constants\":669,\"./align\":552,\"./cursor\":553,\"./unhover\":555}],555:[function(t,e,r){\"use strict\";var n=t(\"../../lib/events\"),i=e.exports={};i.wrapped=function(t,e,r){\"string\"==typeof t&&(t=document.getElementById(t)),t._hoverTimer&&(clearTimeout(t._hoverTimer),t._hoverTimer=void 0),i.raw(t,e,r)},i.raw=function(t,e){var r=t._fullLayout;e||(e={}),e.target&&n.triggerHandler(t,\"plotly_beforehover\",e)===!1||(r._hoverlayer.selectAll(\"g\").remove(),e.target&&t._hoverdata&&t.emit(\"plotly_unhover\",{points:t._hoverdata}),t._hoverdata=void 0)}},{\"../../lib/events\":625}],556:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){if(s.traceIs(r,\"symbols\")){var u=p(r);e.attr(\"d\",function(t){var e;e=\"various\"===t.ms||\"various\"===a.size?3:d.isBubble(r)?u(t.ms):(a.size||6)/2,t.mrc=e;var n=g.symbolNumber(t.mx||a.symbol)||0,i=n%100;return t.om=n%200>=100,g.symbolFuncs[i](e)+(n>=200?y:\"\")}).style(\"opacity\",function(t){return(t.mo+1||a.opacity+1)-1})}var c,h,f;t.so?(f=o.outlierwidth,h=o.outliercolor,c=a.outliercolor):(f=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,h=\"mlc\"in t?t.mlcc=i(t.mlc):Array.isArray(o.color)?l.defaultLine:o.color,c=\"mc\"in t?t.mcc=n(t.mc):Array.isArray(a.color)?l.defaultLine:a.color||\"rgba(0,0,0,0)\"),t.om?e.call(l.stroke,c).style({\"stroke-width\":(f||1)+\"px\",fill:\"none\"}):(e.style(\"stroke-width\",f+\"px\").call(l.fill,c),f&&e.call(l.stroke,h))}function i(t,e,r,n){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],u=Math.pow(i*i+o*o,_/2),c=Math.pow(s*s+l*l,_/2),h=(c*c*i-u*u*s)*n,f=(c*c*o-u*u*l)*n,d=3*c*(u+c),p=3*u*(u+c);return[[a.round(e[0]+(d&&h/d),2),a.round(e[1]+(d&&f/d),2)],[a.round(e[0]-(p&&h/p),2),a.round(e[1]-(p&&f/p),2)]]}var a=t(\"d3\"),o=t(\"fast-isnumeric\"),s=t(\"../../registry\"),l=t(\"../color\"),u=t(\"../colorscale\"),c=t(\"../../lib\"),h=t(\"../../lib/svg_text_utils\"),f=t(\"../../constants/xmlns_namespaces\"),d=t(\"../../traces/scatter/subtypes\"),p=t(\"../../traces/scatter/make_bubble_size_func\"),g=e.exports={};g.font=function(t,e,r,n){e&&e.family&&(n=e.color,r=e.size,e=e.family),e&&t.style(\"font-family\",e),r+1&&t.style(\"font-size\",r+\"px\"),n&&t.call(l.fill,n)},g.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},g.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},g.setRect=function(t,e,r,n,i){t.call(g.setPosition,e,r).call(g.setSize,n,i)},g.translatePoint=function(t,e,r,n){var i=t.xp||r.c2p(t.x),a=t.yp||n.c2p(t.y);o(i)&&o(a)?\"text\"===e.node().nodeName?e.attr(\"x\",i).attr(\"y\",a):e.attr(\"transform\",\"translate(\"+i+\",\"+a+\")\"):e.remove()},g.translatePoints=function(t,e,r,n){t.each(function(t){var i=a.select(this);g.translatePoint(t,i,e,r,n)})},g.getPx=function(t,e){return Number(t.style(e).replace(/px$/,\"\"))},g.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},g.singleLineStyle=function(t,e,r,n,i){e.style(\"fill\",\"none\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";l.stroke(e,n||a.color),g.dashLine(e,s,o)},g.lineGroupStyle=function(t,e,r,n){t.style(\"fill\",\"none\").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,s=n||i.dash||\"\";a.select(this).call(l.stroke,r||i.color).call(g.dashLine,s,o)})},g.dashLine=function(t,e,r){var n=Math.max(r,3);\"solid\"===e?e=\"\":\"dot\"===e?e=n+\"px,\"+n+\"px\":\"dash\"===e?e=3*n+\"px,\"+3*n+\"px\":\"longdash\"===e?e=5*n+\"px,\"+5*n+\"px\":\"dashdot\"===e?e=3*n+\"px,\"+n+\"px,\"+n+\"px,\"+n+\"px\":\"longdashdot\"===e&&(e=5*n+\"px,\"+2*n+\"px,\"+n+\"px,\"+2*n+\"px\"),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},g.fillGroupStyle=function(t){t.style(\"stroke-width\",0).each(function(e){var r=a.select(this);try{r.call(l.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var m=t(\"./symbol_defs\");g.symbolNames=[],g.symbolFuncs=[],g.symbolNeedLines={},g.symbolNoDot={},g.symbolList=[],Object.keys(m).forEach(function(t){var e=m[t];g.symbolList=g.symbolList.concat([e.n,t,e.n+100,t+\"-open\"]),g.symbolNames[e.n]=t,g.symbolFuncs[e.n]=e.f,e.needLine&&(g.symbolNeedLines[e.n]=!0),e.noDot?g.symbolNoDot[e.n]=!0:g.symbolList=g.symbolList.concat([e.n+200,t+\"-dot\",e.n+300,t+\"-open-dot\"])});var v=g.symbolNames.length,y=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";g.symbolNumber=function(t){if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),t=g.symbolNames.indexOf(t),t>=0&&(t+=e)}return t%100>=v||t>=400?0:Math.floor(Math.max(t,0))},g.singlePointStyle=function(t,e,r){var i=r.marker,a=i.line,o=g.tryColorscale(i,\"\"),s=g.tryColorscale(i,\"line\");n(t,e,r,o,s,i,a)},g.pointStyle=function(t,e){if(t.size()){var r=e.marker,n=g.tryColorscale(r,\"\"),i=g.tryColorscale(r,\"line\");t.each(function(t){g.singlePointStyle(t,a.select(this),e,n,i)})}},g.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&Array.isArray(i)?u.makeColorScaleFunc(u.extractScale(n,r.cmin,r.cmax)):c.identity};var x={start:1,end:-1,middle:0,bottom:1,top:-1},b=1.3;g.textPointStyle=function(t,e){t.each(function(t){var r=a.select(this),n=t.tx||e.text;if(!n||Array.isArray(n))return void r.remove();var i=t.tp||e.textposition,s=i.indexOf(\"top\")!==-1?\"top\":i.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\",l=i.indexOf(\"left\")!==-1?\"end\":i.indexOf(\"right\")!==-1?\"start\":\"middle\",u=t.ts||e.textfont.size,c=t.mrc?t.mrc/.8+1:0;u=o(u)&&u>0?u:0,r.call(g.font,t.tf||e.textfont.family,u,t.tc||e.textfont.color).attr(\"text-anchor\",l).text(n).call(h.convertToTspans);var f=a.select(this.parentNode),d=r.selectAll(\"tspan.line\"),p=((d[0].length||1)-1)*b+1,m=x[l]*c,v=.75*u+x[s]*c+(x[s]-1)*p*u/2;f.attr(\"transform\",\"translate(\"+m+\",\"+v+\")\"),p>1&&d.attr({x:r.attr(\"x\"),y:r.attr(\"y\")})})};var _=.5;g.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],a=[];for(r=1;r<t.length-1;r++)a.push(i(t[r-1],t[r],t[r+1],e));for(n+=\"Q\"+a[0][0]+\" \"+t[1],r=2;r<t.length-1;r++)n+=\"C\"+a[r-2][1]+\" \"+a[r-1][0]+\" \"+t[r];return n+=\"Q\"+a[t.length-3][1]+\" \"+t[t.length-1]},g.smoothclosed=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\")+\"Z\";var r,n=\"M\"+t[0],a=t.length-1,o=[i(t[a],t[0],t[1],e)];for(r=1;r<a;r++)o.push(i(t[r-1],t[r],t[r+1],e));for(o.push(i(t[a-1],t[a],t[0],e)),r=1;r<=a;r++)n+=\"C\"+o[r-1][1]+\" \"+o[r][0]+\" \"+t[r];return n+=\"C\"+o[a][1]+\" \"+o[0][0]+\" \"+t[0]+\"Z\"};var w={hv:function(t,e){return\"H\"+a.round(e[0],2)+\"V\"+a.round(e[1],2)},vh:function(t,e){return\"V\"+a.round(e[1],2)+\"H\"+a.round(e[0],2)},hvh:function(t,e){return\"H\"+a.round((t[0]+e[0])/2,2)+\"V\"+a.round(e[1],2)+\"H\"+a.round(e[0],2)},vhv:function(t,e){return\"V\"+a.round((t[1]+e[1])/2,2)+\"H\"+a.round(e[0],2)+\"V\"+a.round(e[1],2)}},M=function(t,e){return\"L\"+a.round(e[0],2)+\",\"+a.round(e[1],2)};g.steps=function(t){var e=w[t]||M;return function(t){for(var r=\"M\"+a.round(t[0][0],2)+\",\"+a.round(t[0][1],2),n=1;n<t.length;n++)r+=e(t[n-1],t[n]);return r}},g.makeTester=function(t){var e=a.select(\"body\").selectAll(\"#js-plotly-tester\").data([0]);e.enter().append(\"svg\").attr(\"id\",\"js-plotly-tester\").attr(f.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"});var r=e.selectAll(\".js-reference-point\").data([0]);r.enter().append(\"path\").classed(\"js-reference-point\",!0).attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"}),e.node()._cache||(e.node()._cache={}),t._tester=e,t._testref=r};var A=[],k=1e4;g.bBox=function(t){var e=t.attributes[\"data-bb\"];if(e&&e.value)return c.extendFlat({},A[e.value]);var r=a.select(\"#js-plotly-tester\"),n=r.node(),i=t.cloneNode(!0);n.appendChild(i),a.select(i).attr({x:0,y:0,transform:\"\"});var o=i.getBoundingClientRect(),s=r.select(\".js-reference-point\").node().getBoundingClientRect();n.removeChild(i);var l={height:o.height,width:o.width,left:o.left-s.left,top:o.top-s.top,right:o.right-s.left,bottom:o.bottom-s.top};return A.length>=k&&(a.selectAll(\"[data-bb]\").attr(\"data-bb\",null),A=[]),t.setAttribute(\"data-bb\",A.length),A.push(l),c.extendFlat({},l)},g.setClipUrl=function(t,e){if(!e)return void t.attr(\"clip-path\",null);var r=\"#\"+e,n=a.select(\"base\");n.size()&&n.attr(\"href\")&&(r=window.location.href+r),t.attr(\"clip-path\",\"url(\"+r+\")\")}},{\"../../constants/xmlns_namespaces\":618,\"../../lib\":633,\"../../lib/svg_text_utils\":647,\"../../registry\":739,\"../../traces/scatter/make_bubble_size_func\":861,\"../../traces/scatter/subtypes\":866,\"../color\":533,\"../colorscale\":547,\"./symbol_defs\":557,d3:95,\"fast-isnumeric\":104}],557:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"}},square:{n:1,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"Z\"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H\"+e+\"V\"+r+\"H-\"+e+\"V\"+e+\"H-\"+r+\"V-\"+e+\"H-\"+e+\"V-\"+r+\"H\"+e+\"V-\"+e+\"H\"+r+\"Z\"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=\"l\"+e+\",\"+e,i=\"l\"+e+\",-\"+e,a=\"l-\"+e+\",-\"+e,o=\"l-\"+e+\",\"+e;return\"M0,\"+e+r+i+a+i+a+o+a+o+r+o+r+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2),r=n.round(t/2,2),i=n.round(t,2);return\"M-\"+e+\",\"+r+\"H\"+e+\"L0,-\"+i+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2),r=n.round(t/2,2),i=n.round(t,2);return\"M-\"+e+\",-\"+r+\"H\"+e+\"L0,\"+i+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2),r=n.round(t/2,2),i=n.round(t,2);return\"M\"+r+\",-\"+e+\"V\"+e+\"L-\"+i+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2),r=n.round(t/2,2),i=n.round(t,2);return\"M-\"+r+\",-\"+e+\"V\"+e+\"L\"+i+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+r+\",-\"+e+\"H\"+e+\"V\"+r+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+e+\",-\"+r+\"V\"+e+\"H-\"+r+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H-\"+e+\"V-\"+r+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+e+\",\"+r+\"V-\"+e+\"H\"+r+\"Z\"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(t*-.309,2),o=n.round(.809*t,2);return\"M\"+e+\",\"+a+\"L\"+r+\",\"+o+\"H-\"+r+\"L-\"+e+\",\"+a+\"L0,\"+i+\"Z\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M\"+i+\",-\"+r+\"V\"+r+\"L0,\"+e+\"L-\"+i+\",\"+r+\"V-\"+r+\"L0,-\"+e+\"Z\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M-\"+r+\",\"+i+\"H\"+r+\"L\"+e+\",0L\"+r+\",-\"+i+\"H-\"+r+\"L-\"+e+\",0Z\"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return\"M-\"+r+\",-\"+e+\"H\"+r+\"L\"+e+\",-\"+r+\"V\"+r+\"L\"+r+\",\"+e+\"H-\"+r+\"L-\"+e+\",\"+r+\"V-\"+r+\"Z\"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(e*-.309,2),u=n.round(.118*e,2),c=n.round(.809*e,2),h=n.round(.382*e,2);return\"M\"+r+\",\"+l+\"H\"+i+\"L\"+a+\",\"+u+\"L\"+o+\",\"+c+\"L0,\"+h+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"L-\"+i+\",\"+l+\"H-\"+r+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return\"M-\"+i+\",0l-\"+r+\",-\"+e+\"h\"+i+\"l\"+r+\",-\"+e+\"l\"+r+\",\"+e+\"h\"+i+\"l-\"+r+\",\"+e+\"l\"+r+\",\"+e+\"h-\"+i+\"l-\"+r+\",\"+e+\"l-\"+r+\",-\"+e+\"h-\"+i+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M-\"+e+\",\"+r+o+e+\",\"+r+o+\"0,-\"+i+o+\"-\"+e+\",\"+r+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M\"+e+\",-\"+r+o+\"-\"+e+\",-\"+r+o+\"0,\"+i+o+e+\",-\"+r+\"Z\"}},\"star-square\":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",-\"+e+i+\"-\"+e+\",\"+e+i+e+\",\"+e+i+e+\",-\"+e+i+\"-\"+e+\",-\"+e+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",0\"+i+\"0,\"+e+i+e+\",0\"+i+\"0,-\"+e+i+\"-\"+e+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"L\"+e+\",-\"+e+\"H-\"+e+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"V-\"+e+\"L-\"+e+\",\"+e+\"V-\"+e+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM0,-\"+e+\"V\"+e+\"M-\"+e+\",0H\"+e},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM-\"+r+\",-\"+r+\"L\"+r+\",\"+r+\"M-\"+r+\",\"+r+\"L\"+r+\",-\"+r},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0},\"x-thin\":{n:34,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return\"M\"+e+\",\"+r+\"V-\"+r+\"m-\"+r+\",0V\"+r+\"M\"+r+\",\"+e+\"H-\"+r+\"m0,-\"+r+\"H\"+r},needLine:!0},\"y-up\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",\"+i+\"L0,0M\"+e+\",\"+i+\"L0,0M0,-\"+r+\"L0,0\"},needLine:!0,noDot:!0},\"y-down\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",-\"+i+\"L0,0M\"+e+\",-\"+i+\"L0,0M0,\"+r+\"L0,0\"},needLine:!0,noDot:!0},\"y-left\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M\"+i+\",\"+e+\"L0,0M\"+i+\",-\"+e+\"L0,0M-\"+r+\",0L0,0\"},needLine:!0,noDot:!0},\"y-right\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+i+\",\"+e+\"L0,0M-\"+i+\",-\"+e+\"L0,0M\"+r+\",0L0,0\"},needLine:!0,noDot:!0},\"line-ew\":{n:41,f:function(t){var e=n.round(1.4*t,2);return\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0},\"line-ns\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e},needLine:!0,noDot:!0},\"line-ne\":{n:43,f:function(t){var e=n.round(t,2);return\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0},\"line-nw\":{n:44,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e},needLine:!0,noDot:!0}}},{d3:95}],558:[function(t,e,r){\"use strict\";e.exports={visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"]},symmetric:{valType:\"boolean\"},array:{valType:\"data_array\"},arrayminus:{valType:\"data_array\"},value:{valType:\"number\",min:0,dflt:10},valueminus:{valType:\"number\",min:0,dflt:10},traceref:{valType:\"integer\",min:0,dflt:0},tracerefminus:{valType:\"integer\",min:0,dflt:0},copy_ystyle:{valType:\"boolean\"},copy_zstyle:{valType:\"boolean\"},color:{valType:\"color\"},thickness:{valType:\"number\",min:0,dflt:2},width:{valType:\"number\",min:0},_deprecated:{opacity:{valType:\"number\"}}}},{}],559:[function(t,e,r){\"use strict\";function n(t,e,r,n){var a=e[\"error_\"+n]||{},l=a.visible&&[\"linear\",\"log\"].indexOf(r.type)!==-1,u=[];if(l){for(var c=s(a),h=0;h<t.length;h++){var f=t[h],d=f[n];if(i(r.c2l(d))){var p=c(d,h);if(i(p[0])&&i(p[1])){var g=f[n+\"s\"]=d-p[0],m=f[n+\"h\"]=d+p[1];u.push(g,m)}}}o.expand(r,u,{padded:!0})}}var i=t(\"fast-isnumeric\"),a=t(\"../../registry\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"./compute_error\");e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var i=e[r],s=i[0].trace;if(a.traceIs(s,\"errorBarsOK\")){var l=o.getFromId(t,s.xaxis),u=o.getFromId(t,s.yaxis);n(i,s,l,\"x\"),n(i,s,u,\"y\")}}}},{\"../../plots/cartesian/axes\":664,\"../../registry\":739,\"./compute_error\":560,\"fast-isnumeric\":104}],560:[function(t,e,r){\"use strict\";function n(t,e){return\"percent\"===t?function(t){return Math.abs(t*e/100)}:\"constant\"===t?function(){return Math.abs(e)}:\"sqrt\"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(\"data\"===e){var i=t.array,a=t.arrayminus;return r||void 0===a?function(t,e){var r=+i[e];return[r,r]}:function(t,e){return[+a[e],+i[e]]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],561:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(t,e){return a.coerce(h,c,o,t,e)}var u=\"error_\"+s.axis,c=e[u]={},h=t[u]||{},f=void 0!==h.array||void 0!==h.value||\"sqrt\"===h.type,d=l(\"visible\",f);if(d!==!1){var p=l(\"type\",\"array\"in h?\"data\":\"percent\"),g=!0;if(\"sqrt\"!==p&&(g=l(\"symmetric\",!((\"data\"===p?\"arrayminus\":\"valueminus\")in h))),\"data\"===p){var m=l(\"array\");if(m||(c.array=[]),l(\"traceref\"),!g){var v=l(\"arrayminus\");v||(c.arrayminus=[]),l(\"tracerefminus\")}}else\"percent\"!==p&&\"constant\"!==p||(l(\"value\"),g||l(\"valueminus\"));var y=\"copy_\"+s.inherit+\"style\";if(s.inherit){var x=e[\"error_\"+s.inherit];(x||{}).visible&&l(y,!(h.color||n(h.thickness)||n(h.width)))}s.inherit&&c[y]||(l(\"color\",r),l(\"thickness\"),l(\"width\",i.traceIs(e,\"gl3d\")?0:4))}}},{\"../../lib\":633,\"../../registry\":739,\"./attributes\":558,\"fast-isnumeric\":104}],562:[function(t,e,r){\"use strict\";var n=e.exports={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.calcFromTrace=function(t,e){for(var r=t.x||[],i=t.y,a=r.length||i.length,o=new Array(a),s=0;s<a;s++)o[s]={x:r[s],y:i[s]};return o[0].trace=t,n.calc({calcdata:[o],_fullLayout:e}),o},n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.hoverInfo=function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}},{\"./attributes\":558,\"./calc\":559,\"./defaults\":561,\"./plot\":563,\"./style\":564}],563:[function(t,e,r){\"use strict\";function n(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}var i=t(\"d3\"),a=t(\"fast-isnumeric\"),o=t(\"../../traces/scatter/subtypes\");e.exports=function(t,e,r){var s,l=e.xaxis,u=e.yaxis,c=r&&r.duration>0;t.each(function(t){var e,h=t[0].trace,f=h.error_x||{},d=h.error_y||{};h.ids&&(e=function(t){return t.id});var p=o.hasMarkers(h)&&h.marker.maxdisplayed>0;if(d.visible||f.visible){var g=i.select(this).selectAll(\"g.errorbar\").data(t,e);g.exit().remove(),g.style(\"opacity\",1);var m=g.enter().append(\"g\").classed(\"errorbar\",!0);c&&m.style(\"opacity\",0).transition().duration(r.duration).style(\"opacity\",1),g.each(function(t){var e=i.select(this),o=n(t,l,u);if(!p||t.vis){var h;if(d.visible&&a(o.x)&&a(o.yh)&&a(o.ys)){var g=d.width;h=\"M\"+(o.x-g)+\",\"+o.yh+\"h\"+2*g+\"m-\"+g+\",0V\"+o.ys,o.noYS||(h+=\"m-\"+g+\",0h\"+2*g);var m=e.select(\"path.yerror\");s=!m.size(),s?m=e.append(\"path\").classed(\"yerror\",!0):c&&(m=m.transition().duration(r.duration).ease(r.easing)),m.attr(\"d\",h)}if(f.visible&&a(o.y)&&a(o.xh)&&a(o.xs)){var v=(f.copy_ystyle?d:f).width;h=\"M\"+o.xh+\",\"+(o.y-v)+\"v\"+2*v+\"m0,-\"+v+\"H\"+o.xs,o.noXS||(h+=\"m0,-\"+v+\"v\"+2*v);var y=e.select(\"path.xerror\");s=!y.size(),s?y=e.append(\"path\").classed(\"xerror\",!0):c&&(y=y.transition().duration(r.duration).ease(r.easing)),y.attr(\"d\",h)}}})}})}},{\"../../traces/scatter/subtypes\":866,d3:95,\"fast-isnumeric\":104}],564:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../color\");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)})}},{\"../color\":533,d3:95}],565:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/constants\");e.exports={_isLinkedToArray:\"image\",visible:{valType:\"boolean\",dflt:!0},source:{valType:\"string\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\"},sizex:{valType:\"number\",dflt:0},sizey:{valType:\"number\",dflt:0},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},x:{valType:\"any\",dflt:0},y:{valType:\"any\",dflt:0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\"},xref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.x.toString()],dflt:\"paper\"},yref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.y.toString()],dflt:\"paper\"}}},{\"../../plots/cartesian/constants\":669}],566:[function(t,e,r){\"use strict\";function n(t,e,r){function n(r,n){return i.coerce(t,e,s,r,n)}var o=n(\"source\"),l=n(\"visible\",!!o);if(!l)return e;n(\"layer\"),n(\"x\"),n(\"y\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var u={_fullLayout:r},c=[\"x\",\"y\"],h=0;h<2;h++)a.coerceRef(t,e,u,c[h],\"paper\");return e}var i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=\"images\";e.exports=function(t,e){var r={name:l,handleItemDefaults:n};o(t,e,r)}},{\"../../lib\":633,\"../../plots/array_container_defaults\":661,\"../../plots/cartesian/axes\":664,\"./attributes\":565}],567:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../drawing\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/xmlns_namespaces\");e.exports=function(t){function e(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(\"xmlns\",o.svg);var i=new Promise(function(t){function n(){r.remove(),t()}var i=new Image;this.img=i,i.setAttribute(\"crossOrigin\",\"anonymous\"),i.onerror=n,i.onload=function(){var t=document.createElement(\"canvas\");t.width=this.width,t.height=this.height;var e=t.getContext(\"2d\");e.drawImage(this,0,0);var n=t.toDataURL(\"image/png\");r.attr(\"xlink:href\",n)},r.on(\"error\",n),r.on(\"load\",t),i.src=e.source}.bind(this));t._promises.push(i)}}function r(e){var r=n.select(this),o=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),u=s._size,c=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*u.w,h=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*u.h,f=c*d.x[e.xanchor].offset,p=h*d.y[e.yanchor].offset,g=d.x[e.xanchor].sizing+d.y[e.yanchor].sizing,m=(o?o.r2p(e.x)+o._offset:e.x*u.w+u.l)+f,v=(l?l.r2p(e.y)+l._offset:u.h-e.y*u.h+u.t)+p;switch(e.sizing){case\"fill\":g+=\" slice\";break;case\"stretch\":g=\"none\"}r.attr({x:m,y:v,width:c,height:h,preserveAspectRatio:g,opacity:e.opacity});var y=o?o._id:\"\",x=l?l._id:\"\",b=y+x;b&&r.call(i.setClipUrl,\"clip\"+s._uid+b)}for(var s=t._fullLayout,l=[],u=[],c=[],h=0;h<s.images.length;h++){var f=s.images[h];f.visible&&(\"below\"===f.layer&&\"paper\"!==f.xref&&\"paper\"!==f.yref?u.push(f):\"above\"===f.layer?l.push(f):c.push(f))}var d={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-.5},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-.5},bottom:{sizing:\"YMax\",offset:-1}}},p=s._imageLowerLayer.selectAll(\"image\").data(c),g=s._imageSubplotLayer.selectAll(\"image\").data(u),m=s._imageUpperLayer.selectAll(\"image\").data(l);p.enter().append(\"image\"),g.enter().append(\"image\"),m.enter().append(\"image\"),p.exit().remove(),g.exit().remove(),m.exit().remove(),p.each(function(t){e.bind(this)(t),r.bind(this)(t)}),g.each(function(t){e.bind(this)(t),r.bind(this)(t)}),m.each(function(t){e.bind(this)(t),r.bind(this)(t)})}},{\"../../constants/xmlns_namespaces\":618,\"../../plots/cartesian/axes\":664,\"../drawing\":556,d3:95}],568:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":565,\"./defaults\":566,\"./draw\":567}],569:[function(t,e,r){\"use strict\";r.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],570:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat;e.exports={bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.defaultLine},borderwidth:{valType:\"number\",min:0,dflt:0},font:a({},n,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"]},tracegroupgap:{valType:\"number\",min:0,dflt:10},x:{valType:\"number\",min:-2,max:3,dflt:1.02},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\"}}},{\"../../lib/extend\":626,\"../../plots/font_attributes\":684,\"../color/attributes\":532}],571:[function(t,e,r){\"use strict\";e.exports={scrollBarWidth:4,scrollBarHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4}},{}],572:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./attributes\"),o=t(\"../../plots/layout_attributes\"),s=t(\"./helpers\");e.exports=function(t,e,r){function l(t,e){return i.coerce(d,p,a,t,e)}for(var u,c,h,f,d=t.legend||{},p=e.legend={},g=0,m=\"normal\",v=0;v<r.length;v++){var y=r[v];s.legendGetsTrace(y)&&(g++,n.traceIs(y,\"pie\")&&g++),(n.traceIs(y,\"bar\")&&\"stack\"===e.barmode||[\"tonextx\",\"tonexty\"].indexOf(y.fill)!==-1)&&(m=s.isGrouped({traceorder:m})?\"grouped+reversed\":\"reversed\"),void 0!==y.legendgroup&&\"\"!==y.legendgroup&&(m=s.isReversed({traceorder:m})?\"reversed+grouped\":\"grouped\")}var x=i.coerce(t,e,o,\"showlegend\",g>1);if(x!==!1){if(l(\"bgcolor\",e.paper_bgcolor),l(\"bordercolor\"),l(\"borderwidth\"),i.coerceFont(l,\"font\",e.font),l(\"orientation\"),\"h\"===p.orientation){var b=t.xaxis;b&&b.rangeslider&&b.rangeslider.visible?(u=0,h=\"left\",c=1.1,f=\"bottom\"):(u=0,h=\"left\",c=-.1,f=\"top\")}l(\"traceorder\",m),s.isGrouped(e.legend)&&l(\"tracegroupgap\"),l(\"x\",u),l(\"xanchor\",h),l(\"y\",c),l(\"yanchor\",f),i.noneOrAll(d,p,[\"x\",\"y\"])}}},{\"../../lib\":633,\"../../plots/layout_attributes\":715,\"../../registry\":739,\"./attributes\":570,\"./helpers\":575}],573:[function(t,e,r){\"use strict\";function n(t,e){function r(r){v.convertToTspans(r,function(){r.selectAll(\"tspan.line\").attr({x:r.attr(\"x\")}),t.call(a,e)})}var n=t.data()[0][0],i=e._fullLayout,o=n.trace,s=d.traceIs(o,\"pie\"),l=o.index,u=s?n.label:o.name,h=t.selectAll(\"text.legendtext\").data([0]);h.enter().append(\"text\").classed(\"legendtext\",!0),h.attr({x:40,y:0,\"data-unformatted\":u}).style(\"text-anchor\",\"start\").classed(\"user-select-none\",!0).call(g.font,i.legend.font).text(u),e._context.editable&&!s?h.call(v.makeEditable).call(r).on(\"edit\",function(t){this.attr({\"data-unformatted\":t}),this.text(t).call(r),this.text()||(t=\"    \");var i,a=n.trace._fullInput||{};if([\"ohlc\",\"candlestick\"].indexOf(a.type)!==-1){var o=n.trace.transforms,s=o[o.length-1].direction;i=s+\".legenditem.name\"}else i=\"name\";c.restyle(e,i,t,l)}):h.call(r)}function i(t,e){var r=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],n=t.selectAll(\"rect\").data([0]);n.enter().append(\"rect\").classed(\"legendtoggle\",!0).style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\").call(m.fill,\"rgba(0,0,0,0)\"),n.on(\"click\",function(){if(!e._dragged){var n,i,a=t.data()[0][0],o=e._fullData,s=a.trace,l=s.legendgroup,u=[];if(d.traceIs(s,\"pie\")){var h=a.label,f=r.indexOf(h);f===-1?r.push(h):r.splice(f,1),c.relayout(e,\"hiddenlabels\",r)}else{if(\"\"===l)u=[s.index];else for(var p=0;p<o.length;p++)n=o[p],n.legendgroup===l&&u.push(n.index);i=s.visible!==!0||\"legendonly\",c.restyle(e,\"visible\",i,u)}}})}function a(t,e){var r,n,i=t.data()[0][0],a=t.select(\"g[class*=math-group]\"),o=e._fullLayout.legend,s=1.3*o.font.size;if(!i.trace.showlegend)return void t.remove();if(a.node()){var l=g.bBox(a.node());r=l.height,n=l.width,h.setTranslate(a,0,r/4)}else{var u=t.selectAll(\".legendtext\"),c=t.selectAll(\".legendtext>tspan\"),f=c[0].length||1;r=s*f,n=u.node()&&g.bBox(u.node()).width;var d=s*(.3+(1-f)/2);u.attr(\"y\",d),c.attr(\"y\",d)}r=Math.max(r,16)+3,i.height=r,i.width=n}function o(t,e,r){var n=t._fullLayout,i=n.legend,a=i.borderwidth,o=_.isGrouped(i);if(_.isVertical(i))o&&e.each(function(t,e){h.setTranslate(this,0,e*i.tracegroupgap)}),i.width=0,i.height=0,r.each(function(t){var e=t[0],r=e.height,n=e.width;h.setTranslate(this,a,5+a+i.height+r/2),i.height+=r,i.width=Math.max(i.width,n)}),i.width+=45+2*a,i.height+=10+2*a,o&&(i.height+=(i._lgroupsLength-1)*i.tracegroupgap),i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0],n=u.select(this).select(\".legendtoggle\");n.call(g.setRect,0,-r.height/2,(t._context.editable?0:i.width)+40,r.height)});else if(o){i.width=0,i.height=0;for(var s=[i.width],l=e.data(),c=0,f=l.length;c<f;c++){var d=l[c].map(function(t){return t[0].width}),p=40+Math.max.apply(null,d);i.width+=i.tracegroupgap+p,s.push(i.width)}e.each(function(t,e){h.setTranslate(this,s[e],0)}),e.each(function(){var t=u.select(this),e=t.selectAll(\"g.traces\"),r=0;\ne.each(function(t){var e=t[0],n=e.height;h.setTranslate(this,0,5+a+r+n/2),r+=n}),i.height=Math.max(i.height,r)}),i.height+=10+2*a,i.width+=2*a,i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0],n=u.select(this).select(\".legendtoggle\");n.call(g.setRect,0,-r.height/2,t._context.editable?0:i.width,r.height)})}else{i.width=0,i.height=0;var m=0,v=0,y=0,x=0;r.each(function(t){y=Math.max(40+t[0].width,y)}),r.each(function(t){var e=t[0],r=y,o=i.tracegroupgap||5;a+x+o+r>n.width-(n.margin.r+n.margin.l)&&(x=0,m+=v,i.height=i.height+v,v=0),h.setTranslate(this,a+x,5+a+e.height/2+m),i.width+=o+r,i.height=Math.max(i.height,e.height),x+=o+r,v=Math.max(e.height,v)}),i.width+=2*a,i.height+=10+2*a,i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0],n=u.select(this).select(\".legendtoggle\");n.call(g.setRect,0,-r.height/2,t._context.editable?0:i.width,r.height)})}}function s(t){var e=t._fullLayout,r=e.legend,n=\"left\";w.isRightAnchor(r)?n=\"right\":w.isCenterAnchor(r)&&(n=\"center\");var i=\"top\";w.isBottomAnchor(r)?i=\"bottom\":w.isMiddleAnchor(r)&&(i=\"middle\"),f.autoMargin(t,\"legend\",{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[n]||0),r:r.width*({left:1,center:.5}[n]||0),b:r.height*({top:1,middle:.5}[i]||0),t:r.height*({bottom:1,middle:.5}[i]||0)})}function l(t){var e=t._fullLayout,r=e.legend,n=\"left\";w.isRightAnchor(r)?n=\"right\":w.isCenterAnchor(r)&&(n=\"center\"),f.autoMargin(t,\"legend\",{x:r.x,y:.5,l:r.width*({right:1,center:.5}[n]||0),r:r.width*({left:1,center:.5}[n]||0),b:0,t:0})}var u=t(\"d3\"),c=t(\"../../plotly\"),h=t(\"../../lib\"),f=t(\"../../plots/plots\"),d=t(\"../../registry\"),p=t(\"../dragelement\"),g=t(\"../drawing\"),m=t(\"../color\"),v=t(\"../../lib/svg_text_utils\"),y=t(\"./constants\"),x=t(\"./get_legend_data\"),b=t(\"./style\"),_=t(\"./helpers\"),w=t(\"./anchor_utils\");e.exports=function(t){function e(t,e){E.attr(\"data-scroll\",e).call(h.setTranslate,0,e),S.call(g.setRect,N,t,y.scrollBarWidth,y.scrollBarHeight),k.select(\"rect\").attr({y:v.borderwidth-e})}var r=t._fullLayout,a=\"legend\"+r._uid;if(r._infolayer&&t.calcdata){var v=r.legend,_=r.showlegend&&x(t.calcdata,v),M=r.hiddenlabels||[];if(!r.showlegend||!_.length)return r._infolayer.selectAll(\".legend\").remove(),r._topdefs.select(\"#\"+a).remove(),void f.autoMargin(t,\"legend\");var A=r._infolayer.selectAll(\"g.legend\").data([0]);A.enter().append(\"g\").attr({class:\"legend\",\"pointer-events\":\"all\"});var k=r._topdefs.selectAll(\"#\"+a).data([0]);k.enter().append(\"clipPath\").attr(\"id\",a).append(\"rect\");var T=A.selectAll(\"rect.bg\").data([0]);T.enter().append(\"rect\").attr({class:\"bg\",\"shape-rendering\":\"crispEdges\"}),T.call(m.stroke,v.bordercolor),T.call(m.fill,v.bgcolor),T.style(\"stroke-width\",v.borderwidth+\"px\");var E=A.selectAll(\"g.scrollbox\").data([0]);E.enter().append(\"g\").attr(\"class\",\"scrollbox\");var S=A.selectAll(\"rect.scrollbar\").data([0]);S.enter().append(\"rect\").attr({class:\"scrollbar\",rx:20,ry:2,width:0,height:0}).call(m.fill,\"#808BA4\");var L=E.selectAll(\"g.groups\").data(_);L.enter().append(\"g\").attr(\"class\",\"groups\"),L.exit().remove();var z=L.selectAll(\"g.traces\").data(h.identity);z.enter().append(\"g\").attr(\"class\",\"traces\"),z.exit().remove(),z.call(b).style(\"opacity\",function(t){var e=t[0].trace;return d.traceIs(e,\"pie\")?M.indexOf(t[0].label)!==-1?.5:1:\"legendonly\"===e.visible?.5:1}).each(function(){u.select(this).call(n,t).call(i,t)});var C=0!==A.enter().size();C&&(o(t,L,z),s(t));var I=0,P=r.width,D=0,O=r.height;o(t,L,z),v.height>O?l(t):s(t);var R=r._size,F=R.l+R.w*v.x,j=R.t+R.h*(1-v.y);w.isRightAnchor(v)?F-=v.width:w.isCenterAnchor(v)&&(F-=v.width/2),w.isBottomAnchor(v)?j-=v.height:w.isMiddleAnchor(v)&&(j-=v.height/2);var N=v.width,B=R.w;N>B?(F=R.l,N=B):(F+N>P&&(F=P-N),F<I&&(F=I),N=Math.min(P-F,v.width));var U=v.height,V=R.h;U>V?(j=R.t,U=V):(j+U>O&&(j=O-U),j<D&&(j=D),U=Math.min(O-j,v.height)),h.setTranslate(A,F,j);var q,H,G=U-y.scrollBarHeight-2*y.scrollBarMargin,X=v.height-U;if(v.height<=U||t._context.staticPlot)T.attr({width:N-v.borderwidth,height:U-v.borderwidth,x:v.borderwidth/2,y:v.borderwidth/2}),h.setTranslate(E,0,0),k.select(\"rect\").attr({width:N-2*v.borderwidth,height:U-2*v.borderwidth,x:v.borderwidth,y:v.borderwidth}),E.call(g.setClipUrl,a);else{q=y.scrollBarMargin,H=E.attr(\"data-scroll\")||0,T.attr({width:N-2*v.borderwidth+y.scrollBarWidth+y.scrollBarMargin,height:U-v.borderwidth,x:v.borderwidth/2,y:v.borderwidth/2}),k.select(\"rect\").attr({width:N-2*v.borderwidth+y.scrollBarWidth+y.scrollBarMargin,height:U-2*v.borderwidth,x:v.borderwidth,y:v.borderwidth-H}),E.call(g.setClipUrl,a),C&&e(q,H),A.on(\"wheel\",null),A.on(\"wheel\",function(){H=h.constrain(E.attr(\"data-scroll\")-u.event.deltaY/G*X,-X,0),q=y.scrollBarMargin-H/X*G,e(q,H),u.event.preventDefault()}),S.on(\".drag\",null),E.on(\".drag\",null);var Y=u.behavior.drag().on(\"drag\",function(){q=h.constrain(u.event.y-y.scrollBarHeight/2,y.scrollBarMargin,y.scrollBarMargin+G),H=-(q-y.scrollBarMargin)/G*X,e(q,H)});S.call(Y),E.call(Y)}if(t._context.editable){var W,Z,Q,K;A.classed(\"cursor-move\",!0),p.init({element:A.node(),prepFn:function(){var t=h.getTranslate(A);Q=t.x,K=t.y},moveFn:function(t,e){var r=Q+t,n=K+e;h.setTranslate(A,r,n),W=p.align(r,0,R.l,R.l+R.w,v.xanchor),Z=p.align(n,0,R.t+R.h,R.t,v.yanchor)},doneFn:function(e){e&&void 0!==W&&void 0!==Z&&c.relayout(t,{\"legend.x\":W,\"legend.y\":Z})}})}}}},{\"../../lib\":633,\"../../lib/svg_text_utils\":647,\"../../plotly\":659,\"../../plots/plots\":724,\"../../registry\":739,\"../color\":533,\"../dragelement\":554,\"../drawing\":556,\"./anchor_utils\":569,\"./constants\":571,\"./get_legend_data\":574,\"./helpers\":575,\"./style\":577,d3:95}],574:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./helpers\");e.exports=function(t,e){function r(t,r){if(\"\"!==t&&i.isGrouped(e))l.indexOf(t)===-1?(l.push(t),u=!0,s[t]=[[r]]):s[t].push([r]);else{var n=\"~~i\"+h;l.push(n),s[n]=[[r]],h++}}var a,o,s={},l=[],u=!1,c={},h=0;for(a=0;a<t.length;a++){var f=t[a],d=f[0],p=d.trace,g=p.legendgroup;if(i.legendGetsTrace(p)&&p.showlegend)if(n.traceIs(p,\"pie\"))for(c[g]||(c[g]={}),o=0;o<f.length;o++){var m=f[o].label;c[g][m]||(r(g,{label:m,color:f[o].color,i:f[o].i,trace:p}),c[g][m]=!0)}else r(g,d)}if(!l.length)return[];var v,y,x=l.length;if(u&&i.isGrouped(e))for(y=new Array(x),a=0;a<x;a++)v=s[l[a]],y[a]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],a=0;a<x;a++)v=s[l[a]][0],y[0][i.isReversed(e)?x-a-1:a]=v;x=1}return e._lgroupsLength=x,y}},{\"../../registry\":739,\"./helpers\":575}],575:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");r.legendGetsTrace=function(t){return t.visible&&n.traceIs(t,\"showLegend\")},r.isGrouped=function(t){return(t.traceorder||\"\").indexOf(\"grouped\")!==-1},r.isVertical=function(t){return\"h\"!==t.orientation},r.isReversed=function(t){return(t.traceorder||\"\").indexOf(\"reversed\")!==-1}},{\"../../registry\":739}],576:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\"),style:t(\"./style\")}},{\"./attributes\":570,\"./defaults\":572,\"./draw\":573,\"./style\":577}],577:[function(t,e,r){\"use strict\";function n(t){var e=t[0].trace,r=e.visible&&e.fill&&\"none\"!==e.fill,n=d.hasLines(e),i=l.select(this).select(\".legendfill\").selectAll(\"path\").data(r?[t]:[]);i.enter().append(\"path\").classed(\"js-fill\",!0),i.exit().remove(),i.attr(\"d\",\"M5,0h30v6h-30z\").call(h.fillGroupStyle);var a=l.select(this).select(\".legendlines\").selectAll(\"path\").data(n?[t]:[]);a.enter().append(\"path\").classed(\"js-line\",!0).attr(\"d\",\"M5,0h30\"),a.exit().remove(),a.call(h.lineGroupStyle)}function i(t){function e(t,e,r){var n=c.nestedProperty(o,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function r(t){return t[0]}var n,i,a=t[0],o=a.trace,s=d.hasMarkers(o),u=d.hasText(o),f=d.hasLines(o);if(s||u||f){var p={},g={};s&&(p.mc=e(\"marker.color\",r),p.mo=e(\"marker.opacity\",c.mean,[.2,1]),p.ms=e(\"marker.size\",c.mean,[2,16]),p.mlc=e(\"marker.line.color\",r),p.mlw=e(\"marker.line.width\",c.mean,[0,5]),g.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"}),f&&(g.line={width:e(\"line.width\",r,[0,10])}),u&&(p.tx=\"Aa\",p.tp=e(\"textposition\",r),p.ts=10,p.tc=e(\"textfont.color\",r),p.tf=e(\"textfont.family\",r)),n=[c.minExtend(a,p)],i=c.minExtend(o,g)}var m=l.select(this).select(\"g.legendpoints\"),v=m.selectAll(\"path.scatterpts\").data(s?n:[]);v.enter().append(\"path\").classed(\"scatterpts\",!0).attr(\"transform\",\"translate(20,0)\"),v.exit().remove(),v.call(h.pointStyle,i),s&&(n[0].mrc=3);var y=m.selectAll(\"g.pointtext\").data(u?n:[]);y.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",\"translate(20,0)\"),y.exit().remove(),y.selectAll(\"text\").call(h.textPointStyle,i)}function a(t){var e=t[0].trace,r=e.marker||{},n=r.line||{},i=l.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbar\").data(u.traceIs(e,\"bar\")?[t]:[]);i.enter().append(\"path\").classed(\"legendbar\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),i.exit().remove(),i.each(function(t){var e=(t.mlw+1||n.width+1)-1,i=l.select(this);i.style(\"stroke-width\",e+\"px\").call(f.fill,t.mc||r.color),e&&i.call(f.stroke,t.mlc||n.color)})}function o(t){var e=t[0].trace,r=l.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(u.traceIs(e,\"box\")&&e.visible?[t]:[]);r.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),r.exit().remove(),r.each(function(t){var r=(t.lw+1||e.line.width+1)-1,n=l.select(this);n.style(\"stroke-width\",r+\"px\").call(f.fill,t.fc||e.fillcolor),r&&n.call(f.stroke,t.lc||e.line.color)})}function s(t){var e=t[0].trace,r=l.select(this).select(\"g.legendpoints\").selectAll(\"path.legendpie\").data(u.traceIs(e,\"pie\")&&e.visible?[t]:[]);r.enter().append(\"path\").classed(\"legendpie\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),r.exit().remove(),r.size()&&r.call(p,t[0],e)}var l=t(\"d3\"),u=t(\"../../registry\"),c=t(\"../../lib\"),h=t(\"../drawing\"),f=t(\"../color\"),d=t(\"../../traces/scatter/subtypes\"),p=t(\"../../traces/pie/style_one\");e.exports=function(t){t.each(function(t){var e=l.select(this),r=e.selectAll(\"g.legendfill\").data([t]);r.enter().append(\"g\").classed(\"legendfill\",!0);var n=e.selectAll(\"g.legendlines\").data([t]);n.enter().append(\"g\").classed(\"legendlines\",!0);var i=e.selectAll(\"g.legendsymbols\").data([t]);i.enter().append(\"g\").classed(\"legendsymbols\",!0),i.style(\"opacity\",t[0].trace.opacity),i.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(a).each(o).each(s).each(n).each(i)}},{\"../../lib\":633,\"../../registry\":739,\"../../traces/pie/style_one\":840,\"../../traces/scatter/subtypes\":866,\"../color\":533,\"../drawing\":556,d3:95}],578:[function(t,e,r){\"use strict\";function n(t,e){var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout,o={};if(\"zoom\"===n){for(var s,l,c=\"in\"===i?.5:2,f=(1+c)/2,d=(1-c)/2,p=h.list(t,null,!0),g=0;g<p.length;g++)if(s=p[g],!s.fixedrange)if(l=s._name,\"auto\"===i)o[l+\".autorange\"]=!0;else if(\"reset\"===i)if(void 0===s._rangeInitial)o[l+\".autorange\"]=!0;else{var m=s._rangeInitial.slice();o[l+\".range[0]\"]=m[0],o[l+\".range[1]\"]=m[1]}else{var v=[s.r2l(s.range[0]),s.r2l(s.range[1])],y=[f*v[0]+d*v[1],f*v[1]+d*v[0]];o[l+\".range[0]\"]=s.l2r(y[0]),o[l+\".range[1]\"]=s.l2r(y[1])}}else\"hovermode\"!==n||\"x\"!==i&&\"y\"!==i||(i=a._isHoriz?\"y\":\"x\",r.setAttribute(\"data-val\",i)),o[n]=i;u.relayout(t,o)}function i(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout,o=c.getSubplotIds(a,\"gl3d\"),s={},l=n.split(\".\"),h=0;h<o.length;h++)s[o[h]+\".\"+l[1]]=i;u.relayout(t,s)}function a(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=t._fullLayout,a=c.getSubplotIds(i,\"gl3d\"),o=0;o<a.length;o++){var s=a[o],l=i[s],u=l._scene;\"resetDefault\"===n?u.setCameraToDefault():\"resetLastSave\"===n&&u.setCamera(l.camera)}}function o(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=c.getSubplotIds(a,\"gl3d\"),s=[\"xaxis\",\"yaxis\",\"zaxis\"],l=[\"showspikes\",\"spikesides\",\"spikethickness\",\"spikecolor\"],h={},d={},p={};if(n)p=f.extendDeep(i,n),r._previousVal=null;else{p={\"allaxes.showspikes\":!1};for(var g=0;g<o.length;g++){var m=o[g],v=a[m],y=h[m]={};y.hovermode=v.hovermode,p[m+\".hovermode\"]=!1;for(var x=0;x<3;x++){var b=s[x];d=y[b]={};for(var _=0;_<l.length;_++){var w=l[_];d[w]=v[b][w]}}}r._previousVal=f.extendDeep({},h)}u.relayout(t,p)}function s(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout,o=c.getSubplotIds(a,\"geo\"),s=0;s<o.length;s++){var l=a[o[s]]._subplot;if(\"zoom\"===n){var u=l.projection.scale(),h=\"in\"===i?2*u:.5*u;l.projection.scale(h),l.zoom.scale(h),l.render()}else\"reset\"===n&&l.zoomReset()}}function l(t){var e,r=t._fullLayout;e=r._has(\"cartesian\")?r._isHoriz?\"y\":\"x\":\"closest\";var n=!t._fullLayout.hovermode&&e;u.relayout(t,\"hovermode\",n)}var u=t(\"../../plotly\"),c=t(\"../../plots/plots\"),h=t(\"../../plots/cartesian/axes\"),f=t(\"../../lib\"),d=t(\"../../snapshot/download\"),p=t(\"../../../build/ploticon\"),g=e.exports={};g.toImage={name:\"toImage\",title:\"Download plot as a png\",icon:p.camera,click:function(t){var e=\"png\";f.notifier(\"Taking snapshot - this may take a few seconds\",\"long\"),f.isIE()&&(f.notifier(\"IE only supports svg.  Changing format to svg.\",\"long\"),e=\"svg\"),d(t,{format:e}).then(function(t){f.notifier(\"Snapshot succeeded - \"+t,\"long\")}).catch(function(){f.notifier(\"Sorry there was a problem downloading your snapshot!\",\"long\")})}},g.sendDataToCloud={name:\"sendDataToCloud\",title:\"Save and edit plot in cloud\",icon:p.disk,click:function(t){c.sendDataToCloud(t)}},g.zoom2d={name:\"zoom2d\",title:\"Zoom\",attr:\"dragmode\",val:\"zoom\",icon:p.zoombox,click:n},g.pan2d={name:\"pan2d\",title:\"Pan\",attr:\"dragmode\",val:\"pan\",icon:p.pan,click:n},g.select2d={name:\"select2d\",title:\"Box Select\",attr:\"dragmode\",val:\"select\",icon:p.selectbox,click:n},g.lasso2d={name:\"lasso2d\",title:\"Lasso Select\",attr:\"dragmode\",val:\"lasso\",icon:p.lasso,click:n},g.zoomIn2d={name:\"zoomIn2d\",title:\"Zoom in\",attr:\"zoom\",val:\"in\",icon:p.zoom_plus,click:n},g.zoomOut2d={name:\"zoomOut2d\",title:\"Zoom out\",attr:\"zoom\",val:\"out\",icon:p.zoom_minus,click:n},g.autoScale2d={name:\"autoScale2d\",title:\"Autoscale\",attr:\"zoom\",val:\"auto\",icon:p.autoscale,click:n},g.resetScale2d={name:\"resetScale2d\",title:\"Reset axes\",attr:\"zoom\",val:\"reset\",icon:p.home,click:n},g.hoverClosestCartesian={name:\"hoverClosestCartesian\",title:\"Show closest data on hover\",attr:\"hovermode\",val:\"closest\",icon:p.tooltip_basic,gravity:\"ne\",click:n},g.hoverCompareCartesian={name:\"hoverCompareCartesian\",title:\"Compare data on hover\",attr:\"hovermode\",val:function(t){return t._fullLayout._isHoriz?\"y\":\"x\"},icon:p.tooltip_compare,gravity:\"ne\",click:n},g.zoom3d={name:\"zoom3d\",title:\"Zoom\",attr:\"scene.dragmode\",val:\"zoom\",icon:p.zoombox,click:i},g.pan3d={name:\"pan3d\",title:\"Pan\",attr:\"scene.dragmode\",val:\"pan\",icon:p.pan,click:i},g.orbitRotation={name:\"orbitRotation\",title:\"orbital rotation\",attr:\"scene.dragmode\",val:\"orbit\",icon:p[\"3d_rotate\"],click:i},g.tableRotation={name:\"tableRotation\",title:\"turntable rotation\",attr:\"scene.dragmode\",val:\"turntable\",icon:p[\"z-axis\"],click:i},g.resetCameraDefault3d={name:\"resetCameraDefault3d\",title:\"Reset camera to default\",attr:\"resetDefault\",icon:p.home,click:a},g.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",title:\"Reset camera to last save\",attr:\"resetLastSave\",icon:p.movie,click:a},g.hoverClosest3d={name:\"hoverClosest3d\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:null,toggle:!0,icon:p.tooltip_basic,gravity:\"ne\",click:o},g.zoomInGeo={name:\"zoomInGeo\",title:\"Zoom in\",attr:\"zoom\",val:\"in\",icon:p.zoom_plus,click:s},g.zoomOutGeo={name:\"zoomOutGeo\",title:\"Zoom out\",attr:\"zoom\",val:\"out\",icon:p.zoom_minus,click:s},g.resetGeo={name:\"resetGeo\",title:\"Reset\",attr:\"reset\",val:null,icon:p.autoscale,click:s},g.hoverClosestGeo={name:\"hoverClosestGeo\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:null,toggle:!0,icon:p.tooltip_basic,gravity:\"ne\",click:l},g.hoverClosestGl2d={name:\"hoverClosestGl2d\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:null,toggle:!0,icon:p.tooltip_basic,gravity:\"ne\",click:l},g.hoverClosestPie={name:\"hoverClosestPie\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:\"closest\",icon:p.tooltip_basic,gravity:\"ne\",click:l},g.toggleHover={name:\"toggleHover\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:null,toggle:!0,icon:p.tooltip_basic,gravity:\"ne\",click:function(t,e){l(t),o(t,e)}},g.resetViews={name:\"resetViews\",title:\"Reset views\",icon:p.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),n(t,e),r.setAttribute(\"data-attr\",\"resetLastSave\"),a(t,e)}}},{\"../../../build/ploticon\":2,\"../../lib\":633,\"../../plotly\":659,\"../../plots/cartesian/axes\":664,\"../../plots/plots\":724,\"../../snapshot/download\":741}],579:[function(t,e,r){\"use strict\";r.manage=t(\"./manage\")},{\"./manage\":580}],580:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t){for(var r=[],n=0;n<t.length;n++){var i=t[n];e.indexOf(i)===-1&&r.push(h[i])}m.push(r)}var s=t._fullLayout,l=t._fullData,u=s._has(\"cartesian\"),c=s._has(\"gl3d\"),f=s._has(\"geo\"),d=s._has(\"pie\"),p=s._has(\"gl2d\"),g=s._has(\"ternary\"),m=[];if(n([\"toImage\",\"sendDataToCloud\"]),(u||p||d||g)+f+c>1)return n([\"resetViews\",\"toggleHover\"]),o(m,r);c&&(n([\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]),n([\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]),n([\"hoverClosest3d\"])),f&&(n([\"zoomInGeo\",\"zoomOutGeo\",\"resetGeo\"]),n([\"hoverClosestGeo\"]));var v=i(s),y=[];return((u||p)&&!v||g)&&(y=[\"zoom2d\",\"pan2d\"]),(u||g)&&a(l)&&(y.push(\"select2d\"),y.push(\"lasso2d\")),y.length&&n(y),!u&&!p||v||g||n([\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\",\"resetScale2d\"]),u&&d?n([\"toggleHover\"]):p?n([\"hoverClosestGl2d\"]):u?n([\"hoverClosestCartesian\",\"hoverCompareCartesian\"]):d&&n([\"hoverClosestPie\"]),o(m,r)}function i(t){for(var e=l.list({_fullLayout:t},null,!0),r=!0,n=0;n<e.length;n++)if(!e[n].fixedrange){r=!1;break}return r}function a(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(\"scatter\"===n.type||\"scatterternary\"===n.type?(u.hasMarkers(n)||u.hasText(n))&&(e=!0):e=!0)}return e}function o(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}function s(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\"string\"==typeof i){if(void 0===h[i])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));t[e][n]=h[i]}}return t}var l=t(\"../../plots/cartesian/axes\"),u=t(\"../../traces/scatter/subtypes\"),c=t(\"./modebar\"),h=t(\"./buttons\");e.exports=function(t){var e=t._fullLayout,r=t._context,i=e._modeBar;if(!r.displayModeBar)return void(i&&(i.destroy(),delete e._modeBar));if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var a,o=r.modeBarButtons;a=Array.isArray(o)&&o.length?s(o):n(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),i?i.update(t,a):e._modeBar=c(t,a)}},{\"../../plots/cartesian/axes\":664,\"../../traces/scatter/subtypes\":866,\"./buttons\":578,\"./modebar\":581}],581:[function(t,e,r){\"use strict\";function n(t){this.container=t.container,this.element=document.createElement(\"div\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}function i(t,e){var r=t._fullLayout,i=new n({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&a.select(i.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),i}var a=t(\"d3\"),o=t(\"../../lib\"),s=t(\"../../../build/ploticon\"),l=n.prototype;l.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\"hover\"===r.displayModeBar?this.element.className=\"modebar modebar--hover\":this.element.className=\"modebar\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},l.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(t){var r=e.createGroup();t.forEach(function(t){var n=t.name;if(!n)throw new Error(\"must provide button 'name' in button config\");if(e.buttonsNames.indexOf(n)!==-1)throw new Error(\"button name '\"+n+\"' is taken\");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},l.createGroup=function(){var t=document.createElement(\"div\");return t.className=\"modebar-group\",t},l.createButton=function(t){var e=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var n=t.title;void 0===n&&(n=t.name),(n||0===n)&&r.setAttribute(\"data-title\",n),void 0!==t.attr&&r.setAttribute(\"data-attr\",t.attr);var i=t.val;void 0!==i&&(\"function\"==typeof i&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i));var a=t.click;if(\"function\"!=typeof a)throw new Error(\"must provide button 'click' function in button config\");return r.addEventListener(\"click\",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(\"data-toggle\",t.toggle||!1),t.toggle&&r.classList.add(\"active\"),r.appendChild(this.createIcon(t.icon||s.question)),r.setAttribute(\"data-gravity\",t.gravity||\"n\"),r},l.createIcon=function(t){var e=t.ascent-t.descent,r=\"http://www.w3.org/2000/svg\",n=document.createElementNS(r,\"svg\"),i=document.createElementNS(r,\"path\");return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",t.width/e+\"em\"),n.setAttribute(\"viewBox\",[0,0,t.width,e].join(\" \")),i.setAttribute(\"d\",t.path),i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+t.ascent+\")\"),n.appendChild(i),n},l.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(t){var n=t.getAttribute(\"data-val\")||!0,i=t.getAttribute(\"data-attr\"),s=\"true\"===t.getAttribute(\"data-toggle\"),l=a.select(t);if(s)i===r&&l.classed(\"active\",!l.classed(\"active\"));else{var u=null===i?i:o.nestedProperty(e,i).get();l.classed(\"active\",u===n)}})},l.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},l.getLogo=function(){var t=this.createGroup(),e=document.createElement(\"a\");return e.href=\"https://plot.ly/\",e.target=\"_blank\",e.setAttribute(\"data-title\",\"Produced with Plotly\"),e.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",e.appendChild(this.createIcon(s.plotlylogo)),t.appendChild(e),t},l.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},l.destroy=function(){o.removeElement(this.container.querySelector(\".modebar\"))},e.exports=i},{\"../../../build/ploticon\":2,\"../../lib\":633,d3:95}],582:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"./button_attributes\");o=a(o,{_isLinkedToArray:\"button\"}),e.exports={visible:{valType:\"boolean\"},buttons:o,x:{valType:\"number\",min:-2,max:3},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\"},font:a({},n,{}),bgcolor:{valType:\"color\",dflt:i.lightLine},activecolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.defaultLine},borderwidth:{valType:\"number\",min:0,dflt:0}}},{\"../../lib/extend\":626,\"../../plots/font_attributes\":684,\"../color/attributes\":532,\"./button_attributes\":583}],583:[function(t,e,r){\"use strict\";e.exports={step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\"},count:{valType:\"number\",min:0,dflt:1},label:{valType:\"string\"}}},{}],584:[function(t,e,r){\"use strict\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],585:[function(t,e,r){\"use strict\";function n(t,e){function r(t,e){return a.coerce(n,i,l,t,e)}for(var n,i,o=t.buttons||[],s=e.buttons=[],u=0;u<o.length;u++)if(n=o[u],i={},a.isPlainObject(n)){var c=r(\"step\");\"all\"!==c&&(r(\"stepmode\"),r(\"count\")),r(\"label\"),i._index=u,s.push(i)}return s}function i(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+u.yPad]}var a=t(\"../../lib\"),o=t(\"../color\"),s=t(\"./attributes\"),l=t(\"./button_attributes\"),u=t(\"./constants\");e.exports=function(t,e,r,l){function c(t,e){return a.coerce(h,f,s,t,e)}var h=t.rangeselector||{},f=e.rangeselector={},d=n(h,f),p=c(\"visible\",d.length>0);if(p){var g=i(e,r,l);c(\"x\",g[0]),c(\"y\",g[1]),a.noneOrAll(t,e,[\"x\",\"y\"]),c(\"xanchor\"),c(\"yanchor\"),a.coerceFont(c,\"font\",r.font);var m=c(\"bgcolor\");c(\"activecolor\",o.contrast(m,u.lightAmount,u.darkAmount)),c(\"bordercolor\"),c(\"borderwidth\")}}},{\"../../lib\":633,\"../color\":533,\"./attributes\":582,\"./button_attributes\":583,\"./constants\":584}],586:[function(t,e,r){\"use strict\";function n(t){for(var e=v.list(t,\"x\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function i(t){return t._id}function a(t,e,r){if(\"all\"===e.step)return t.autorange===!0;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}function o(t,e,r){var n=t.selectAll(\"rect\").data([0]);n.enter().append(\"rect\").classed(\"selector-rect\",!0),n.attr(\"shape-rendering\",\"crispEdges\"),n.attr({rx:x.rx,ry:x.ry}),n.call(p.stroke,e.bordercolor).call(p.fill,s(e,r)).style(\"stroke-width\",e.borderwidth+\"px\")}function s(t,e){return e.isActive||e.isHovered?t.activecolor:t.bgcolor}function l(t,e,r){function n(t){m.convertToTspans(t)}var i=t.selectAll(\"text\").data([0]);i.enter().append(\"text\").classed(\"selector-text\",!0).classed(\"user-select-none\",!0),i.attr(\"text-anchor\",\"middle\"),i.call(g.font,e.font).text(u(r)).call(n)}function u(t){return t.label?t.label:\"all\"===t.step?\"all\":t.count+t.step.charAt(0)}function c(t,e,r,n){r.width=0,r.height=0;var i=r.borderwidth;e.each(function(){var t=h.select(this),e=t.select(\".selector-text\"),n=e.selectAll(\"tspan\"),i=1.3*r.font.size,a=n[0].length||1,o=Math.max(i*a,16)+3;r.height=Math.max(r.height,o)}),e.each(function(){var t=h.select(this),e=t.select(\".selector-rect\"),n=t.select(\".selector-text\"),a=n.selectAll(\"tspan\"),o=n.node()&&g.bBox(n.node()).width,s=1.3*r.font.size,l=a[0].length||1,u=Math.max(o+10,x.minButtonWidth);t.attr(\"transform\",\"translate(\"+(i+r.width)+\",\"+i+\")\"),e.attr({x:0,y:0,width:u,height:r.height});var c={x:u/2,y:r.height/2-(l-1)*s/2+3};n.attr(c),a.attr(c),r.width+=u+5}),e.selectAll(\"rect\").attr(\"height\",r.height);var a=t._fullLayout._size;r.lx=a.l+a.w*r.x,r.ly=a.t+a.h*(1-r.y);var o=\"left\";y.isRightAnchor(r)&&(r.lx-=r.width,o=\"right\"),y.isCenterAnchor(r)&&(r.lx-=r.width/2,o=\"center\");var s=\"top\";y.isBottomAnchor(r)&&(r.ly-=r.height,s=\"bottom\"),y.isMiddleAnchor(r)&&(r.ly-=r.height/2,s=\"middle\"),r.width=Math.ceil(r.width),r.height=Math.ceil(r.height),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),d.autoMargin(t,n+\"-range-selector\",{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[o]||0),r:r.width*({left:1,center:.5}[o]||0),b:r.height*({top:1,middle:.5}[s]||0),t:r.height*({bottom:1,middle:.5}[s]||0)})}var h=t(\"d3\"),f=t(\"../../plotly\"),d=t(\"../../plots/plots\"),p=t(\"../color\"),g=t(\"../drawing\"),m=t(\"../../lib/svg_text_utils\"),v=t(\"../../plots/cartesian/axis_ids\"),y=t(\"../legend/anchor_utils\"),x=t(\"./constants\"),b=t(\"./get_update_object\");e.exports=function(t){var e=t._fullLayout,r=e._infolayer.selectAll(\".rangeselector\").data(n(t),i);r.enter().append(\"g\").classed(\"rangeselector\",!0),r.exit().remove(),r.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),r.each(function(e){var r=h.select(this),n=e,i=n.rangeselector,s=r.selectAll(\"g.button\").data(i.buttons);s.enter().append(\"g\").classed(\"button\",!0),s.exit().remove(),s.each(function(e){var r=h.select(this),s=b(n,e);e.isActive=a(n,e,s),r.call(o,i,e),r.call(l,i,e),r.on(\"click\",function(){t._dragged||f.relayout(t,s)}),r.on(\"mouseover\",function(){e.isHovered=!0,r.call(o,i,e)}),r.on(\"mouseout\",function(){e.isHovered=!1,r.call(o,i,e)})}),c(t,s,i,n._name),r.attr(\"transform\",\"translate(\"+i.lx+\",\"+i.ly+\")\")})}},{\"../../lib/svg_text_utils\":647,\"../../plotly\":659,\"../../plots/cartesian/axis_ids\":667,\"../../plots/plots\":724,\"../color\":533,\"../drawing\":556,\"../legend/anchor_utils\":569,\"./constants\":584,\"./get_update_object\":587,d3:95}],587:[function(t,e,r){\"use strict\";function n(t,e){var r,n=t.range,o=new Date(a.dateTime2ms(n[1])),s=e.step,l=e.count;switch(e.stepmode){case\"backward\":r=a.ms2DateTime(+i.time[s].offset(o,-l));break;case\"todate\":var u=i.time[s].offset(o,-l);r=a.ms2DateTime(+i.time[s].ceil(u))}var c=n[1];return[r,c]}var i=t(\"d3\"),a=t(\"../../lib\");e.exports=function(t,e){var r=t._name,i={};if(\"all\"===e.step)i[r+\".autorange\"]=!0;else{var a=n(t,e);i[r+\".range[0]\"]=a[0],i[r+\".range[1]\"]=a[1]}return i}},{\"../../lib\":633,d3:95}],588:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeselector\",layoutNodes:[\"xaxis.\"],layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":582,\"./defaults\":585,\"./draw\":586}],589:[function(t,e,r){\"use strict\";var n=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",dflt:n.background},bordercolor:{valType:\"color\",dflt:n.defaultLine},borderwidth:{valType:\"integer\",dflt:0,min:0},range:{valType:\"info_array\",items:[{valType:\"any\"},{valType:\"any\"}]},thickness:{valType:\"number\",dflt:.15,min:0,max:1},visible:{valType:\"boolean\",dflt:!0}}},{\"../color/attributes\":532}],590:[function(t,e,r){\"use strict\";e.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskColor:\"rgba(0,0,0,0.4)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,grabAreaMinOffset:-6,grabAreaMaxOffset:-2,handleWidth:2,handleRadius:1,handleFill:\"#fff\",handleStroke:\"#666\"}},{}],591:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r,a){function o(t,e){return n.coerce(s,u,i,t,e)}if(t[r].rangeslider){n.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var s=t[r].rangeslider,l=e[r],u=l.rangeslider={};if(o(\"bgcolor\",e.plot_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"),o(\"thickness\"),o(\"visible\"),o(\"range\"),u.range&&!l.autorange){var c=u.range,h=l.range,f=l.l2r,d=l.r2l;c[0]=f(Math.min(d(c[0]),d(h[0]))),c[1]=f(Math.max(d(c[1]),d(h[1])))}else l._needsExpand=!0;u.visible&&a.forEach(function(t){var r=e[t]||{};r.fixedrange=!0,e[t]=r}),u._input=s}}},{\"../../lib\":633,\"./attributes\":589}],592:[function(t,e,r){\"use strict\";function n(t){return t.xaxis&&t.xaxis[k.name]&&t.xaxis[k.name].visible?t._has(\"gl2d\")?[]:[t.xaxis]:[]}function i(t,e,r,n){var i=t.select(\"rect.\"+k.slideBoxClassName).node(),o=t.select(\"rect.\"+k.grabAreaMinClassName).node(),s=t.select(\"rect.\"+k.grabAreaMaxClassName).node();t.on(\"mousedown\",function(){function l(l){var u,c,y,x=+l.clientX-f;switch(h){case i:y=\"ew-resize\",u=p+x,\nc=m+x;break;case o:y=\"col-resize\",u=p+x,c=m;break;case s:y=\"col-resize\",u=p,c=m+x;break;default:y=\"ew-resize\",u=d,c=d+x}if(c<u){var b=c;c=u,u=b}n._pixelMin=u,n._pixelMax=c,A(g.select(v),y),a(t,e,r,n)}function u(){v.removeEventListener(\"mousemove\",l),v.removeEventListener(\"mouseup\",u),y.removeElement(v)}var c=g.event,h=c.target,f=c.clientX,d=f-t.node().getBoundingClientRect().left,p=n.d2p(r._rl[0]),m=n.d2p(r._rl[1]),v=M.coverSlip();v.addEventListener(\"mousemove\",l),v.addEventListener(\"mouseup\",u)})}function a(t,e,r,n){function i(t){return r.l2r(y.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){m.relayout(e,\"xaxis.range\",[a,o])})}function o(t,e,r,n){function i(t){return y.constrain(t,0,n._width)}var a=i(n.d2p(r._rl[0])),o=i(n.d2p(r._rl[1]));t.select(\"rect.\"+k.slideBoxClassName).attr(\"x\",a).attr(\"width\",o-a),t.select(\"rect.\"+k.maskMinClassName).attr(\"width\",a),t.select(\"rect.\"+k.maskMaxClassName).attr(\"x\",o).attr(\"width\",n._width-o),t.select(\"g.\"+k.grabberMinClassName).attr(\"transform\",\"translate(\"+(a-k.handleWidth-1)+\",0)\"),t.select(\"g.\"+k.grabberMaxClassName).attr(\"transform\",\"translate(\"+o+\",0)\")}function s(t,e,r,n){var i=t.selectAll(\"rect.\"+k.bgClassName).data([0]);i.enter().append(\"rect\").classed(k.bgClassName,!0).attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"});var a=n.borderwidth%2===0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift;i.attr({width:n._width+a,height:n._height+a,transform:\"translate(\"+o+\",\"+o+\")\",fill:n.bgcolor,stroke:n.bordercolor,\"stroke-width\":n.borderwidth})}function l(t,e,r,n){var i=e._fullLayout,a=i._topdefs.selectAll(\"#\"+n._clipId).data([0]);a.enter().append(\"clipPath\").attr(\"id\",n._clipId).append(\"rect\").attr({x:0,y:0}),a.select(\"rect\").attr({width:n._width,height:n._height})}function u(t,e,r,n){var i=w.getSubplots(e,r),a=e.calcdata,o=t.selectAll(\"g.\"+k.rangePlotClassName).data(i,y.identity);o.enter().append(\"g\").attr(\"class\",function(t){return k.rangePlotClassName+\" \"+t}).call(x.setClipUrl,n._clipId),o.order(),o.exit().remove();var s;o.each(function(t,i){var o=g.select(this),l=0===i,u=w.getFromId(e,t,\"y\"),h=u._name,f={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice()},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}}};f.layout[h]={domain:[0,1],range:u.range.slice()},v.supplyDefaults(f);var d=f._fullLayout.xaxis,p=f._fullLayout[h],m={id:t,plotgroup:o,xaxis:d,yaxis:p};l?s=m:(m.mainplot=\"xy\",m.mainplotinfo=s),_.rangePlot(e,m,c(a,t)),l&&m.bg.call(b.fill,n.bgcolor)})}function c(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}function h(t,e,r,n){var i=t.selectAll(\"rect.\"+k.maskMinClassName).data([0]);i.enter().append(\"rect\").classed(k.maskMinClassName,!0).attr({x:0,y:0}),i.attr({height:n._height,fill:k.maskColor});var a=t.selectAll(\"rect.\"+k.maskMaxClassName).data([0]);a.enter().append(\"rect\").classed(k.maskMaxClassName,!0).attr(\"y\",0),a.attr({height:n._height,fill:k.maskColor})}function f(t,e,r,n){var i=t.selectAll(\"rect.\"+k.slideBoxClassName).data([0]);i.enter().append(\"rect\").classed(k.slideBoxClassName,!0).attr(\"y\",0).attr(\"cursor\",k.slideBoxCursor),i.attr({height:n._height,fill:k.slideBoxFill})}function d(t,e,r,n){var i=t.selectAll(\"g.\"+k.grabberMinClassName).data([0]);i.enter().append(\"g\").classed(k.grabberMinClassName,!0);var a=t.selectAll(\"g.\"+k.grabberMaxClassName).data([0]);a.enter().append(\"g\").classed(k.grabberMaxClassName,!0);var o={x:0,width:k.handleWidth,rx:k.handleRadius,fill:k.handleFill,stroke:k.handleStroke,\"shape-rendering\":\"crispEdges\"},s={y:n._height/4,height:n._height/2},l=i.selectAll(\"rect.\"+k.handleMinClassName).data([0]);l.enter().append(\"rect\").classed(k.handleMinClassName,!0).attr(o),l.attr(s);var u=a.selectAll(\"rect.\"+k.handleMaxClassName).data([0]);u.enter().append(\"rect\").classed(k.handleMaxClassName,!0).attr(o),u.attr(s);var c={width:k.grabAreaWidth,y:0,fill:k.grabAreaFill,cursor:k.grabAreaCursor},h=i.selectAll(\"rect.\"+k.grabAreaMinClassName).data([0]);h.enter().append(\"rect\").classed(k.grabAreaMinClassName,!0).attr(c),h.attr({x:k.grabAreaMinOffset,height:n._height});var f=a.selectAll(\"rect.\"+k.grabAreaMaxClassName).data([0]);f.enter().append(\"rect\").classed(k.grabAreaMaxClassName,!0).attr(c),f.attr({x:k.grabAreaMaxOffset,height:n._height})}function p(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];i.indexOf(k.name)!==-1&&v.autoMargin(t,i)}}var g=t(\"d3\"),m=t(\"../../plotly\"),v=t(\"../../plots/plots\"),y=t(\"../../lib\"),x=t(\"../drawing\"),b=t(\"../color\"),_=t(\"../../plots/cartesian\"),w=t(\"../../plots/cartesian/axes\"),M=t(\"../dragelement\"),A=t(\"../../lib/setcursor\"),k=t(\"./constants\");e.exports=function(t){function e(t){return t._name}var r=t._fullLayout,a=n(r),c=r._infolayer.selectAll(\"g.\"+k.containerClassName).data(a,e);c.enter().append(\"g\").classed(k.containerClassName,!0).attr(\"pointer-events\",\"all\"),c.exit().each(function(t){var e=g.select(this),n=t[k.name];e.remove(),r._topdefs.select(\"#\"+n._clipId).remove()}),c.exit().size()&&p(t),0!==a.length&&c.each(function(e){var n=g.select(this),a=e[k.name];a.range||(a._input.range=a.range=w.getAutoRange(e));var c=r.margin,p=r._size,m=e.domain;a._id=k.name+e._id,a._clipId=a._id+\"-\"+r._uid,a._width=p.w*(m[1]-m[0]),a._height=(r.height-c.b-c.t)*a.thickness,a._offsetShift=Math.floor(a.borderwidth/2);var y=c.l+p.w*m[0],x=r.height-a._height-c.b;n.attr(\"transform\",\"translate(\"+y+\",\"+x+\")\");var b=e.r2l(a.range[0]),_=e.r2l(a.range[1]),M=_-b;a.p2d=function(t){return t/a._width*M+b},a.d2p=function(t){return(t-b)/M*a._width},a._rl=[b,_],n.call(s,t,e,a).call(l,t,e,a).call(u,t,e,a).call(h,t,e,a).call(f,t,e,a).call(d,t,e,a),i(n,t,e,a),o(n,t,e,a);var A=e._boundingBox?e._boundingBox.height:0;v.autoMargin(t,a._id,{x:0,y:0,l:0,r:0,t:0,b:a._height+r.margin.b+A,pad:15+2*a._offsetShift})})}},{\"../../lib\":633,\"../../lib/setcursor\":643,\"../../plotly\":659,\"../../plots/cartesian\":672,\"../../plots/cartesian/axes\":664,\"../../plots/plots\":724,\"../color\":533,\"../dragelement\":554,\"../drawing\":556,\"./constants\":590,d3:95}],593:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeslider\",layoutNodes:[\"xaxis.\"],layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":589,\"./defaults\":591,\"./draw\":592}],594:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../traces/scatter/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=i.line;e.exports={_isLinkedToArray:\"shape\",visible:{valType:\"boolean\",dflt:!0},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"]},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\"},xref:a({},n.xref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},yref:a({},n.yref,{}),y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},line:{color:o.color,width:o.width,dash:o.dash},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"}}},{\"../../lib/extend\":626,\"../../traces/scatter/attributes\":846,\"../annotations/attributes\":526}],595:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=\"category\"===t.type?Number:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var l,u,c,h,f,d=1/0,p=-(1/0),g=n.match(o.segmentRE);for(\"date\"===t.type&&(a=s.decodeDate(a)),l=0;l<g.length;l++)u=g[l],c=i[u.charAt(0)].drawn,void 0!==c&&(h=g[l].substr(1).match(o.paramRE),!h||h.length<c||(f=a(h[c]),f<d&&(d=f),f>p&&(p=f)));return p>=d?[d,p]:void 0}}var i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./constants\"),s=t(\"./helpers\");e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var s=0;s<r.length;s++){var l,u,c=r[s],h=c.line.width/2;\"paper\"!==c.xref&&(l=a.getFromId(t,c.xref),u=n(l,c.x0,c.x1,c.path,o.paramIsX),u&&a.expand(l,u,{ppad:h})),\"paper\"!==c.yref&&(l=a.getFromId(t,c.yref),u=n(l,c.y0,c.y1,c.path,o.paramIsY),u&&a.expand(l,u,{ppad:h}))}}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"./constants\":596,\"./helpers\":599}],596:[function(t,e,r){\"use strict\";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],597:[function(t,e,r){\"use strict\";var n=t(\"../../plots/array_container_defaults\"),i=t(\"./shape_defaults\");e.exports=function(t,e){var r={name:\"shapes\",handleItemDefaults:i};n(t,e,r)}},{\"../../plots/array_container_defaults\":661,\"./shape_defaults\":601}],598:[function(t,e,r){\"use strict\";function n(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(\"path\").remove(),e._shapeLowerLayer.selectAll(\"path\").remove(),e._shapeSubplotLayer.selectAll(\"path\").remove();for(var r=0;r<e.shapes.length;r++)e.shapes[r].visible&&i(t,r)}function i(t,e,r,n){if(!v(e)||e===-1){if(!e&&Array.isArray(n))return void a(t,n);if(\"remove\"===n)return void o(t);if(r&&\"add\"!==n)return void s(t,r,n);e=t._fullLayout.shapes.length,t._fullLayout.shapes.push({})}if(!r&&n){if(\"remove\"===n)return void l(t,e);(\"add\"===n||x.isPlainObject(n))&&u(t,e,n)}c(t,e,r,n)}function a(t,e){t.layout.shapes=e,S(t.layout,t._fullLayout),n(t)}function o(t){delete t.layout.shapes,t._fullLayout.shapes=[],n(t)}function s(t,e,r){for(var n=0;n<t._fullLayout.shapes.length;n++)i(t,n,e,r)}function l(t,e){f(t,e).selectAll('[data-index=\"'+e+'\"]').remove(),t._fullLayout.shapes.splice(e,1),t.layout.shapes.splice(e,1);for(var r=e;r<t._fullLayout.shapes.length;r++)f(t,r).selectAll('[data-index=\"'+(r+1)+'\"]').attr(\"data-index\",r),i(t,r)}function u(t,e,r){t._fullLayout.shapes.splice(e,0,{});var n=x.isPlainObject(r)?x.extendFlat({},r):{text:\"New text\"};t.layout.shapes?t.layout.shapes.splice(e,0,n):t.layout.shapes=[n];for(var a=t._fullLayout.shapes.length-1;a>e;a--)f(t,a).selectAll('[data-index=\"'+(a-1)+'\"]').attr(\"data-index\",a),i(t,a)}function c(t,e,r,n){function i(r){var n={\"data-index\":e,\"fill-rule\":\"evenodd\",d:p(t,L)},i=L.line.width?L.line.color:\"rgba(0,0,0,0)\",a=r.append(\"path\").attr(n).style(\"opacity\",L.opacity).call(_.stroke,i).call(_.fill,L.fillcolor).call(w.dashLine,L.line.dash,L.line.width);z&&a.call(w.setClipUrl,\"clip\"+t._fullLayout._uid+z),t._context.editable&&h(t,a,L,e)}var a,o;f(t,e).selectAll('[data-index=\"'+e+'\"]').remove();var s=t.layout.shapes[e];if(s){var l={};\"string\"==typeof r&&r?l[r]=n:x.isPlainObject(r)&&(l=r);var u=Object.keys(l);for(a=0;a<u.length;a++){var c=u[a];x.nestedProperty(s,c).set(l[c])}if(s.visible!==!1){var g={xref:s.xref,yref:s.yref},m=[\"x0\",\"x1\",\"y0\",\"y1\"];for(a=0;a<4;a++){var v=m[a];if(void 0===l[v]&&void 0!==s[v]){var y,M=v.charAt(0),A=b.getFromId(t,b.coerceRef(g,{},t,M,\"\",\"paper\")),k=b.getFromId(t,b.coerceRef(s,{},t,M,\"\",\"paper\")),S=s[v];void 0!==l[M+\"ref\"]&&(A?(y=T.shapePositionToRange(A)(S),S=A.r2fraction(y)):S=(S-k.domain[0])/(k.domain[1]-k.domain[0]),k?(y=k.fraction2r(S),S=T.rangeToShapePosition(k)(y)):S=A.domain[0]+S*(A.domain[1]-A.domain[0])),s[v]=S}}var L={};E(s,L,t._fullLayout),t._fullLayout.shapes[e]=L;var z;if(\"below\"!==L.layer)z=(L.xref+L.yref).replace(/paper/g,\"\"),i(t._fullLayout._shapeUpperLayer);else if(\"paper\"===L.xref&&\"paper\"===L.yref)z=\"\",i(t._fullLayout._shapeLowerLayer);else{var C,I=t._fullLayout._plots||{},P=Object.keys(I);for(a=0,o=P.length;a<o;a++)C=I[P[a]],z=P[a],d(t,L,C)&&i(C.shapelayer)}}}}function h(t,e,r,n){function i(t){var r=Z.right-Z.left,n=Z.bottom-Z.top,i=t.clientX-Z.left,a=t.clientY-Z.top,o=r>X&&n>Y&&!t.shiftKey?M.getCursor(i/r,1-a/n):\"move\";A(e,o),G=o.split(\"-\")[0]}function a(e){N=b.getFromId(t,r.xref),B=b.getFromId(t,r.yref),U=T.getDataToPixel(t,N),V=T.getDataToPixel(t,B,!0),q=T.getPixelToData(t,N),H=T.getPixelToData(t,B,!0);var a=\"shapes[\"+n+\"]\";\"path\"===r.type?(F=r.path,j=a+\".path\"):(c=U(r.x0),h=V(r.y0),f=U(r.x1),d=V(r.y1),g=a+\".x0\",v=a+\".y0\",x=a+\".x1\",_=a+\".y1\"),c<f?(E=c,C=a+\".x0\",O=\"x0\",S=f,I=a+\".x1\",R=\"x1\"):(E=f,C=a+\".x1\",O=\"x1\",S=c,I=a+\".x0\",R=\"x0\"),h<d?(w=h,L=a+\".y0\",P=\"y0\",k=d,z=a+\".y1\",D=\"y1\"):(w=d,L=a+\".y1\",P=\"y1\",k=h,z=a+\".y0\",D=\"y0\"),u={},i(e),W.moveFn=\"move\"===G?s:l}function o(r){A(e),r&&y.relayout(t,u)}function s(n,i){if(\"path\"===r.type){var a=function(t){return q(U(t)+n)};N&&\"date\"===N.type&&(a=T.encodeDate(a));var o=function(t){return H(V(t)+i)};B&&\"date\"===B.type&&(o=T.encodeDate(o)),r.path=m(F,a,o),u[j]=r.path}else u[g]=r.x0=q(c+n),u[v]=r.y0=H(h+i),u[x]=r.x1=q(f+n),u[_]=r.y1=H(d+i);e.attr(\"d\",p(t,r))}function l(n,i){if(\"path\"===r.type){var a=function(t){return q(U(t)+n)};N&&\"date\"===N.type&&(a=T.encodeDate(a));var o=function(t){return H(V(t)+i)};B&&\"date\"===B.type&&(o=T.encodeDate(o)),r.path=m(F,a,o),u[j]=r.path}else{var s=~G.indexOf(\"n\")?w+i:w,l=~G.indexOf(\"s\")?k+i:k,c=~G.indexOf(\"w\")?E+n:E,h=~G.indexOf(\"e\")?S+n:S;l-s>Y&&(u[L]=r[P]=H(s),u[z]=r[D]=H(l)),h-c>X&&(u[C]=r[O]=q(c),u[I]=r[R]=q(h))}e.attr(\"d\",p(t,r))}var u,c,h,f,d,g,v,x,_,w,k,E,S,L,z,C,I,P,D,O,R,F,j,N,B,U,V,q,H,G,X=10,Y=10,W={setCursor:i,element:e.node(),prepFn:a,doneFn:o},Z=W.element.getBoundingClientRect();M.init(W)}function f(t,e){var r=t._fullLayout.shapes[e],n=t._fullLayout._shapeUpperLayer;return r?\"below\"===r.layer&&(n=\"paper\"===r.xref&&\"paper\"===r.yref?t._fullLayout._shapeLowerLayer:t._fullLayout._shapeSubplotLayer):x.log(\"getShapeLayer: undefined shape: index\",e),n}function d(t,e,r){var n=b.getFromId(t,r.id,\"x\")._id,i=b.getFromId(t,r.id,\"y\")._id,a=\"below\"===e.layer,o=n===e.xref||i===e.yref,s=!!r.shapelayer;return a&&o&&s}function p(t,e){var r,n,i,a,o=e.type,s=b.getFromId(t,e.xref),l=b.getFromId(t,e.yref),u=t._fullLayout._size;if(s?(r=T.shapePositionToRange(s),n=function(t){return s._offset+s.r2p(r(t,!0))}):n=function(t){return u.l+u.w*t},l?(i=T.shapePositionToRange(l),a=function(t){return l._offset+l.r2p(i(t,!0))}):a=function(t){return u.t+u.h*(1-t)},\"path\"===o)return s&&\"date\"===s.type&&(n=T.decodeDate(n)),l&&\"date\"===l.type&&(a=T.decodeDate(a)),g(e.path,n,a);var c=n(e.x0),h=n(e.x1),f=a(e.y0),d=a(e.y1);if(\"line\"===o)return\"M\"+c+\",\"+f+\"L\"+h+\",\"+d;if(\"rect\"===o)return\"M\"+c+\",\"+f+\"H\"+h+\"V\"+d+\"H\"+c+\"Z\";var p=(c+h)/2,m=(f+d)/2,v=Math.abs(p-c),y=Math.abs(m-f),x=\"A\"+v+\",\"+y,_=p+v+\",\"+m,w=p+\",\"+(m-y);return\"M\"+_+x+\" 0 1,1 \"+w+x+\" 0 0,1 \"+_+\"Z\"}function g(t,e,r){return t.replace(k.segmentRE,function(t){var n=0,i=t.charAt(0),a=k.paramIsX[i],o=k.paramIsY[i],s=k.numParams[i],l=t.substr(1).replace(k.paramRE,function(t){return a[n]?t=e(t):o[n]&&(t=r(t)),n++,n>s&&(t=\"X\"),t});return n>s&&(l=l.replace(/[\\s,]*X.*/,\"\"),x.log(\"Ignoring extra params in segment \"+t)),i+l})}function m(t,e,r){return t.replace(k.segmentRE,function(t){var n=0,i=t.charAt(0),a=k.paramIsX[i],o=k.paramIsY[i],s=k.numParams[i],l=t.substr(1).replace(k.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)});return i+l})}var v=t(\"fast-isnumeric\"),y=t(\"../../plotly\"),x=t(\"../../lib\"),b=t(\"../../plots/cartesian/axes\"),_=t(\"../color\"),w=t(\"../drawing\"),M=t(\"../dragelement\"),A=t(\"../../lib/setcursor\"),k=t(\"./constants\"),T=t(\"./helpers\"),E=t(\"./shape_defaults\"),S=t(\"./defaults\");e.exports={draw:n,drawOne:i}},{\"../../lib\":633,\"../../lib/setcursor\":643,\"../../plotly\":659,\"../../plots/cartesian/axes\":664,\"../color\":533,\"../dragelement\":554,\"../drawing\":556,\"./constants\":596,\"./defaults\":597,\"./helpers\":599,\"./shape_defaults\":601,\"fast-isnumeric\":104}],599:[function(t,e,r){\"use strict\";r.rangeToShapePosition=function(t){return\"log\"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return\"log\"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace(\"_\",\" \")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(\" \",\"_\")}},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},\"date\"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],600:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne}},{\"./attributes\":594,\"./calc_autorange\":595,\"./defaults\":597,\"./draw\":598}],601:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./attributes\"),o=t(\"./helpers\");e.exports=function(t,e,r,s,l){function u(r,i){return n.coerce(t,e,a,r,i)}s=s||{},l=l||{};var c=u(\"visible\",!l.itemIsNotPlainObject);if(!c)return e;u(\"layer\"),u(\"opacity\"),u(\"fillcolor\"),u(\"line.color\"),u(\"line.width\"),u(\"line.dash\");for(var h=t.path?\"path\":\"rect\",f=u(\"type\",h),d=[\"x\",\"y\"],p=0;p<2;p++){var g=d[p],m={_fullLayout:r},v=i.coerceRef(t,e,m,g,\"\",\"paper\");if(\"path\"!==f){var y,x,b,_=.25,w=.75;\"paper\"!==v?(y=i.getFromId(m,v),b=o.rangeToShapePosition(y),x=o.shapePositionToRange(y)):x=b=n.identity;var M=g+\"0\",A=g+\"1\",k=t[M],T=t[A];t[M]=x(t[M],!0),t[A]=x(t[A],!0),i.coercePosition(e,m,u,v,M,_),i.coercePosition(e,m,u,v,A,w),e[M]=b(e[M]),e[A]=b(e[A]),t[M]=k,t[A]=T}}return\"path\"===f?u(\"path\"):n.noneOrAll(t,e,[\"x0\",\"x1\",\"y0\",\"y1\"]),e}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"./attributes\":594,\"./helpers\":599}],602:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/pad_attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../lib/extend\").extendDeep,s=t(\"../../plots/animation_attributes\"),l=t(\"./constants\"),u={_isLinkedToArray:\"step\",method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"}};e.exports={_isLinkedToArray:\"slider\",visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:u,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:o({},i,{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:a({},n,{})},font:a({},n,{}),activebgcolor:{valType:\"color\",dflt:l.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:l.railBgColor},bordercolor:{valType:\"color\",dflt:l.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:l.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:l.tickLength},tickcolor:{valType:\"color\",dflt:l.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:l.minorTickLength}}},{\"../../lib/extend\":626,\"../../plots/animation_attributes\":660,\"../../plots/font_attributes\":684,\"../../plots/pad_attributes\":723,\"./constants\":603}],603:[function(t,e,r){\"use strict\";e.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,fontSizeToHeight:1.3,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],604:[function(t,e,r){\"use strict\";function n(t,e,r){function n(r,n){return a.coerce(t,e,s,r,n)}var o=i(t,e),l=n(\"visible\",o.length>0);if(l){n(\"active\"),n(\"x\"),n(\"y\"),a.noneOrAll(t,e,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"len\"),n(\"lenmode\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),a.coerceFont(n,\"font\",r.font);var u=n(\"currentvalue.visible\");u&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),a.coerceFont(n,\"currentvalue.font\",e.font)),n(\"transition.duration\"),n(\"transition.easing\"),n(\"bgcolor\"),n(\"activebgcolor\"),n(\"bordercolor\"),n(\"borderwidth\"),n(\"ticklen\"),n(\"tickwidth\"),n(\"tickcolor\"),n(\"minorticklen\")}}function i(t,e){function r(t,e){return a.coerce(n,i,c,t,e)}for(var n,i,o=t.steps||[],s=e.steps=[],l=0;l<o.length;l++)n=o[l],i={},a.isPlainObject(n)&&Array.isArray(n.args)&&(r(\"method\"),r(\"args\"),r(\"label\",\"step-\"+l),r(\"value\",i.label),s.push(i));return s}var a=t(\"../../lib\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=t(\"./constants\"),u=l.name,c=s.steps;e.exports=function(t,e){var r={name:u,handleItemDefaults:n};o(t,e,r)}},{\"../../lib\":633,\"../../plots/array_container_defaults\":661,\"./attributes\":602,\"./constants\":603}],605:[function(t,e,r){\"use strict\";function n(t){for(var e=t[L.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&i.steps.length&&r.push(i)}return r}function i(t){return t._index}function a(t,e){var r=t._tester.selectAll(\"g.\"+L.labelGroupClass).data(e.steps);r.enter().append(\"g\").classed(L.labelGroupClass,!0);var n=0,i=0;if(r.each(function(t){var r=w.select(this),a=u(r,{step:t},e),o=a.node()&&T.bBox(a.node()).width||0;i=a.node()&&T.bBox(a.node()).height||0,n=Math.max(n,o)}),r.remove(),e.inputAreaWidth=Math.max(L.railWidth,L.gripHeight),e.currentValueMaxWidth=0,e.currentValueHeight=0,e.currentValueTotalHeight=0,e.currentvalue.visible){var a=t._tester.append(\"g\");r.each(function(t){var r=s(a,e,t.label),n=r.node()&&T.bBox(r.node())||{width:0,height:0};e.currentValueMaxWidth=Math.max(e.currentValueMaxWidth,Math.ceil(n.width)),e.currentValueHeight=Math.max(e.currentValueHeight,Math.ceil(n.height))}),e.currentValueTotalHeight=e.currentValueHeight+e.currentvalue.offset,a.remove()}var o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y),\"fraction\"===e.lenmode?e.outerLength=Math.round(o.w*e.len):e.outerLength=e.len,e.lenPad=Math.round(.5*L.gripWidth),e.inputAreaStart=0,e.inputAreaLength=Math.round(e.outerLength-e.pad.l-e.pad.r);var l=e.inputAreaLength-2*L.stepInset,c=l/(e.steps.length-1),h=n+L.labelPadding;e.labelStride=Math.max(1,Math.ceil(h/c)),e.labelHeight=i,e.height=e.currentValueTotalHeight+L.tickOffset+e.ticklen+L.labelOffset+e.labelHeight+e.pad.t+e.pad.b;var f=\"left\";S.isRightAnchor(e)&&(e.lx-=e.outerLength,f=\"right\"),S.isCenterAnchor(e)&&(e.lx-=e.outerLength/2,f=\"center\");var d=\"top\";S.isBottomAnchor(e)&&(e.ly-=e.height,d=\"bottom\"),S.isMiddleAnchor(e)&&(e.ly-=e.height/2,d=\"middle\"),e.outerLength=Math.ceil(e.outerLength),e.height=Math.ceil(e.height),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),M.autoMargin(t,L.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:e.outerLength*({right:1,center:.5}[f]||0),r:e.outerLength*({left:1,center:.5}[f]||0),b:e.height*({top:1,middle:.5}[d]||0),t:e.height*({bottom:1,middle:.5}[d]||0)})}function o(t,e,r){e.call(s,r).call(b,r).call(c,r).call(p,r).call(x,t,r).call(l,t,r),A.setTranslate(e,r.lx+r.pad.l,r.ly+r.pad.t),e.call(m,r,r.active/(r.steps.length-1),!1),e.call(s,r)}function s(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(\"text\").data([0]);switch(e.currentvalue.xanchor){case\"right\":n=e.inputAreaLength-L.currentValueInset-e.currentValueMaxWidth,i=\"left\";break;case\"center\":n=.5*e.inputAreaLength,i=\"middle\";break;default:n=L.currentValueInset,i=\"left\"}a.enter().append(\"text\").classed(L.labelClass,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",i);var o=e.currentvalue.prefix?e.currentvalue.prefix:\"\";if(\"string\"==typeof r)o+=r;else{var s=e.steps[e.active].label;o+=s}return e.currentvalue.suffix&&(o+=e.currentvalue.suffix),a.call(T.font,e.currentvalue.font).text(o).call(E.convertToTspans),A.setTranslate(a,n,e.currentValueHeight),a}}function l(t,e,r){var n=t.selectAll(\"rect.\"+L.gripRectClass).data([0]);n.enter().append(\"rect\").classed(L.gripRectClass,!0).call(d,e,t,r).style(\"pointer-events\",\"all\"),n.attr({width:L.gripWidth,height:L.gripHeight,rx:L.gripRadius,ry:L.gripRadius}).call(k.stroke,r.bordercolor).call(k.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function u(t,e,r){var n=t.selectAll(\"text\").data([0]);return n.enter().append(\"text\").classed(L.labelClass,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\"),n.call(T.font,r.font).text(e.step.label).call(E.convertToTspans),n}function c(t,e){var r=t.selectAll(\"g.\"+L.labelsClass).data([0]);r.enter().append(\"g\").classed(L.labelsClass,!0);var n=r.selectAll(\"g.\"+L.labelGroupClass).data(e.labelSteps);n.enter().append(\"g\").classed(L.labelGroupClass,!0),n.exit().remove(),n.each(function(t){var r=w.select(this);r.call(u,t,e),A.setTranslate(r,v(e,t.fraction),L.tickOffset+e.ticklen+e.labelHeight+L.labelOffset+e.currentValueTotalHeight)})}function h(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&f(t,e,r,a,!0,i)}function f(t,e,r,n,i,a){var o=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(m,r,r.active/(r.steps.length-1),a),e.call(s,r),t.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),l&&l.method&&i&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=i,e._nextMethod.doTransition=a):(e._nextMethod={step:l,doCallback:i,doTransition:a},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(M.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function d(t,e,r,n){var i=r.node(),a=w.select(e);t.on(\"mousedown\",function(){e.emit(\"plotly_sliderstart\",{slider:n});var t=r.select(\".\"+L.gripRectClass);w.event.stopPropagation(),w.event.preventDefault(),t.call(k.fill,n.activebgcolor);var o=y(n,w.mouse(i)[0]);h(e,r,n,o,!0),n._dragging=!0,a.on(\"mousemove\",function(){var t=y(n,w.mouse(i)[0]);h(e,r,n,t,!1)}),a.on(\"mouseup\",function(){n._dragging=!1,t.call(k.fill,n.bgcolor),a.on(\"mouseup\",null),a.on(\"mousemove\",null),e.emit(\"plotly_sliderend\",{slider:n,step:n.steps[n.active]})})})}function p(t,e){var r=t.selectAll(\"rect.\"+L.tickRectClass).data(e.steps);r.enter().append(\"rect\").classed(L.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(t,r){var n=r%e.labelStride===0,i=w.select(this);i.attr({height:n?e.ticklen:e.minorticklen}).call(k.fill,n?e.tickcolor:e.tickcolor),A.setTranslate(i,v(e,r/(e.steps.length-1))-.5*e.tickwidth,(n?L.tickOffset:L.minorTickOffset)+e.currentValueTotalHeight)})}function g(t){t.labelSteps=[];for(var e=0,r=t.steps.length,n=e;n<r;n+=t.labelStride)t.labelSteps.push({fraction:n/(r-1),step:t.steps[n]})}function m(t,e,r,n){var i=t.select(\"rect.\"+L.gripRectClass),a=v(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(\"transform\",\"translate(\"+(a-.5*L.gripWidth)+\",\"+e.currentValueTotalHeight+\")\")}}function v(t,e){return t.inputAreaStart+L.stepInset+(t.inputAreaLength-2*L.stepInset)*Math.min(1,Math.max(0,e))}function y(t,e){return Math.min(1,Math.max(0,(e-L.stepInset-t.inputAreaStart)/(t.inputAreaLength-2*L.stepInset-2*t.inputAreaStart)))}function x(t,e,r){var n=t.selectAll(\"rect.\"+L.railTouchRectClass).data([0]);n.enter().append(\"rect\").classed(L.railTouchRectClass,!0).call(d,e,t,r).style(\"pointer-events\",\"all\"),n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,L.tickOffset+r.ticklen+r.labelHeight)}).call(k.fill,r.bgcolor).attr(\"opacity\",0),A.setTranslate(n,0,r.currentValueTotalHeight)}function b(t,e){var r=t.selectAll(\"rect.\"+L.railRectClass).data([0]);r.enter().append(\"rect\").classed(L.railRectClass,!0);var n=e.inputAreaLength-2*L.railInset;r.attr({width:n,height:L.railWidth,rx:L.railRadius,ry:L.railRadius,\"shape-rendering\":\"crispEdges\"}).call(k.stroke,e.bordercolor).call(k.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),A.setTranslate(r,L.railInset,.5*(e.inputAreaWidth-L.railWidth)+e.currentValueTotalHeight)}function _(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];i.indexOf(L.autoMarginIdRoot)!==-1&&M.autoMargin(t,i)}}var w=t(\"d3\"),M=t(\"../../plots/plots\"),A=t(\"../../lib\"),k=t(\"../color\"),T=t(\"../drawing\"),E=t(\"../../lib/svg_text_utils\"),S=t(\"../legend/anchor_utils\"),L=t(\"./constants\");e.exports=function(t){var e=t._fullLayout,r=n(e),s=e._infolayer.selectAll(\"g.\"+L.containerClassName).data(r.length>0?[0]:[]);if(s.enter().append(\"g\").classed(L.containerClassName,!0).style(\"cursor\",\"ew-resize\"),s.exit().remove(),s.exit().size()&&_(t),0!==r.length){var l=s.selectAll(\"g.\"+L.groupClassName).data(r,i);l.enter().append(\"g\").classed(L.groupClassName,!0),l.exit().each(function(e){w.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,M.autoMargin(t,L.autoMarginIdRoot+e._index)});for(var u=0;u<r.length;u++){var c=r[u];a(t,c)}l.each(function(e){if(!(e.steps.length<2)){var r=w.select(this);g(e),M.manageCommandObserver(t,e,e.steps,function(n){e.active!==n.index&&(e._dragging||f(t,r,e,n.index,!1,!0))}),o(t,w.select(this),e)}})}}},{\"../../lib\":633,\"../../lib/svg_text_utils\":647,\"../../plots/plots\":724,\"../color\":533,\"../drawing\":556,\"../legend/anchor_utils\":569,\"./constants\":603,d3:95}],606:[function(t,e,r){\"use strict\";var n=t(\"./constants\");e.exports={moduleType:\"component\",name:n.name,layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":602,\"./constants\":603,\"./defaults\":604,\"./draw\":605}],607:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plotly\"),o=t(\"../../plots/plots\"),s=t(\"../../lib\"),l=t(\"../drawing\"),u=t(\"../color\"),c=t(\"../../lib/svg_text_utils\"),h=e.exports={};h.draw=function(t,e,r){function h(t){s.syncOrAsync([f,d],t)}function f(e){return e.attr(\"transform\",_?\"rotate(\"+[_.rotate,b.x,b.y]+\") translate(0, \"+_.offset+\")\":null),e.style({\"font-family\":A,\"font-size\":n.round(k,2)+\"px\",fill:u.rgb(T),opacity:E*u.opacity(T),\"font-weight\":o.fontWeight}).attr(b).call(c.convertToTspans).attr(b),e.selectAll(\"tspan.line\").attr(b),o.previousPromises(t)}function d(t){var e=n.select(t.node().parentNode);if(x&&x.selection&&x.side&&L){e.attr(\"transform\",null);var r=0,a={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}[x.side],o=[\"left\",\"top\"].indexOf(x.side)!==-1?-1:1,u=i(x.pad)?x.pad:2,c=l.bBox(e.node()),h={left:0,top:0,right:M.width,bottom:M.height},f=x.maxShift||(h[x.side]-c[x.side])*(\"left\"===x.side||\"top\"===x.side?-1:1);if(f<0?r=f:(c.left-=x.offsetLeft,c.right-=x.offsetLeft,c.top-=x.offsetTop,c.bottom-=x.offsetTop,x.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(c,t,u)&&(r=Math.max(r,o*(t[x.side]-c[a])+u))}),r=Math.min(f,r)),r>0||f<0){var d={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[x.side];e.attr(\"transform\",\"translate(\"+d+\")\")}}}function p(){E=0,S=!0,L=C,M._infolayer.select(\".\"+e).attr({\"data-unformatted\":L}).text(L).on(\"mouseover.opacity\",function(){n.select(this).transition().duration(100).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){n.select(this).transition().duration(1e3).style(\"opacity\",0);\n})}var g=r.propContainer,m=r.propName,v=r.traceIndex,y=r.dfltName,x=r.avoid||{},b=r.attributes,_=r.transform,w=r.containerGroup,M=t._fullLayout,A=g.titlefont.family,k=g.titlefont.size,T=g.titlefont.color,E=1,S=!1,L=g.title.trim();\"\"===L&&(E=0),L.match(/Click to enter .+ title/)&&(E=.2,S=!0),w||(w=M._infolayer.selectAll(\".g-\"+e).data([0]),w.enter().append(\"g\").classed(\"g-\"+e,!0));var z=w.selectAll(\"text\").data([0]);z.enter().append(\"text\"),z.text(L).attr(\"class\",e),z.attr({\"data-unformatted\":L}).call(h);var C=\"Click to enter \"+y+\" title\";t._context.editable?(L||p(),z.call(c.makeEditable).on(\"edit\",function(e){void 0!==v?a.restyle(t,m,e,v):a.relayout(t,m,e)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(h)}).on(\"input\",function(t){this.text(t||\" \").attr(b).selectAll(\"tspan.line\").attr(b)})):L&&!L.match(/Click to enter .+ title/)||z.remove(),z.classed(\"js-placeholder\",S)}},{\"../../lib\":633,\"../../lib/svg_text_utils\":647,\"../../plotly\":659,\"../../plots/plots\":724,\"../color\":533,\"../drawing\":556,d3:95,\"fast-isnumeric\":104}],608:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plots/pad_attributes\"),s={_isLinkedToArray:\"button\",method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"}};e.exports={_isLinkedToArray:\"updatemenu\",visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:s,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a({},o,{}),font:a({},n,{}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1}}},{\"../../lib/extend\":626,\"../../plots/font_attributes\":684,\"../../plots/pad_attributes\":723,\"../color/attributes\":532}],609:[function(t,e,r){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\"  \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,fontSizeToHeight:1.3,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\"}},{}],610:[function(t,e,r){\"use strict\";function n(t,e,r){function n(r,n){return a.coerce(t,e,s,r,n)}var o=i(t,e),l=n(\"visible\",o.length>0);l&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),a.noneOrAll(t,e,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),a.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}function i(t,e){function r(t,e){return a.coerce(n,i,c,t,e)}for(var n,i,o=t.buttons||[],s=e.buttons=[],l=0;l<o.length;l++)n=o[l],i={},a.isPlainObject(n)&&Array.isArray(n.args)&&(r(\"method\"),r(\"args\"),r(\"label\"),i._index=l,s.push(i));return s}var a=t(\"../../lib\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=t(\"./constants\"),u=l.name,c=s.buttons;e.exports=function(t,e){var r={name:u,handleItemDefaults:n};o(t,e,r)}},{\"../../lib\":633,\"../../plots/array_container_defaults\":661,\"./attributes\":608,\"./constants\":609}],611:[function(t,e,r){\"use strict\";function n(t){for(var e=t[T.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}function i(t){return t._index}function a(t,e){var r=+t.attr(T.menuIndexAttrName);return r===e._index}function o(t,e,r,n){var i=e.selectAll(\"g.\"+T.headerClassName).data([0]);i.enter().append(\"g\").classed(T.headerClassName,!0).style(\"pointer-events\",\"all\");var o=n.active,l=n.buttons[o]||T.blankHeaderOpts,c={y:n.pad.t,yPad:0,x:n.pad.l,xPad:0,index:0},h={width:n.headerWidth,height:n.headerHeight};i.call(u,n,l).call(m,n,c,h);var f=e.selectAll(\"text.\"+T.headerArrowClassName).data([0]);f.enter().append(\"text\").classed(T.headerArrowClassName,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",\"end\").call(M.font,n.font).text(\"\\u25bc\"),f.attr({x:n.headerWidth-T.arrowOffsetX+n.pad.l,y:n.headerHeight/2+T.textOffsetY+n.pad.t}),i.on(\"click\",function(){r.call(v),r.attr(T.menuIndexAttrName,a(r,n)?\"-1\":String(n._index)),s(t,e,r,n)}),i.on(\"mouseover\",function(){i.call(d)}),i.on(\"mouseout\",function(){i.call(p,n)}),_.setTranslate(e,n.lx,n.ly)}function s(t,e,r,n){r||(r=e,r.attr(\"pointer-events\",\"all\"));var i=\"-1\"!==r.attr(T.menuIndexAttrName)||\"buttons\"===n.type?n.buttons:[],a=\"dropdown\"===n.type?T.dropdownButtonClassName:T.buttonClassName,o=r.selectAll(\"g.\"+a).data(i),s=o.enter().append(\"g\").classed(a,!0),c=o.exit();\"dropdown\"===n.type?(s.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),c.transition().attr(\"opacity\",\"0\").remove()):c.remove();var h=0,g=0,v=[\"up\",\"down\"].indexOf(n.direction)!==-1;\"dropdown\"===n.type&&(v?g=n.headerHeight+T.gapButtonHeader:h=n.headerWidth+T.gapButtonHeader),\"dropdown\"===n.type&&\"up\"===n.direction&&(g=-T.gapButtonHeader+T.gapButton-n.openHeight),\"dropdown\"===n.type&&\"left\"===n.direction&&(h=-T.gapButtonHeader+T.gapButton-n.openWidth);var y={x:h+n.pad.l,y:g+n.pad.t,yPad:T.gapButton,xPad:T.gapButton,index:0};o.each(function(i,a){var s=x.select(this);s.call(u,n,i).call(m,n,y),s.on(\"click\",function(){l(t,n,i,e,r,a),b.executeAPICommand(t,i.method,i.args),t.emit(\"plotly_buttonclicked\",{menu:n,button:i,active:n.active})}),s.on(\"mouseover\",function(){s.call(d)}),s.on(\"mouseout\",function(){s.call(p,n),o.call(f,n)})}),o.call(f,n),_.setTranslate(r,n.lx,n.ly)}function l(t,e,r,n,i,a,l){e._input.active=e.active=a,\"dropdown\"===e.type&&(i.attr(T.menuIndexAttrName,\"-1\"),o(t,n,i,e)),l&&\"buttons\"!==e.type||s(t,n,i,e)}function u(t,e,r){t.call(c,e).call(h,e,r)}function c(t,e){var r=t.selectAll(\"rect\").data([0]);r.enter().append(\"rect\").classed(T.itemRectClassName,!0).attr({rx:T.rx,ry:T.ry,\"shape-rendering\":\"crispEdges\"}),r.call(w.stroke,e.bordercolor).call(w.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\")}function h(t,e,r){var n=t.selectAll(\"text\").data([0]);n.enter().append(\"text\").classed(T.itemTextClassName,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",\"start\"),n.call(M.font,e.font).text(r.label).call(A.convertToTspans)}function f(t,e){var r=e.active;t.each(function(t,n){var i=x.select(this);n===r&&e.showactive&&i.select(\"rect.\"+T.itemRectClassName).call(w.fill,T.activeColor)})}function d(t){t.select(\"rect.\"+T.itemRectClassName).call(w.fill,T.hoverColor)}function p(t,e){t.select(\"rect.\"+T.itemRectClassName).call(w.fill,e.bgcolor)}function g(t,e){e.width1=0,e.height1=0,e.heights=[],e.widths=[],e.totalWidth=0,e.totalHeight=0,e.openWidth=0,e.openHeight=0,e.lx=0,e.ly=0;var r=t._tester.selectAll(\"g.\"+T.dropdownButtonClassName).data(e.buttons);r.enter().append(\"g\").classed(T.dropdownButtonClassName,!0);var n=[\"up\",\"down\"].indexOf(e.direction)!==-1;r.each(function(t,r){var i=x.select(this);i.call(u,e,t);var a=i.select(\".\"+T.itemTextClassName),o=a.selectAll(\"tspan\"),s=a.node()&&M.bBox(a.node()).width,l=Math.max(s+T.textPadX,T.minWidth),c=e.font.size*T.fontSizeToHeight,h=o[0].length||1,f=Math.max(c*h,T.minHeight)+T.textOffsetY;f=Math.ceil(f),l=Math.ceil(l),e.widths[r]=l,e.heights[r]=f,e.height1=Math.max(e.height1,f),e.width1=Math.max(e.width1,l),n?(e.totalWidth=Math.max(e.totalWidth,l),e.openWidth=e.totalWidth,e.totalHeight+=f+T.gapButton,e.openHeight+=f+T.gapButton):(e.totalWidth+=l+T.gapButton,e.openWidth+=l+T.gapButton,e.totalHeight=Math.max(e.totalHeight,f),e.openHeight=e.totalHeight)}),n?e.totalHeight-=T.gapButton:e.totalWidth-=T.gapButton,e.headerWidth=e.width1+T.arrowPadX,e.headerHeight=e.height1,\"dropdown\"===e.type&&(n?(e.width1+=T.arrowPadX,e.totalHeight=e.height1):e.totalWidth=e.width1,e.totalWidth+=T.arrowPadX),r.remove();var i=e.totalWidth+e.pad.l+e.pad.r,a=e.totalHeight+e.pad.t+e.pad.b,o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y);var s=\"left\";k.isRightAnchor(e)&&(e.lx-=i,s=\"right\"),k.isCenterAnchor(e)&&(e.lx-=i/2,s=\"center\");var l=\"top\";k.isBottomAnchor(e)&&(e.ly-=a,l=\"bottom\"),k.isMiddleAnchor(e)&&(e.ly-=a/2,l=\"middle\"),e.totalWidth=Math.ceil(e.totalWidth),e.totalHeight=Math.ceil(e.totalHeight),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),b.autoMargin(t,T.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:i*({right:1,center:.5}[s]||0),r:i*({left:1,center:.5}[s]||0),b:a*({top:1,middle:.5}[l]||0),t:a*({bottom:1,middle:.5}[l]||0)})}function m(t,e,r,n){n=n||{};var i=t.select(\".\"+T.itemRectClassName),a=t.select(\".\"+T.itemTextClassName),o=a.selectAll(\"tspan\"),s=e.borderwidth,l=r.index;_.setTranslate(t,s+r.x,s+r.y);var u=[\"up\",\"down\"].indexOf(e.direction)!==-1;i.attr({x:0,y:0,width:n.width||(u?e.width1:e.widths[l]),height:n.height||(u?e.heights[l]:e.height1)});var c=e.font.size*T.fontSizeToHeight,h=o[0].length||1,f=(h-1)*c/4,d={x:T.textOffsetX,y:e.heights[l]/2-f+T.textOffsetY};a.attr(d),o.attr(d),u?r.y+=e.heights[l]+r.yPad:r.x+=e.widths[l]+r.xPad,r.index++}function v(t){t.selectAll(\"g.\"+T.dropdownButtonClassName).remove()}function y(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];i.indexOf(T.autoMarginIdRoot)!==-1&&b.autoMargin(t,i)}}var x=t(\"d3\"),b=t(\"../../plots/plots\"),_=t(\"../../lib\"),w=t(\"../color\"),M=t(\"../drawing\"),A=t(\"../../lib/svg_text_utils\"),k=t(\"../legend/anchor_utils\"),T=t(\"./constants\");e.exports=function(t){var e=t._fullLayout,r=n(e),u=e._infolayer.selectAll(\"g.\"+T.containerClassName).data(r.length>0?[0]:[]);if(u.enter().append(\"g\").classed(T.containerClassName,!0).style(\"cursor\",\"pointer\"),u.exit().remove(),u.exit().size()&&y(t),0!==r.length){var c=u.selectAll(\"g.\"+T.headerGroupClassName).data(r,i);c.enter().append(\"g\").classed(T.headerGroupClassName,!0);var h=u.selectAll(\"g.\"+T.dropdownButtonGroupClassName).data([0]);h.enter().append(\"g\").classed(T.dropdownButtonGroupClassName,!0).style(\"pointer-events\",\"all\"),c.enter().size()&&h.call(v).attr(T.menuIndexAttrName,\"-1\"),c.exit().each(function(e){x.select(this).remove(),h.call(v).attr(T.menuIndexAttrName,\"-1\"),b.autoMargin(t,T.autoMarginIdRoot+e._index)});for(var f=0;f<r.length;f++){var d=r[f];g(t,d)}c.each(function(e){var r=x.select(this),n=\"dropdown\"===e.type?h:null;b.manageCommandObserver(t,e,e.buttons,function(i){l(t,e,e.buttons[i.index],r,n,i.index,!0)}),\"dropdown\"===e.type?(o(t,r,h,e),a(h,e)&&s(t,r,h,e)):s(t,r,null,e)})}}},{\"../../lib\":633,\"../../lib/svg_text_utils\":647,\"../../plots/plots\":724,\"../color\":533,\"../drawing\":556,\"../legend/anchor_utils\":569,\"./constants\":609,d3:95}],612:[function(t,e,r){arguments[4][606][0].apply(r,arguments)},{\"./attributes\":608,\"./constants\":609,\"./defaults\":610,\"./draw\":611,dup:606}],613:[function(t,e,r){\"use strict\";e.exports={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}},{}],614:[function(t,e,r){\"use strict\";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],615:[function(t,e,r){\"use strict\";e.exports={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"}},{}],616:[function(t,e,r){\"use strict\";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3}},{}],617:[function(t,e,r){\"use strict\";e.exports={entityToUnicode:{mu:\"\\u03bc\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",times:\"\\xd7\",plusmn:\"\\xb1\",deg:\"\\xb0\"},unicodeToEntity:{\"&\":\"amp\",\"<\":\"lt\",\">\":\"gt\",'\"':\"quot\",\"'\":\"#x27\",\"/\":\"#x2F\"}}},{}],618:[function(t,e,r){\"use strict\";r.xmlns=\"http://www.w3.org/2000/xmlns/\",r.svg=\"http://www.w3.org/2000/svg\",r.xlink=\"http://www.w3.org/1999/xlink\",r.svgAttrs={xmlns:r.svg,\"xmlns:xlink\":r.xlink}},{}],619:[function(t,e,r){\"use strict\";var n=t(\"./plotly\");r.version=\"1.20.5\",t(\"es6-promise\").polyfill(),t(\"../build/plotcss\"),t(\"./fonts/mathjax_config\"),r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.setPlotConfig=t(\"./plot_api/set_plot_config\"),r.register=t(\"./plot_api/register\"),r.toImage=t(\"./plot_api/to_image\"),r.downloadImage=t(\"./snapshot/download\"),r.validate=t(\"./plot_api/validate\"),r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.register(t(\"./traces/scatter\")),r.register([t(\"./components/legend\"),t(\"./components/annotations\"),t(\"./components/shapes\"),t(\"./components/images\"),t(\"./components/updatemenus\"),t(\"./components/sliders\"),t(\"./components/rangeslider\"),t(\"./components/rangeselector\")]),r.Icons=t(\"../build/ploticon\"),r.Plots=n.Plots,r.Fx=n.Fx,r.Snapshot=t(\"./snapshot\"),r.PlotSchema=t(\"./plot_api/plot_schema\"),r.Queue=t(\"./lib/queue\"),r.d3=t(\"d3\")},{\"../build/plotcss\":1,\"../build/ploticon\":2,\"./components/annotations\":531,\"./components/images\":568,\"./components/legend\":576,\"./components/rangeselector\":588,\"./components/rangeslider\":593,\"./components/shapes\":600,\"./components/sliders\":606,\"./components/updatemenus\":612,\"./fonts/mathjax_config\":620,\"./lib/queue\":641,\"./plot_api/plot_schema\":653,\"./plot_api/register\":654,\"./plot_api/set_plot_config\":655,\"./plot_api/to_image\":657,\"./plot_api/validate\":658,\"./plotly\":659,\"./snapshot\":744,\"./snapshot/download\":741,\"./traces/scatter\":856,d3:95,\"es6-promise\":101}],620:[function(t,e,r){\"use strict\";\"undefined\"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:\"none\",skipStartupTypeset:!0,displayAlign:\"left\",tex2jax:{inlineMath:[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],621:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){Array.isArray(t)&&(e[r]=t[n])}},{}],622:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../constants/numerical\").BADNUM,a=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;e.exports=function(t){return\"string\"==typeof t&&(t=t.replace(a,\"\")),n(t)?Number(t):i}},{\"../constants/numerical\":616,\"fast-isnumeric\":104}],623:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../components/colorscale/get_scale\"),o=(Object.keys(t(\"../components/colorscale/scales\")),t(\"./nested_property\")),s=/^([2-9]|[1-9][0-9]+)$/;r.valObjects={data_array:{coerceFunction:function(t,e,r){Array.isArray(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),n.values.indexOf(t)===-1?e.set(r):e.set(t)}},boolean:{coerceFunction:function(t,e,r){t===!0||t===!1?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;n.strict!==!0&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(a(t,r))}},angle:{coerceFunction:function(t,e,r){\"auto\"===t?e.set(\"auto\"):n(t)?(Math.abs(t)>180&&(t-=360*Math.round(t/360)),e.set(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r){var n=r.length;return\"string\"==typeof t&&t.substr(0,n)===r&&s.test(t.substr(n))?void e.set(t):void e.set(r)},validateFunction:function(t,e){var r=e.dflt,n=r.length;return t===r||\"string\"==typeof t&&!(t.substr(0,n)!==r||!s.test(t.substr(n)))}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t)return void e.set(r);if((n.extras||[]).indexOf(t)!==-1)return void e.set(t);for(var i=t.split(\"+\"),a=0;a<i.length;){var o=i[a];n.flags.indexOf(o)===-1||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\"+\")):e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,i){if(!Array.isArray(t))return void e.set(n);var a=i.items,o=[];n=Array.isArray(n)?n:[];for(var s=0;s<a.length;s++)r.coerce(t,o,a,\"[\"+s+\"]\",n[s]);e.set(o)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items;if(!e.freeLength&&t.length!==n.length)return!1;for(var i=0;i<t.length;i++){var a=r.validate(t[i],e.items[i]);if(!a)return!1}return!0}}},r.coerce=function(t,e,n,i,a){var s=o(n,i).get(),l=o(t,i),u=o(e,i),c=l.get();return void 0===a&&(a=s.dflt),s.arrayOk&&Array.isArray(c)?(u.set(c),c):(r.valObjects[s.valType].coerceFunction(c,u,a,s),u.get())},r.coerce2=function(t,e,n,i,a){var s=o(t,i),l=r.coerce(t,e,n,i,a);return!!s.get()&&l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+\".family\",r.family),n.size=t(e+\".size\",r.size),n.color=t(e+\".color\",r.color),n},r.validate=function(t,e){var n=r.valObjects[e.valType];if(e.arrayOk&&Array.isArray(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}},{\"../components/colorscale/get_scale\":545,\"../components/colorscale/scales\":551,\"./nested_property\":638,\"fast-isnumeric\":104,tinycolor2:489}],624:[function(t,e,r){\"use strict\";function n(t,e){return String(t+Math.pow(10,e)).substr(1)}var i=t(\"d3\"),a=t(\"fast-isnumeric\"),o=t(\"./loggers\").error,s=t(\"../constants/numerical\"),l=s.BADNUM,u=s.ONEDAY,c=s.ONEHOUR,h=s.ONEMIN,f=s.ONESEC;r.isJSDate=function(t){return\"object\"==typeof t&&null!==t&&\"function\"==typeof t.getTime};var d,p;r.dateTime2ms=function(t){if(r.isJSDate(t))return t=Number(t),t>=d&&t<=p?t:l;if(\"string\"!=typeof t&&\"number\"!=typeof t)return l;var e,n,i,o,s=String(t).trim().split(\" \");if(s.length>2)return l;var u=s[0].split(\"-\"),c=!0;\"\"===u[0]&&(c=!1,u.splice(0,1));var g=u.length;if(g>3||3!==g&&s[1]||!g)return l;if(4===u[0].length)e=Number(u[0]);else{if(2!==u[0].length)return l;if(!c)return l;var m=(new Date).getFullYear();e=((Number(u[0])-m+70)%100+200)%100+m-70}if(!a(e))return l;var v=new Date(0,0,1);if(v.setFullYear(c?e:-e),u.length>1){if(n=Number(u[1])-1,u[1].length>2||!(n>=0&&n<=11))return l;if(v.setMonth(n),u.length>2){if(i=Number(u[2]),u[2].length>2||!(i>=1&&i<=31))return l;if(v.setDate(i),v.getDate()!==i)return l;if(s[1]){if(u=s[1].split(\":\"),u.length>3)return l;if(o=Number(u[0]),u[0].length>2||!u[0].length||!(o>=0&&o<=23))return l;if(v.setHours(o),v.getHours()!==o)return l;if(u.length>1)return i=v.getTime(),n=Number(u[1]),2===u[1].length&&n>=0&&n<=59?(i+=h*n,2===u.length?i:2!==u[2].split(\".\")[0].length?l:(t=Number(u[2]),t>=0&&t<60?i+t*f:l)):l}}}return v.getTime()},d=r.MIN_MS=r.dateTime2ms(\"-9999\"),p=r.MAX_MS=r.dateTime2ms(\"9999-12-31 23:59:59.9999\"),r.isDateTime=function(t){return r.dateTime2ms(t)!==l};var g=90*u,m=3*c,v=5*h;r.ms2DateTime=function(t,e){if(\"number\"!=typeof t||!(t>=d&&t<=p))return l;e||(e=0);var r=new Date(Math.floor(t)),a=i.time.format(\"%Y-%m-%d\")(r),o=e<g?r.getHours():0,s=e<g?r.getMinutes():0,u=e<m?r.getSeconds():0,c=e<v?Math.round(10*(r.getMilliseconds()+(t%1+1)%1)):0;if((o||s||u||c)&&(a+=\" \"+n(o,2)+\":\"+n(s,2),(u||c)&&(a+=\":\"+n(u,2),c))){for(var h=4;c%10===0;)h-=1,c/=10;a+=\".\"+n(c,h)}return a},r.cleanDate=function(t,e){if(r.isJSDate(t)||\"number\"==typeof t){if(t=r.ms2DateTime(+t),!t&&void 0!==e)return e}else if(!r.isDateTime(t))return o(\"unrecognized date\",t),e;return t}},{\"../constants/numerical\":616,\"./loggers\":636,d3:95,\"fast-isnumeric\":104}],625:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){\"undefined\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\"undefined\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;\"function\"==typeof o&&(o=[o]);for(var s=o.pop(),l=0;l<o.length;l++)o[l](r);return i=s(r),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=i},{events:102}],626:[function(t,e,r){\"use strict\";function n(t,e){var r,n;for(r=0;r<t.length;r++){if(n=t[r],null!==n&&\"object\"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}function i(t,e,r,s){var l,u,c,h,f,d,p,g=t[0],m=t.length;if(2===m&&o(g)&&o(t[1])&&0===g.length){if(p=n(t[1],g))return g;g.splice(0,g.length)}for(var v=1;v<m;v++){l=t[v];for(u in l)c=g[u],h=l[u],s&&o(h)?g[u]=h:e&&h&&(a(h)||(f=o(h)))?(f?(f=!1,d=c&&o(c)?c:[]):d=c&&a(c)?c:{},g[u]=i([d,h],e,r,s)):(\"undefined\"!=typeof h||r)&&(g[u]=h)}return g}var a=t(\"./is_plain_object.js\"),o=Array.isArray;r.extendFlat=function(){return i(arguments,!1,!1,!1)},r.extendDeep=function(){return i(arguments,!0,!1,!1)},r.extendDeepAll=function(){return i(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return i(arguments,!0,!1,!0)}},{\"./is_plain_object.js\":635}],627:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],628:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];n.visible===!0&&e.push(n)}return e}},{}],629:[function(t,e,r){\"use strict\";function n(t,e){var r=l[t];return r(e)}function i(t){for(var e=0;e<s.length;e++){var r=s[e],n=new RegExp(a[r]);if(n.test(t.toLowerCase()))return r}return o.warn(\"Unrecognized country name: \"+t+\".\"),!1}var a=t(\"country-regex\"),o=t(\"../lib\"),s=Object.keys(a),l={\"ISO-3\":o.identity,\"USA-states\":o.identity,\"country names\":i};r.locationToFeature=function(t,e,r){var i=n(t,e);if(i){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===i)return s}o.warn([\"Location with id\",i,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}},{\"../lib\":633,\"country-regex\":88}],630:[function(t,e,r){\"use strict\";r.calcTraceToLineCoords=function(t){for(var e=t[0].trace,r=e.connectgaps,n=[],i=[],a=0;a<t.length;a++){var o=t[a];i.push(o.lonlat),!r&&o.gapAfter&&i.length>0&&(n.push(i),i=[])}return n.push(i),n},r.makeLine=function(t,e){var r={};return r=1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t},e&&(r.trace=e),r},r.makePolygon=function(t,e){var r={};if(1===t.length)r={type:\"Polygon\",coordinates:t};else{for(var n=new Array(t.length),i=0;i<t.length;i++)n[i]=[t[i]];r={type:\"MultiPolygon\",coordinates:n}}return e&&(r.trace=e),r},r.makeBlank=function(){return{type:\"Point\",coordinates:[]}}},{}],631:[function(t,e,r){\"use strict\";function n(t,e){var r=h(t);return r[3]*=e,r}function i(t){return s(t).isValid()?t:c}function a(t){return l(t)?t:f}function o(t,e,r){var o,s,l,h,d,p=t.color,g=Array.isArray(p),m=Array.isArray(e),v=[];if(o=void 0!==t.colorscale?u.makeColorScaleFunc(u.extractScale(t.colorscale,t.cmin,t.cmax)):i,s=g?function(t,e){return void 0===t[e]?c:o(t[e])}:i,l=m?function(t,e){return void 0===t[e]?f:a(t[e])}:a,g||m)for(var y=0;y<r;y++)h=s(p,y),d=l(e,y),v[y]=n(h,d);else v=n(p,e);return v}var s=t(\"tinycolor2\"),l=t(\"fast-isnumeric\"),u=t(\"../components/colorscale\"),c=t(\"../components/color/attributes\").defaultLine,h=t(\"./str2rgbarray\"),f=1;e.exports=o},{\"../components/color/attributes\":532,\"../components/colorscale\":547,\"./str2rgbarray\":646,\"fast-isnumeric\":104,tinycolor2:489}],632:[function(t,e,r){\"use strict\";function n(t){for(var e=0;(e=t.indexOf(\"<sup>\",e))>=0;){var r=t.indexOf(\"</sup>\",e);if(r<e)break;t=t.slice(0,e)+l(t.slice(e+5,r))+t.slice(r+6)}return t}function i(t){return t.replace(/\\<br\\>/g,\"\\n\")}function a(t){return t.replace(/\\<.*\\>/g,\"\")}function o(t){for(var e=u.entityToUnicode,r=0;(r=t.indexOf(\"&\",r))>=0;){var n=t.indexOf(\";\",r);if(n<r)r+=1;else{var i=e[t.slice(r+1,n)];t=i?t.slice(0,r)+i+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}function s(t){return\"\"+o(a(n(i(t))))}var l=t(\"superscript-text\"),u=t(\"../constants/string_mappings\");e.exports=s},{\"../constants/string_mappings\":617,\"superscript-text\":486}],633:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=e.exports={};i.nestedProperty=t(\"./nested_property\"),i.isPlainObject=t(\"./is_plain_object\"),i.isArray=t(\"./is_array\");var a=t(\"./coerce\");i.valObjects=a.valObjects,i.coerce=a.coerce,i.coerce2=a.coerce2,i.coerceFont=a.coerceFont,i.validate=a.validate;var o=t(\"./dates\");i.dateTime2ms=o.dateTime2ms,i.isDateTime=o.isDateTime,i.ms2DateTime=o.ms2DateTime,i.cleanDate=o.cleanDate,i.isJSDate=o.isJSDate,i.MIN_MS=o.MIN_MS,i.MAX_MS=o.MAX_MS;var s=t(\"./search\");i.findBin=s.findBin,i.sorterAsc=s.sorterAsc,i.sorterDes=s.sorterDes,i.distinctVals=s.distinctVals,i.roundUp=s.roundUp;var l=t(\"./stats\");i.aggNums=l.aggNums,i.len=l.len,i.mean=l.mean,i.variance=l.variance,i.stdev=l.stdev,i.interp=l.interp;var u=t(\"./matrix\");i.init2dArray=u.init2dArray,i.transposeRagged=u.transposeRagged,i.dot=u.dot,i.translationMatrix=u.translationMatrix,i.rotationMatrix=u.rotationMatrix,i.rotationXYMatrix=u.rotationXYMatrix,i.apply2DTransform=u.apply2DTransform,i.apply2DTransform2=u.apply2DTransform2;var c=t(\"./extend\");i.extendFlat=c.extendFlat,i.extendDeep=c.extendDeep,i.extendDeepAll=c.extendDeepAll,i.extendDeepNoArrays=c.extendDeepNoArrays;var h=t(\"./loggers\");i.log=h.log,i.warn=h.warn,i.error=h.error,i.notifier=t(\"./notifier\"),i.filterUnique=t(\"./filter_unique\"),i.filterVisible=t(\"./filter_visible\"),i.cleanNumber=t(\"./clean_number\"),i.swapAttrs=function(t,e,r,n){r||(r=\"x\"),n||(n=\"y\");for(var a=0;a<e.length;a++){var o=e[a],s=i.nestedProperty(t,o.replace(\"?\",r)),l=i.nestedProperty(t,o.replace(\"?\",n)),u=s.get();s.set(l.get()),l.set(u)}},i.pauseEvent=function(t){return t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.cancelBubble=!0,!1},i.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},i.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},i.identity=function(t){return t},i.noop=function(){},i.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var i,a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l=\"\";for(i=2;s===1/0;i*=2)s=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var u=s-Math.floor(s);for(i=0;i<Math.floor(s);i++)o=Math.floor(Math.random()*n).toString(n),l=o+l;u&&(a=Math.pow(n,u),o=Math.floor(Math.random()*a).toString(n),l=o+l);var c=parseInt(l,n);return e&&e.indexOf(l)>-1||c!==1/0&&c>=Math.pow(2,r)?t(e,r,n):l},i.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={};return r.optionList=[],r._newoption=function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)},r[\"_\"+e]=t,r},i.smooth=function(t,e){if(e=Math.round(e)||0,e<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r<l;r++)u[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)i=r+n+1-e,i<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},i.syncOrAsync=function(t,e,r){function n(){return i.syncOrAsync(t,e,r)}for(var a,o;t.length;)if(o=t.splice(0,1)[0],a=o(e),a&&a.then)return a.then(n).then(void 0,i.promiseError);return r&&r(e)},i.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},i.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n<r.length;n++)i=t[r[n]],void 0!==i&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},i.pushUnique=function(t,e){return e&&t.indexOf(e)===-1&&t.push(e),t},i.mergeArray=function(t,e,r){if(Array.isArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},i.minExtend=function(t,e){var r={};\"object\"!=typeof e&&(e={});var n,a,o,s=3,l=Object.keys(t);for(n=0;n<l.length;n++)a=l[n],o=t[a],\"_\"!==a.charAt(0)&&\"function\"!=typeof o&&(\"module\"===a?r[a]=o:Array.isArray(o)?r[a]=o.slice(0,s):o&&\"object\"==typeof o?r[a]=i.minExtend(t[a],e[a]):r[a]=o);for(l=Object.keys(e),n=0;n<l.length;n++)a=l[n],o=e[a],\"object\"==typeof o&&a in r&&\"object\"==typeof r[a]||(r[a]=o);return r},i.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},i.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(t.indexOf(e[r])!==-1)return!0;return!1},i.getPlotDiv=function(t){for(;t&&t.removeAttribute;t=t.parentNode)if(i.isPlotDiv(t))return t},i.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\"js-plotly-plot\")},i.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},i.addStyleRule=function(t,e){if(!i.styleSheet){var r=document.createElement(\"style\");r.appendChild(document.createTextNode(\"\")),document.head.appendChild(r),i.styleSheet=r.sheet}var n=i.styleSheet;n.insertRule?n.insertRule(t+\"{\"+e+\"}\",0):n.addRule?n.addRule(t,e,0):i.warn(\"addStyleRule failed\")},i.getTranslate=function(t){var e=/.*\\btranslate\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,r=t.attr?\"attr\":\"getAttribute\",n=t[r](\"transform\")||\"\",i=n.replace(e,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+i[0]||0,y:+i[1]||0}},i.setTranslate=function(t,e,r){var n=/(\\btranslate\\(.*?\\);?)/,i=t.attr?\"attr\":\"getAttribute\",a=t.attr?\"attr\":\"setAttribute\",o=t[i](\"transform\")||\"\";return e=e||0,r=r||0,o=o.replace(n,\"\").trim(),o+=\" translate(\"+e+\", \"+r+\")\",o=o.trim(),t[a](\"transform\",o),o},i.getScale=function(t){var e=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,r=t.attr?\"attr\":\"getAttribute\",n=t[r](\"transform\")||\"\",i=n.replace(e,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+i[0]||1,y:+i[1]||1}},i.setScale=function(t,e,r){var n=/(\\bscale\\(.*?\\);?)/,i=t.attr?\"attr\":\"getAttribute\",a=t.attr?\"attr\":\"setAttribute\",o=t[i](\"transform\")||\"\";return e=e||1,r=r||1,o=o.replace(n,\"\").trim(),o+=\" scale(\"+e+\", \"+r+\")\",o=o.trim(),t[a](\"transform\",o),o},i.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?\"\":\" scale(\"+e+\",\"+r+\")\",a=/\\s*sc.*/,t.each(function(){n=(this.getAttribute(\"transform\")||\"\").replace(a,\"\"),n+=i,n=n.trim(),this.setAttribute(\"transform\",n)}),i},i.isIE=function(){return\"undefined\"!=typeof window.navigator.msSaveBlob},i.objectFromPath=function(t,e){for(var r,n=t.split(\".\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var f=/^([^\\[\\.]+)\\.(.+)?/,d=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;i.expandObjectPaths=function(t){var e,r,n,a,o,s,l;if(\"object\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(f))?(a=t[r],n=e[1],delete t[r],t[n]=i.extendDeepNoArrays(t[n]||{},i.objectFromPath(r,i.expandObjectPaths(a))[n])):(e=r.match(d))?(a=t[r],n=e[1],o=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\".\"===e[3]?(l=e[4],s=t[n][o]=t[n][o]||{},i.extendDeepNoArrays(s,i.objectFromPath(l,i.expandObjectPaths(a)))):t[n][o]=i.expandObjectPaths(a)):t[r]=i.expandObjectPaths(t[r]));return t},i.numSeparate=function(t,e,r){if(r||(r=!1),\"string\"!=typeof e||0===e.length)throw new Error(\"Separator string required for formatting!\");\"number\"==typeof t&&(t=String(t));\nvar n=/(\\d+)(\\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l}},{\"./clean_number\":622,\"./coerce\":623,\"./dates\":624,\"./extend\":626,\"./filter_unique\":627,\"./filter_visible\":628,\"./is_array\":634,\"./is_plain_object\":635,\"./loggers\":636,\"./matrix\":637,\"./nested_property\":638,\"./notifier\":639,\"./search\":642,\"./stats\":645,d3:95}],634:[function(t,e,r){\"use strict\";e.exports=function(t){return Array.isArray(t)||ArrayBuffer.isView(t)}},{}],635:[function(t,e,r){\"use strict\";e.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],636:[function(t,e,r){\"use strict\";var n=t(\"../plot_api/plot_config\"),i=e.exports={};i.log=function(){if(n.logging>1){for(var t=[\"LOG:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace?console.trace.apply(console,t):console.log.apply(console,t)}},i.warn=function(){if(n.logging>0){for(var t=[\"WARN:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace?console.trace.apply(console,t):console.log.apply(console,t)}},i.error=function(){if(n.logging>0){for(var t=[\"ERROR:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);console.error.apply(console,arguments)}}},{\"../plot_api/plot_config\":652}],637:[function(t,e,r){\"use strict\";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],638:[function(t,e,r){\"use strict\";function n(t,e){return function(){var r,i,a,o,s,l=t;for(o=0;o<e.length-1;o++){if(r=e[o],r===-1){for(i=!0,a=[],s=0;s<l.length;s++)a[s]=n(l[s],e.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(\"number\"==typeof r&&!f(l))return;if(l=l[r],\"object\"!=typeof l||null===l)return}if(\"object\"==typeof l&&null!==l&&(a=l[e[o]],null!==a))return a}}function i(t,e){var r=[\"annotations\",\"shapes\",\"range\",\"domain\",\"buttons\"],n=r.indexOf(e)===-1;return f(t)&&n}function a(t,e){return function(r){var n,a,c=t,h=[t],d=u(r)&&!i(r,e[e.length-1]);for(a=0;a<e.length-1;a++){if(n=e[a],\"number\"==typeof n&&!f(c))throw\"array index but container is not an array\";if(n===-1){if(d=!o(c,e.slice(a+1),r))break;return}if(!s(c,n,e[a+1],d))break;if(c=c[n],\"object\"!=typeof c||null===c)throw\"container is not an object\";h.push(c)}d?(a===e.length-1&&delete c[e[a]],l(h)):c[e[a]]=r}}function o(t,e,r){var n,i=f(r),o=!0,l=r,c=!i&&u(r),h=e[0];for(n=0;n<t.length;n++)i&&(l=r[n%r.length],c=u(l)),c&&(o=!1),s(t,n,h,c)&&a(t[n],e)(l);return o}function s(t,e,r,n){if(void 0===t[e]){if(n)return!1;\"number\"==typeof r?t[e]=[]:t[e]={}}return!0}function l(t){var e,r,n,a,o;for(e=t.length-1;e>=0;e--){if(n=t[e],o=!1,f(n))for(r=n.length-1;r>=0;r--)u(n[r])?o?n[r]=void 0:n.pop():o=!0;else if(\"object\"==typeof n&&null!==n)for(a=Object.keys(n),o=!1,r=a.length-1;r>=0;r--)u(n[a[r]])&&!i(n[a[r]],a[r])?delete n[a[r]]:o=!0;if(o)return}}function u(t){return void 0===t||null===t||\"object\"==typeof t&&(f(t)?!t.length:!Object.keys(t).length)}function c(t,e,r){return{set:function(){throw\"bad container\"},get:function(){},astr:e,parts:r,obj:t}}var h=t(\"fast-isnumeric\"),f=t(\"./is_array\");e.exports=function(t,e){if(h(e))e=String(e);else if(\"string\"!=typeof e||\"[-1]\"===e.substr(e.length-4))throw\"bad property string\";for(var r,i,o,s=0,l=e.split(\".\");s<l.length;){if(r=String(l[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(r[1])l[s]=r[1];else{if(0!==s)throw\"bad property string\";l.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(\"][\"),o=0;o<i.length;o++)s++,l.splice(s,0,Number(i[o]))}s++}return\"object\"!=typeof t?c(t,e,l):{set:a(t,l),get:n(t,l),astr:e,parts:l,obj:t}}},{\"./is_array\":634,\"fast-isnumeric\":104}],639:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=[];e.exports=function(t,e){function r(t){t.duration(700).style(\"opacity\",0).each(\"end\",function(t){var e=a.indexOf(t);e!==-1&&a.splice(e,1),n.select(this).remove()})}if(a.indexOf(t)===-1){a.push(t);var o=1e3;i(e)?o=e:\"long\"===e&&(o=3e3);var s=n.select(\"body\").selectAll(\".plotly-notifier\").data([0]);s.enter().append(\"div\").classed(\"plotly-notifier\",!0);var l=s.selectAll(\".notifier-note\").data(a);l.enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(t){var e=n.select(this);e.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",function(){e.transition().call(r)}),e.append(\"p\").html(t),e.transition().duration(700).style(\"opacity\",1).transition().delay(o).call(r)})}}},{d3:95,\"fast-isnumeric\":104}],640:[function(t,e,r){\"use strict\";var n=t(\"./matrix\").dot,i=e.exports={};i.tester=function(t){function e(t,e){var r=t[0],n=t[1];return!(r<i||r>a||n<o||n>s)&&(!e||!u(t))}function r(t,e){var r=t[0],l=t[1];if(r<i||r>a||l<o||l>s)return!1;var u,c,h,f,d,p=n.length,g=n[0][0],m=n[0][1],v=0;for(u=1;u<p;u++)if(c=g,h=m,g=n[u][0],m=n[u][1],f=Math.min(c,g),!(r<f||r>Math.max(c,g)||l>Math.max(h,m)))if(l<Math.min(h,m))r!==f&&v++;else{if(d=g===c?l:h+(r-c)*(m-h)/(g-c),l===d)return 1!==u||!e;l<=d&&r!==f&&v++}return v%2===1}var n=t.slice(),i=n[0][0],a=i,o=n[0][1],s=o;n.push(n[0]);for(var l=1;l<n.length;l++)i=Math.min(i,n[l][0]),a=Math.max(a,n[l][0]),o=Math.min(o,n[l][1]),s=Math.max(s,n[l][1]);var u,c=!1;return 5===n.length&&(n[0][0]===n[1][0]?n[2][0]===n[3][0]&&n[0][1]===n[3][1]&&n[1][1]===n[2][1]&&(c=!0,u=function(t){return t[0]===n[0][0]}):n[0][1]===n[1][1]&&n[2][1]===n[3][1]&&n[0][0]===n[3][0]&&n[1][0]===n[2][0]&&(c=!0,u=function(t){return t[1]===n[0][1]})),{xmin:i,xmax:a,ymin:o,ymax:s,pts:n,contains:c?e:r,isRect:c}};var a=i.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],u=[t[r][0]-l[0],t[r][1]-l[1]],c=n(u,u),h=Math.sqrt(c),f=[-u[1]/h,u[0]/h];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],s=n(o,u),s<0||s>c||Math.abs(n(o,f))>i)return!0;return!1};i.filter=function(t,e){function r(r){t.push(r);var s=n.length,l=i;n.splice(o+1);for(var u=l+1;u<t.length;u++)(u===t.length-1||a(t,l,u+1,e))&&(n.push(t[u]),n.length<s-2&&(i=u,o=n.length-1),l=u)}var n=[t[0]],i=0,o=0;if(t.length>1){var s=t.pop();r(s)}return{addPt:r,raw:t,filtered:n}}},{\"./matrix\":637}],641:[function(t,e,r){\"use strict\";function n(t,e){for(var r,n=[],a=0;a<e.length;a++)r=e[a],r===t?n[a]=r:\"object\"==typeof r?n[a]=Array.isArray(r)?i.extendDeep([],r):i.extendDeepAll({},r):n[a]=r;return n}var i=t(\"../lib\"),a=t(\"../plot_api/plot_config\"),o={};o.add=function(t,e,r,n,i){var o,s;return t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?void(t.undoQueue.inSequence||(t.autoplay=!1)):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(i)),void(t.undoQueue.queue.length>a.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--)))},o.startSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},o.stopSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},o.undo=function(t){var e,r;if(t.framework&&t.framework.isPolar)return void t.framework.undo();if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)o.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},o.redo=function(t){var e,r;if(t.framework&&t.framework.isPolar)return void t.framework.redo();if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)o.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}},o.plotDo=function(t,e,r){t.autoplay=!0,r=n(t,r),e.apply(null,r)},e.exports=o},{\"../lib\":633,\"../plot_api/plot_config\":652}],642:[function(t,e,r){\"use strict\";function n(t,e){return t<e}function i(t,e){return t<=e}function a(t,e){return t>e}function o(t,e){return t>=e}var s=t(\"fast-isnumeric\"),l=t(\"./loggers\");r.findBin=function(t,e,r){if(s(e.start))return r?Math.ceil((t-e.start)/e.size)-1:Math.floor((t-e.start)/e.size);var u,c,h=0,f=e.length,d=0;for(c=e[e.length-1]>=e[0]?r?n:i:r?o:a;h<f&&d++<100;)u=Math.floor((h+f)/2),c(e[u],t)?h=u+1:f=u;return d>90&&l.log(\"Long binary search...\"),h-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i<a&&o++<100;)n=u((i+a)/2),e[n]<=t?i=n+s:a=n-l;return e[i]}},{\"./loggers\":636,\"fast-isnumeric\":104}],643:[function(t,e,r){\"use strict\";e.exports=function(t,e){(t.attr(\"class\")||\"\").split(\" \").forEach(function(e){0===e.indexOf(\"cursor-\")&&t.classed(e,!1)}),e&&t.classed(\"cursor-\"+e,!0)}},{}],644:[function(t,e,r){\"use strict\";var n=t(\"../components/color\"),i=function(){};e.exports=function(t){for(var e in t)\"function\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\"div\");return r.textContent=\"Webgl is not supported by your browser - visit http://get.webgl.org for more info\",r.style.cursor=\"pointer\",r.style.fontSize=\"24px\",r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"http://get.webgl.org\")},!1}},{\"../components/color\":533}],645:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");r.aggNums=function(t,e,i,a){var o,s;if(a||(a=i.length),n(e)||(e=!1),Array.isArray(i[0])){for(s=new Array(a),o=0;o<a;o++)s[o]=r.aggNums(t,e,i[o]);i=s}for(o=0;o<a;o++)n(e)?n(i[o])&&(e=t(+e,+i[o])):e=i[o];return e},r.len=function(t){return r.aggNums(function(t){return t+1},0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums(function(t,e){return t+e},0,t)/e},r.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.interp=function(t,e){if(!n(e))throw\"n should be a finite number\";if(e=e*t.length-.5,e<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{\"fast-isnumeric\":104}],646:[function(t,e,r){\"use strict\";function n(t){return t=i(t),a.str2RgbaArray(t.toRgbString())}var i=t(\"tinycolor2\"),a=t(\"arraytools\");e.exports=n},{arraytools:33,tinycolor2:489}],647:[function(t,e,r){\"use strict\";function n(t,e){return t.node().getBoundingClientRect()[e]}function i(t){return t.replace(/(<|&lt;|&#60;)/g,\"\\\\lt \").replace(/(>|&gt;|&#62;)/g,\"\\\\gt \")}function a(t,e,r){var n=\"math-output-\"+f.randstr([],64),a=h.select(\"body\").append(\"div\").attr({id:n}).style({visibility:\"hidden\",position:\"absolute\"}).style({\"font-size\":e.fontSize+\"px\"}).text(i(t));MathJax.Hub.Queue([\"Typeset\",MathJax.Hub,a.node()],function(){var e=h.select(\"body\").select(\"#MathJax_SVG_glyphs\");if(a.select(\".MathJax_SVG\").empty()||!a.select(\"svg\").node())f.log(\"There was an error in the tex syntax.\",t),r();else{var n=a.select(\"svg\").node().getBoundingClientRect();r(a.select(\".MathJax_SVG\"),e,n)}a.remove()})}function o(t,e){for(var r=t||\"\",n=0;n<e.length;n++){var i=e[n];r=r.replace(i.regExp,i.sub)}return r}function s(t){return o(t,y)}function l(t){return o(t,x)}function u(t){t=s(t);for(var e=t.split(/(<[^<>]*>)/).map(function(t){var e=t.match(/<(\\/?)([^ >]*)\\s*(.*)>/i),n=e&&e[2].toLowerCase(),i=g[n];if(void 0!==i){var a=e[1],o=e[3],s=o.match(/^style\\s*=\\s*\"([^\"]+)\"\\s*/i);if(\"a\"===n){if(a)return\"</a>\";if(\"href\"!==o.substr(0,4).toLowerCase())return\"<a>\";var u=o.substr(4).replace(/[\"']/g,\"\").replace(/=/,\"\"),c=document.createElement(\"a\");return c.href=u,m.indexOf(c.protocol)===-1?\"<a>\":'<a xlink:show=\"new\" xlink:href=\"'+l(u)+'\">'}if(\"br\"===n)return\"<br>\";if(a)return\"sup\"===n?'</tspan><tspan dy=\"0.42em\">&#x200b;</tspan>':\"sub\"===n?'</tspan><tspan dy=\"-0.21em\">&#x200b;</tspan>':\"</tspan>\";var h=\"<tspan\";return\"sup\"!==n&&\"sub\"!==n||(h=\"&#x200b;\"+h),s&&(s=s[1].replace(/(^|;)\\s*color:/,\"$1 fill:\"),i=(i?i+\";\":\"\")+l(s)),h+(i?' style=\"'+i+'\"':\"\")+\">\"}return r.xml_entity_encode(t).replace(/</g,\"&lt;\")}),n=[],i=e.indexOf(\"<br>\");i>0;i=e.indexOf(\"<br>\",i+1))n.push(i);var a=0;n.forEach(function(t){for(var r=t+a,n=e.slice(0,r),i=\"\",o=n.length-1;o>=0;o--){var s=n[o].match(/<(\\/?).*>/i);if(s&&\"<br>\"!==n[o]){s[1]||(i=n[o]);break}}i&&(e.splice(r+1,0,i),e.splice(r,0,\"</tspan>\"),a+=2)});var o=e.join(\"\"),u=o.split(/<br>/gi);return u.length>1&&(e=u.map(function(t,e){return'<tspan class=\"line\" dy=\"'+1.3*e+'em\">'+t+\"</tspan>\"})),e.join(\"\")}function c(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\"top\",l=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return i=\"bottom\"===s?function(){return l.bottom-n.height}:\"middle\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\"right\"===o?function(){return l.right-n.width}:\"center\"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-u.top+\"px\",left:a()-u.left+\"px\",\"z-index\":1e3}),this}}var h=t(\"d3\"),f=t(\"../lib\"),d=t(\"../constants/xmlns_namespaces\"),p=t(\"../constants/string_mappings\");h.selection.prototype.appendSVG=function(t){for(var e=['<svg xmlns=\"',d.svg,'\" ','xmlns:xlink=\"',d.xlink,'\">',t,\"</svg>\"].join(\"\"),r=(new DOMParser).parseFromString(e,\"application/xml\"),n=r.documentElement.firstChild;n;)this.node().appendChild(this.node().ownerDocument.importNode(n,!0)),n=n.nextSibling;return r.querySelector(\"parsererror\")?(f.log(r.querySelector(\"parsererror div\").textContent),null):h.select(this.node().lastChild)},r.html_entity_decode=function(t){var e=h.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=t.replace(/(&[^;]*;)/gi,function(t){return\"&lt;\"===t?\"&#60;\":\"&rt;\"===t?\"&#62;\":e.html(t).text()});return e.remove(),r},r.xml_entity_encode=function(t){return t.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")},r.convertToTspans=function(t,e){function r(){d.empty()||(p=s.attr(\"class\")+\"-math\",d.select(\"svg.\"+p).remove()),t.text(\"\").style({visibility:\"inherit\",\"white-space\":\"pre\"}),c=t.appendSVG(o),c||t.text(i),t.select(\"a\").size()&&t.style(\"pointer-events\",\"all\"),e&&e.call(s)}var i=t.text(),o=u(i),s=t,l=!s.attr(\"data-notex\")&&o.match(/([^$]*)([$]+[^$]*[$]+)([^$]*)/),c=i,d=h.select(s.node().parentNode);if(!d.empty()){var p=s.attr(\"class\")?s.attr(\"class\").split(\" \")[0]:\"text\";p+=\"-math\",d.selectAll(\"svg.\"+p).remove(),d.selectAll(\"g.\"+p+\"-group\").remove(),t.style({visibility:null});for(var g=t.node();g&&g.removeAttribute;g=g.parentNode)g.removeAttribute(\"data-bb\");if(l){var m=f.getPlotDiv(s.node());(m&&m._promises||[]).push(new Promise(function(t){s.style({visibility:\"hidden\"});var i={fontSize:parseInt(s.style(\"font-size\"),10)};a(l[2],i,function(i,a,o){d.selectAll(\"svg.\"+p).remove(),d.selectAll(\"g.\"+p+\"-group\").remove();var l=i&&i.select(\"svg\");if(!l||!l.node())return r(),void t();var u=d.append(\"g\").classed(p+\"-group\",!0).attr({\"pointer-events\":\"none\"});u.node().appendChild(l.node()),a&&a.node()&&l.node().insertBefore(a.node().cloneNode(!0),l.node().firstChild),l.attr({class:p,height:o.height,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var c=s.style(\"fill\")||\"black\";l.select(\"g\").attr({fill:c,stroke:c});var h=n(l,\"width\"),f=n(l,\"height\"),g=+s.attr(\"x\")-h*{start:0,middle:.5,end:1}[s.attr(\"text-anchor\")||\"start\"],m=parseInt(s.style(\"font-size\"),10)||n(s,\"height\"),v=-m/4;\"y\"===p[0]?(u.attr({transform:\"rotate(\"+[-90,+s.attr(\"x\"),+s.attr(\"y\")]+\") translate(\"+[-h/2,v-f/2]+\")\"}),l.attr({x:+s.attr(\"x\"),y:+s.attr(\"y\")})):\"l\"===p[0]?l.attr({x:s.attr(\"x\"),y:v-f/2}):\"a\"===p[0]?l.attr({x:0,y:v}):l.attr({x:g,y:+s.attr(\"y\")+v-f/2}),e&&e.call(s,u),t(u)})}))}else r();return t}};var g={sup:'font-size:70%\" dy=\"-0.6em',sub:'font-size:70%\" dy=\"0.3em',b:\"font-weight:bold\",i:\"font-style:italic\",a:\"\",span:\"\",br:\"\",em:\"font-style:italic;font-weight:bold\"},m=[\"http:\",\"https:\",\"mailto:\"],v=new RegExp(\"</?(\"+Object.keys(g).join(\"|\")+\")( [^>]*)?/?>\",\"g\"),y=Object.keys(p.entityToUnicode).map(function(t){return{regExp:new RegExp(\"&\"+t+\";\",\"g\"),sub:p.entityToUnicode[t]}}),x=Object.keys(p.unicodeToEntity).map(function(t){return{regExp:new RegExp(t,\"g\"),sub:\"&\"+p.unicodeToEntity[t]+\";\"}});r.plainText=function(t){return(t||\"\").replace(v,\" \")},r.makeEditable=function(t,e,r){function n(){a(),o.style({opacity:0});var t,e=u.attr(\"class\");t=e?\".\"+e.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\",t&&h.select(o.node().parentNode).select(t).style({opacity:0})}function i(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}function a(){var t=h.select(f.getPlotDiv(o.node())),e=t.select(\".svg-container\"),n=e.append(\"div\");n.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":o.style(\"font-family\")||\"Arial\",\"font-size\":o.style(\"font-size\")||12,color:r.fill||o.style(\"fill\")||\"black\",opacity:1,\"background-color\":r.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-parseFloat(o.style(\"font-size\"))/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(r.text||o.attr(\"data-unformatted\")).call(c(o,e,r)).on(\"blur\",function(){o.text(this.textContent).style({opacity:1});var t,e=h.select(this).attr(\"class\");t=e?\".\"+e.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\",t&&h.select(o.node().parentNode).select(t).style({opacity:0});var r=this.textContent;h.select(this).transition().duration(0).remove(),h.select(document).on(\"mouseup\",null),s.edit.call(o,r)}).on(\"focus\",function(){var t=this;h.select(document).on(\"mouseup\",function(){return h.event.target!==t&&void(document.activeElement===n.node()&&n.node().blur())})}).on(\"keyup\",function(){27===h.event.which?(o.style({opacity:1}),h.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),s.cancel.call(o,this.textContent)):(s.input.call(o,this.textContent),h.select(this).call(c(o,e,r)))}).on(\"keydown\",function(){13===h.event.which&&this.blur()}).call(i)}r||(r={});var o=this,s=h.dispatch(\"edit\",\"input\",\"cancel\"),l=h.select(this.node()).style({\"pointer-events\":\"all\"}),u=e||l;return e&&l.style({\"pointer-events\":\"none\"}),r.immediate?n():u.on(\"click\",n),h.rebind(this,s,\"on\")}},{\"../constants/string_mappings\":617,\"../constants/xmlns_namespaces\":618,\"../lib\":633,d3:95}],648:[function(t,e,r){\"use strict\";var n=e.exports={},i=t(\"../plots/geo/constants\").locationmodeToLayer,a=t(\"topojson-client\").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\"../plots/geo/constants\":686,\"topojson-client\":491}],649:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Float32Array(e),n=0;n<e;n++)r[n]=t[n];return r}function i(t,e){for(var r=new Float64Array(e),n=0;n<e;n++)r[n]=t[n];return r}e.exports=function(t,e){if(t instanceof Float32Array)return n(t,e);if(t instanceof Float64Array)return i(t,e);throw new Error(\"This array type is not yet supported by `truncate`.\")}},{}],650:[function(t,e,r){\"use strict\";function n(t,e){var r=t[e],n=e.charAt(0);r&&\"paper\"!==r&&(t[e]=h.cleanId(r,n))}function i(t){var e=\"middle\",r=\"center\";return t.indexOf(\"top\")!==-1?e=\"top\":t.indexOf(\"bottom\")!==-1&&(e=\"bottom\"),t.indexOf(\"left\")!==-1?r=\"left\":t.indexOf(\"right\")!==-1&&(r=\"right\"),e+\" \"+r}function a(t,e){return e in t&&\"object\"==typeof t[e]&&0===Object.keys(t[e]).length}var o=t(\"fast-isnumeric\"),s=t(\"gl-mat4/fromQuat\"),l=t(\"../registry\"),u=t(\"../lib\"),c=t(\"../plots/plots\"),h=t(\"../plots/cartesian/axes\"),f=t(\"../components/color\");r.getGraphDiv=function(t){var e;if(\"string\"==typeof t){if(e=document.getElementById(t),null===e)throw new Error(\"No DOM element with id '\"+t+\"' exists on the page.\");return e}if(null===t||void 0===t)throw new Error(\"DOM element provided is null or undefined\");return t},r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&u.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1);var i=h.list({_fullLayout:t});for(e=0;e<i.length;e++){var o=i[e];o.anchor&&\"free\"!==o.anchor&&(o.anchor=h.cleanId(o.anchor)),o.overlaying&&(o.overlaying=h.cleanId(o.overlaying)),o.type||(o.isdate?o.type=\"date\":o.islog?o.type=\"log\":o.isdate===!1&&o.islog===!1&&(o.type=\"linear\")),\"withzero\"!==o.autorange&&\"tozero\"!==o.autorange||(o.autorange=!0,o.rangemode=\"tozero\"),delete o.islog,delete o.isdate,delete o.categories,a(o,\"domain\")&&delete o.domain,void 0!==o.autotick&&(void 0===o.tickmode&&(o.tickmode=o.autotick?\"auto\":\"linear\"),delete o.autotick)}var l=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<l;e++){var d=t.annotations[e];u.isPlainObject(d)&&(d.ref&&(\"paper\"===d.ref?(d.xref=\"paper\",d.yref=\"paper\"):\"data\"===d.ref&&(d.xref=\"x\",d.yref=\"y\"),delete d.ref),n(d,\"xref\"),n(d,\"yref\"))}var p=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<p;e++){var g=t.shapes[e];u.isPlainObject(g)&&(n(g,\"xref\"),n(g,\"yref\"))}var m=t.legend;m&&(m.x>3?(m.x=1.02,m.xanchor=\"left\"):m.x<-2&&(m.x=-.02,m.xanchor=\"right\"),m.y>3?(m.y=1.02,m.yanchor=\"bottom\"):m.y<-2&&(m.y=-.02,m.yanchor=\"top\")),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var v=c.getSubplotIds(t,\"gl3d\");for(e=0;e<v.length;e++){var y=t[v[e]],x=y.cameraposition;if(Array.isArray(x)&&4===x[0].length){var b=x[0],_=x[1],w=x[2],M=s([],b),A=[];for(r=0;r<3;++r)A[r]=_[e]+w*M[2+4*r];y.camera={eye:{x:A[0],y:A[1],z:A[2]},center:{x:_[0],y:_[1],z:_[2]},up:{x:M[1],y:M[5],z:M[9]}},delete y.cameraposition}}return f.clean(t),t},r.cleanData=function(t,e){for(var n=[],o=(t.concat(Array.isArray(e)?e:[]).filter(function(t){return\"uid\"in t}).map(function(t){return t.uid})),s=0;s<t.length;s++){var d,p=t[s];if(!(\"uid\"in p)||n.indexOf(p.uid)!==-1){var g;for(d=0;d<100&&(g=u.randstr(o),n.indexOf(g)!==-1);d++);p.uid=u.randstr(o),o.push(p.uid)}if(n.push(p.uid),\"histogramy\"===p.type&&\"xbins\"in p&&!(\"ybins\"in p)&&(p.ybins=p.xbins,delete p.xbins),p.error_y&&\"opacity\"in p.error_y){var m=f.defaults,v=p.error_y.color||(l.traceIs(p,\"bar\")?f.defaultLine:m[s%m.length]);p.error_y.color=f.addOpacity(f.rgb(v),f.opacity(v)*p.error_y.opacity),delete p.error_y.opacity}if(\"bardir\"in p&&(\"h\"!==p.bardir||!l.traceIs(p,\"bar\")&&\"histogram\"!==p.type.substr(0,9)||(p.orientation=\"h\",r.swapXYData(p)),delete p.bardir),\"histogramy\"===p.type&&r.swapXYData(p),\"histogramx\"!==p.type&&\"histogramy\"!==p.type||(p.type=\"histogram\"),\"scl\"in p&&(p.colorscale=p.scl,delete p.scl),\"reversescl\"in p&&(p.reversescale=p.reversescl,delete p.reversescl),p.xaxis&&(p.xaxis=h.cleanId(p.xaxis,\"x\")),p.yaxis&&(p.yaxis=h.cleanId(p.yaxis,\"y\")),l.traceIs(p,\"gl3d\")&&p.scene&&(p.scene=c.subplotsRegistry.gl3d.cleanId(p.scene)),l.traceIs(p,\"pie\")||(Array.isArray(p.textposition)?p.textposition=p.textposition.map(i):p.textposition&&(p.textposition=i(p.textposition))),l.traceIs(p,\"2dMap\")&&(\"YIGnBu\"===p.colorscale&&(p.colorscale=\"YlGnBu\"),\"YIOrRd\"===p.colorscale&&(p.colorscale=\"YlOrRd\")),l.traceIs(p,\"markerColorscale\")&&p.marker){var y=p.marker;\"YIGnBu\"===y.colorscale&&(y.colorscale=\"YlGnBu\"),\"YIOrRd\"===y.colorscale&&(y.colorscale=\"YlOrRd\")}if(\"surface\"===p.type&&u.isPlainObject(p.contours)){var x=[\"x\",\"y\",\"z\"];for(d=0;d<x.length;d++){var b=p.contours[x[d]];u.isPlainObject(b)&&(b.highlightColor&&(b.highlightcolor=b.highlightColor,delete b.highlightColor),b.highlightWidth&&(b.highlightwidth=b.highlightWidth,delete b.highlightWidth))}}if(Array.isArray(p.transforms)){var _=p.transforms;for(d=0;d<_.length;d++){var w=_[d];u.isPlainObject(w)&&\"filter\"===w.type&&w.filtersrc&&(w.target=w.filtersrc,delete w.filtersrc)}}a(p,\"line\")&&delete p.line,\"marker\"in p&&(a(p.marker,\"line\")&&delete p.marker.line,a(p,\"marker\")&&delete p.marker),f.clean(p)}},r.swapXYData=function(t){var e;if(u.swapAttrs(t,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);u.swapAttrs(t,[\"error_?.copy_ystyle\"]),n&&u.swapAttrs(t,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(t.hoverinfo){var i=t.hoverinfo.split(\"+\");for(e=0;e<i.length;e++)\"x\"===i[e]?i[e]=\"y\":\"y\"===i[e]&&(i[e]=\"x\");t.hoverinfo=i.join(\"+\")}},r.coerceTraceIndices=function(t,e){return o(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var n=t.obj,i=t.parts,a=i.length,s=i[a-1],l=o(s);if(l&&null===e){var c=i.slice(0,a-1).join(\".\"),h=u.nestedProperty(n,c).get();h.splice(s,1)}else l&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)}},{\"../components/color\":533,\"../lib\":633,\"../plots/cartesian/axes\":664,\"../plots/plots\":724,\"../registry\":739,\"fast-isnumeric\":104,\"gl-mat4/fromQuat\":146}],651:[function(t,e,r){\"use strict\";function n(t,e){t._fullLayout._paperdiv.style(\"background\",\"white\"),y.defaultConfig.setBackground(t,e)}function i(t,e){t._context||(t._context=x.extendFlat({},y.defaultConfig));var r=t._context;e&&(Object.keys(e).forEach(function(t){t in r&&(\"setBackground\"===t&&\"opaque\"===e[t]?r[t]=n:r[t]=e[t])}),e.plot3dPixelRatio&&!r.plotGlPixelRatio&&(r.plotGlPixelRatio=r.plot3dPixelRatio)),r.staticPlot&&(r.editable=!1,r.autosizable=!1,r.scrollZoom=!1,r.doubleClick=!1,r.showTips=!1,r.showLink=!1,r.displayModeBar=!1)}function a(t,e,r){var n=m.select(t).selectAll(\".plot-container\").data([0]);n.enter().insert(\"div\",\":first-child\").classed(\"plot-container plotly\",!0);var i=n.selectAll(\".svg-container\").data([0]);i.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),i.html(\"\"),e&&(t.data=e),r&&(t.layout=r),k.manager.fillLayout(t),i.style({width:t._fullLayout.width+\"px\",height:t._fullLayout.height+\"px\"}),t.framework=k.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var a=t.framework.svg(),o=1,s=t._fullLayout.title;\"\"!==s&&s||(o=0);var l=\"Click to enter title\",u=function(){this.call(L.convertToTspans)},c=a.select(\".title-group text\").call(u);if(t._context.editable){c.attr({\"data-unformatted\":s}),s&&s!==l||(o=.2,c.attr({\"data-unformatted\":l}).text(l).style({opacity:o}).on(\"mouseover.opacity\",function(){m.select(this).transition().duration(100).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){m.select(this).transition().duration(1e3).style(\"opacity\",0)}));var h=function(){this.call(L.makeEditable).on(\"edit\",function(e){t.framework({layout:{title:e}}),this.attr({\"data-unformatted\":e}).text(e).call(u),this.call(h)}).on(\"cancel\",function(){var t=this.attr(\"data-unformatted\");this.text(t).call(u)})};c.call(h)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),M.addLinks(t),Promise.resolve()}function o(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)n=t[r],n<0?a.push(i+n):a.push(n);return a}function s(t,e,r){var n,i;for(n=0;n<e.length;n++){if(i=e[n],i!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function l(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(\"undefined\"==typeof e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),s(t,e,\"currentIndices\"),\"undefined\"==typeof r||Array.isArray(r)||(r=[r]),\"undefined\"!=typeof r&&s(t,r,\"newIndices\"),\"undefined\"!=typeof r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function u(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(\"undefined\"==typeof e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(i=e[n],\"object\"!=typeof i||Array.isArray(i)||null===i)throw new Error(\"all values in traces array must be non-array objects\");if(\"undefined\"==typeof r||Array.isArray(r)||(r=[r]),\"undefined\"!=typeof r&&r.length!==e.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}function c(t,e,r,n){var i=x.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!x.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(\"undefined\"==typeof r)throw new Error(\"indices must be an integer or array of integers\");s(t,r,\"indices\");for(var a in e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}function h(t,e,r,n){var i,a,s,l,u,c=x.isPlainObject(n),h=[];Array.isArray(r)||(r=[r]),r=o(r,t.data.length-1);for(var f in e)for(var d=0;d<r.length;d++){if(i=t.data[r[d]],s=x.nestedProperty(i,f),a=s.get(),l=e[f][d],!Array.isArray(l))throw new Error(\"attribute: \"+f+\" index: \"+d+\" must be an array\");if(!Array.isArray(a))throw new Error(\"cannot extend missing or non-array attribute: \"+f);u=c?n[f][d]:n,v(u)||(u=-1),h.push({prop:s,target:a,insert:l,maxp:Math.floor(u)})}return h}function f(t,e,r,n,i,a){c(t,e,r,n);for(var o,s,l,u=h(t,e,r,n),f=[],d={},p={},g=0;g<u.length;g++)s=u[g].prop,l=u[g].maxp,o=i(u[g].target,u[g].insert),l>=0&&l<o.length&&(f=a(o,l)),l=u[g].target.length,s.set(o),Array.isArray(d[s.astr])||(d[s.astr]=[]),Array.isArray(p[s.astr])||(p[s.astr]=[]),d[s.astr].push(f),p[s.astr].push(l);return{update:d,maxPoints:p}}function d(t,e,r){function n(){return d.map(function(){})}function i(t){var e=y.Axes.id2name(t);u.indexOf(e)===-1&&u.push(e)}function a(t){return\"LAYOUT\"+t+\".autorange\"}function o(t){return\"LAYOUT\"+t+\".range\"}function s(r,i,a){if(Array.isArray(r))return void r.forEach(function(t){\ns(t,i,a)});if(!(r in e)){var o;o=\"LAYOUT\"===r.substr(0,6)?x.nestedProperty(t.layout,r.replace(\"LAYOUT\",\"\")):x.nestedProperty(f[d[a]],r),r in m||(m[r]=n()),void 0===m[r][a]&&(m[r][a]=o.get()),void 0!==i&&o.set(i)}}var l,u,c=t._fullLayout,h=t._fullData,f=t.data,d=z.coerceTraceIndices(t,r),p={docalc:!1,docalcAutorange:!1,doplot:!1,dostyle:!1,docolorbars:!1,autorangeOn:!1,clearCalc:!1,fullReplot:!1},g={},m={},v={},b=[\"mode\",\"visible\",\"type\",\"orientation\",\"fill\",\"histfunc\",\"histnorm\",\"text\",\"x\",\"y\",\"z\",\"a\",\"b\",\"c\",\"open\",\"high\",\"low\",\"close\",\"base\",\"width\",\"offset\",\"xtype\",\"x0\",\"dx\",\"ytype\",\"y0\",\"dy\",\"xaxis\",\"yaxis\",\"line.width\",\"connectgaps\",\"transpose\",\"zsmooth\",\"showscale\",\"marker.showscale\",\"zauto\",\"marker.cauto\",\"autocolorscale\",\"marker.autocolorscale\",\"colorscale\",\"marker.colorscale\",\"reversescale\",\"marker.reversescale\",\"autobinx\",\"nbinsx\",\"xbins\",\"xbins.start\",\"xbins.end\",\"xbins.size\",\"autobiny\",\"nbinsy\",\"ybins\",\"ybins.start\",\"ybins.end\",\"ybins.size\",\"autocontour\",\"ncontours\",\"contours\",\"contours.coloring\",\"error_y\",\"error_y.visible\",\"error_y.value\",\"error_y.type\",\"error_y.traceref\",\"error_y.array\",\"error_y.symmetric\",\"error_y.arrayminus\",\"error_y.valueminus\",\"error_y.tracerefminus\",\"error_x\",\"error_x.visible\",\"error_x.value\",\"error_x.type\",\"error_x.traceref\",\"error_x.array\",\"error_x.symmetric\",\"error_x.arrayminus\",\"error_x.valueminus\",\"error_x.tracerefminus\",\"swapxy\",\"swapxyaxes\",\"orientationaxes\",\"marker.colors\",\"values\",\"labels\",\"label0\",\"dlabel\",\"sort\",\"textinfo\",\"textposition\",\"textfont.size\",\"textfont.family\",\"textfont.color\",\"insidetextfont.size\",\"insidetextfont.family\",\"insidetextfont.color\",\"outsidetextfont.size\",\"outsidetextfont.family\",\"outsidetextfont.color\",\"hole\",\"scalegroup\",\"domain\",\"domain.x\",\"domain.y\",\"domain.x[0]\",\"domain.x[1]\",\"domain.y[0]\",\"domain.y[1]\",\"tilt\",\"tiltaxis\",\"depth\",\"direction\",\"rotation\",\"pull\",\"line.showscale\",\"line.cauto\",\"line.autocolorscale\",\"line.reversescale\",\"marker.line.showscale\",\"marker.line.cauto\",\"marker.line.autocolorscale\",\"marker.line.reversescale\"];for(l=0;l<d.length;l++)if(w.traceIs(h[d[l]],\"box\")){b.push(\"name\");break}var _=[\"marker\",\"marker.size\",\"textfont\",\"boxpoints\",\"jitter\",\"pointpos\",\"whiskerwidth\",\"boxmean\",\"tickwidth\"],A=[\"zmin\",\"zmax\",\"zauto\",\"xgap\",\"ygap\",\"marker.cmin\",\"marker.cmax\",\"marker.cauto\",\"line.cmin\",\"line.cmax\",\"marker.line.cmin\",\"marker.line.cmax\",\"contours.start\",\"contours.end\",\"contours.size\",\"contours.showlines\",\"line\",\"line.smoothing\",\"line.shape\",\"error_y.width\",\"error_x.width\",\"error_x.copy_ystyle\",\"marker.maxdisplayed\"],k=[\"type\",\"x\",\"y\",\"x0\",\"y0\",\"orientation\",\"xaxis\",\"yaxis\"],T=[\"zmin\",\"zmax\"],E=[\"xbins.start\",\"xbins.end\",\"xbins.size\"],S=[\"ybins.start\",\"ybins.end\",\"ybins.size\"],L=[\"contours.start\",\"contours.end\",\"contours.size\"],C=[\"cartesian\",\"pie\",\"ternary\"];c._basePlotModules.forEach(function(t){C.indexOf(t.name)===-1&&(p.docalc=!0)});for(var I in e){var P,D,O,R,F,j=e[I];if(g[I]=j,\"LAYOUT\"!==I.substr(0,6)){for(m[I]=n(),l=0;l<d.length;l++)if(P=f[d[l]],D=h[d[l]],O=x.nestedProperty(P,I),R=O.get(),F=Array.isArray(j)?j[l%j.length]:j,void 0!==F){if(T.indexOf(I)!==-1)s(\"zauto\",!1,l);else if(\"colorscale\"===I)s(\"autocolorscale\",!1,l);else if(\"autocolorscale\"===I)s(\"colorscale\",void 0,l);else if(\"marker.colorscale\"===I)s(\"marker.autocolorscale\",!1,l);else if(\"marker.autocolorscale\"===I)s(\"marker.colorscale\",void 0,l);else if(\"zauto\"===I)s(T,void 0,l);else if(E.indexOf(I)!==-1)s(\"autobinx\",!1,l);else if(\"autobinx\"===I)s(E,void 0,l);else if(S.indexOf(I)!==-1)s(\"autobiny\",!1,l);else if(\"autobiny\"===I)s(S,void 0,l);else if(L.indexOf(I)!==-1)s(\"autocontour\",!1,l);else if(\"autocontour\"===I)s(L,void 0,l);else if([\"x0\",\"dx\"].indexOf(I)!==-1&&D.x&&\"scaled\"!==D.xtype)s(\"xtype\",\"scaled\",l);else if([\"y0\",\"dy\"].indexOf(I)!==-1&&D.y&&\"scaled\"!==D.ytype)s(\"ytype\",\"scaled\",l);else if(\"colorbar.thicknessmode\"===I&&O.get()!==F&&[\"fraction\",\"pixels\"].indexOf(F)!==-1&&D.colorbar){var N=[\"top\",\"bottom\"].indexOf(D.colorbar.orient)!==-1?c.height-c.margin.t-c.margin.b:c.width-c.margin.l-c.margin.r;s(\"colorbar.thickness\",D.colorbar.thickness*(\"fraction\"===F?1/N:N),l)}else if(\"colorbar.lenmode\"===I&&O.get()!==F&&[\"fraction\",\"pixels\"].indexOf(F)!==-1&&D.colorbar){var B=[\"top\",\"bottom\"].indexOf(D.colorbar.orient)!==-1?c.width-c.margin.l-c.margin.r:c.height-c.margin.t-c.margin.b;s(\"colorbar.len\",D.colorbar.len*(\"fraction\"===F?1/B:B),l)}else\"colorbar.tick0\"===I||\"colorbar.dtick\"===I?s(\"colorbar.tickmode\",\"linear\",l):\"colorbar.tickmode\"===I&&s([\"colorbar.tick0\",\"colorbar.dtick\"],void 0,l);if(\"type\"===I&&\"pie\"===F!=(\"pie\"===R)){var U=\"x\",V=\"y\";\"bar\"!==F&&\"bar\"!==R||\"h\"!==P.orientation||(U=\"y\",V=\"x\"),x.swapAttrs(P,[\"?\",\"?src\"],\"labels\",U),x.swapAttrs(P,[\"d?\",\"?0\"],\"label\",U),x.swapAttrs(P,[\"?\",\"?src\"],\"values\",V),\"pie\"===R?(x.nestedProperty(P,\"marker.color\").set(x.nestedProperty(P,\"marker.colors\").get()),c._pielayer.selectAll(\"g.trace\").remove()):w.traceIs(P,\"cartesian\")&&(x.nestedProperty(P,\"marker.colors\").set(x.nestedProperty(P,\"marker.color\").get()),v[P.xaxis||\"x\"]=!0,v[P.yaxis||\"y\"]=!0)}m[I][l]=R;var q=[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"];if(q.indexOf(I)!==-1){if(\"orientation\"===I){if(O.set(F),O.get()===m[I][l])continue}else\"orientationaxes\"===I&&(P.orientation={v:\"h\",h:\"v\"}[D.orientation]);z.swapXYData(P)}else M.dataArrayContainers.indexOf(O.parts[0])!==-1?(z.manageArrayContainers(O,F,m),p.docalc=!0):O.set(F)}if([\"swapxyaxes\",\"orientationaxes\"].indexOf(I)!==-1&&y.Axes.swap(t,d),\"orientationaxes\"===I){var H=x.nestedProperty(t.layout,\"hovermode\");\"x\"===H.get()?H.set(\"y\"):\"y\"===H.get()&&H.set(\"x\")}if(d.indexOf(0)!==-1&&k.indexOf(I)!==-1&&(y.Axes.clearTypes(t,d),p.docalc=!0),[\"autobinx\",\"autobiny\",\"zauto\"].indexOf(I)!==-1&&F===!1||(p.dostyle=!0),([\"colorbar\",\"line\"].indexOf(O.parts[0])!==-1||\"marker\"===O.parts[0]&&\"colorbar\"===O.parts[1])&&(p.docolorbars=!0),b.indexOf(I)!==-1){if([\"orientation\",\"type\"].indexOf(I)!==-1){for(u=[],l=0;l<d.length;l++){var G=f[d[l]];w.traceIs(G,\"cartesian\")&&(i(G.xaxis||\"x\"),i(G.yaxis||\"y\"),\"type\"===I&&s([\"autobinx\",\"autobiny\"],!0,l))}s(u.map(a),!0,0),s(u.map(o),[0,1],0)}p.docalc=!0}else A.indexOf(I)!==-1?p.doplot=!0:_.indexOf(I)!==-1&&(p.docalcAutorange=!0)}else O=x.nestedProperty(t.layout,I.replace(\"LAYOUT\",\"\")),m[I]=[O.get()],O.set(Array.isArray(j)?j[0]:j),p.docalc=!0}y.Axes.list(t).forEach(function(t){t.autorange&&(p.autorangeOn=!0)});var X=Object.keys(v);t:for(l=0;l<X.length;l++){for(var Y=X[l],W=Y.charAt(0),Z=W+\"axis\",Q=0;Q<f.length;Q++)if(w.traceIs(f[Q],\"cartesian\")&&(f[Q][Z]||W)===Y)continue t;s(\"LAYOUT\"+y.Axes.id2name(Y),null,0)}return(p.docalc||p.docalcAutorange&&p.autorangeOn)&&(p.clearCalc=!0),(p.docalc||p.doplot||p.docalcAutorange)&&(p.fullReplot=!0),{flags:p,undoit:m,redoit:g,traces:d,eventData:x.extendDeepNoArrays([],[g,d])}}function p(t,e){function r(t,n){if(Array.isArray(t))return void t.forEach(function(t){r(t,n)});if(!(t in e)){var i=x.nestedProperty(a,t);t in g||(g[t]=i.get()),void 0!==n&&i.set(n)}}function n(t,e){var r=y.Axes.id2name(t[e+\"ref\"]||e);return(o[r]||{}).autorange}var i,a=t.layout,o=t._fullLayout,s=Object.keys(e),l=y.Axes.list(t);for(i=0;i<s.length;i++)if(0===s[i].indexOf(\"allaxes\")){for(var u=0;u<l.length;u++){var c=l[u]._id.substr(1),h=c.indexOf(\"scene\")!==-1?c+\".\":\"\",f=s[i].replace(\"allaxes\",h+l[u]._name);e[f]||(e[f]=e[s[i]])}delete e[s[i]]}var d={dolegend:!1,doticks:!1,dolayoutstyle:!1,doplot:!1,docalc:!1,domodebar:!1,layoutReplot:!1},p={},g={};for(var m in e){var v=x.nestedProperty(a,m),b=e[m],_=v.parts.length,A=\"string\"==typeof v.parts[_-1]?_-1:_-2,k=v.parts[A],T=v.parts[A-1]+\".\"+k,E=v.parts.slice(0,A).join(\".\"),S=x.nestedProperty(t.layout,E).get(),L=x.nestedProperty(o,E).get();if(void 0!==b){if(p[m]=b,g[m]=\"reverse\"===k?b:v.get(),[\"width\",\"height\"].indexOf(m)!==-1&&null===b?t._fullLayout[m]=t._initialAutoSize[m]:T.match(/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/)?r(E+\".autorange\",!1):T.match(/^[xyz]axis[0-9]*\\.autorange$/)?r([E+\".range[0]\",E+\".range[1]\"],void 0):T.match(/^aspectratio\\.[xyz]$/)?r(v.parts[0]+\".aspectmode\",\"manual\"):T.match(/^aspectmode$/)?r([E+\".x\",E+\".y\",E+\".z\"],void 0):\"tick0\"===k||\"dtick\"===k?r(E+\".tickmode\",\"linear\"):\"tickmode\"===k?r([E+\".tick0\",E+\".dtick\"],void 0):/[xy]axis[0-9]*?$/.test(k)&&!Object.keys(b||{}).length?d.docalc=!0:/[xy]axis[0-9]*\\.categoryorder$/.test(T)?d.docalc=!0:/[xy]axis[0-9]*\\.categoryarray/.test(T)&&(d.docalc=!0),T.indexOf(\"rangeslider\")!==-1&&(d.docalc=!0),\"type\"===k&&\"log\"===L.type!=(\"log\"===b)){var C=S;if(C&&C.range)if(L.autorange)\"log\"===b&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var I=C.range[0],P=C.range[1];\"log\"===b?(I<=0&&P<=0&&r(E+\".autorange\",!0),I<=0?I=P/1e6:P<=0&&(P=I/1e6),r(E+\".range[0]\",Math.log(I)/Math.LN10),r(E+\".range[1]\",Math.log(P)/Math.LN10)):(r(E+\".range[0]\",Math.pow(10,I)),r(E+\".range[1]\",Math.pow(10,P)))}else r(E+\".autorange\",!0)}if(\"reverse\"===k)S.range?S.range.reverse():(r(E+\".autorange\",!0),S.range=[1,0]),L.autorange?d.docalc=!0:d.doplot=!0;else if(\"annotations\"===v.parts[0]||\"shapes\"===v.parts[0]){var D=v.parts[1],O=v.parts[0],R=a[O]||[],F=R[D]||{};2===v.parts.length&&(null===b&&(e[m]=\"remove\"),\"add\"===e[m]||x.isPlainObject(e[m])?g[m]=\"remove\":\"remove\"===e[m]?D===-1?(g[O]=R,delete g[m]):g[m]=F:x.log(\"???\",e)),!n(F,\"x\")&&!n(F,\"y\")||x.containsAny(m,[\"color\",\"opacity\",\"align\",\"dash\"])||(d.docalc=!0);var j=w.getComponentMethod(O,\"drawOne\");j(t,D,v.parts.slice(2).join(\".\"),e[m]),delete e[m]}else if(M.layoutArrayContainers.indexOf(v.parts[0])!==-1||\"mapbox\"===v.parts[0]&&\"layers\"===v.parts[1])z.manageArrayContainers(v,b,g),d.doplot=!0;else{var N=String(v.parts[1]||\"\");0===v.parts[0].indexOf(\"scene\")?d.doplot=!0:0===v.parts[0].indexOf(\"geo\")?d.doplot=!0:0===v.parts[0].indexOf(\"ternary\")?d.doplot=!0:\"paper_bgcolor\"===m?d.doplot=!0:!o._has(\"gl2d\")||m.indexOf(\"axis\")===-1&&\"plot_bgcolor\"!==v.parts[0]?\"hiddenlabels\"===m?d.docalc=!0:v.parts[0].indexOf(\"legend\")!==-1?d.dolegend=!0:m.indexOf(\"title\")!==-1?d.doticks=!0:v.parts[0].indexOf(\"bgcolor\")!==-1?d.dolayoutstyle=!0:v.parts.length>1&&x.containsAny(N,[\"tick\",\"exponent\",\"grid\",\"zeroline\"])?d.doticks=!0:m.indexOf(\".linewidth\")!==-1&&m.indexOf(\"axis\")!==-1?d.doticks=d.dolayoutstyle=!0:v.parts.length>1&&N.indexOf(\"line\")!==-1?d.dolayoutstyle=!0:v.parts.length>1&&\"mirror\"===N?d.doticks=d.dolayoutstyle=!0:\"margin.pad\"===m?d.doticks=d.dolayoutstyle=!0:\"margin\"===v.parts[0]||\"autorange\"===v.parts[1]||\"rangemode\"===v.parts[1]||\"type\"===v.parts[1]||\"domain\"===v.parts[1]||m.match(/^(bar|box|font)/)?d.docalc=!0:[\"hovermode\",\"dragmode\"].indexOf(m)!==-1?d.domodebar=!0:[\"hovermode\",\"dragmode\",\"height\",\"width\",\"autosize\"].indexOf(m)===-1&&(d.doplot=!0):d.doplot=!0,v.set(b)}}}var B=t._fullLayout.width,U=t._fullLayout.height;M.supplyDefaults(t),t.layout.autosize&&M.plotAutoSize(t,t.layout,t._fullLayout);var V=e.height||e.width||t._fullLayout.width!==B||t._fullLayout.height!==U;return V&&(d.docalc=!0),(d.doplot||d.docalc)&&(d.layoutReplot=!0),{flags:d,undoit:g,redoit:p,eventData:x.extendDeep({},p)}}function g(t){var e=m.select(t),r=t._fullLayout;if(r._container=e.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([0]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._geocontainer=r._paperdiv.selectAll(\".geo-container\").data([0]),r._geocontainer.enter().append(\"div\").classed(\"geo-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var n=[];m.selectAll(\"defs\").each(function(){this.id&&n.push(this.id.split(\"-\")[1])}),r._uid=x.randstr(n)}r._paperdiv.selectAll(\".main-svg\").attr(S.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0);var a=r._paper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0),r._geoimages=r._paper.append(\"g\").classed(\"geoimages\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._toppaper.append(\"g\").classed(\"hoverlayer\",!0),t.emit(\"plotly_framework\")}var m=t(\"d3\"),v=t(\"fast-isnumeric\"),y=t(\"../plotly\"),x=t(\"../lib\"),b=t(\"../lib/events\"),_=t(\"../lib/queue\"),w=t(\"../registry\"),M=t(\"../plots/plots\"),A=t(\"../plots/cartesian/graph_interact\"),k=t(\"../plots/polar\"),T=t(\"../components/drawing\"),E=t(\"../components/errorbars\"),S=t(\"../constants/xmlns_namespaces\"),L=t(\"../lib/svg_text_utils\"),z=t(\"./helpers\"),C=t(\"./subroutines\");y.plot=function(t,e,r,n){function o(){if(_)return y.addFrames(t,_)}function s(){for(var e=I._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return x.syncOrAsync([C.layoutStyles,f,A.init],t)}function l(){var e,r,n,i=t.calcdata;for(w.getComponentMethod(\"legend\",\"draw\")(t),w.getComponentMethod(\"rangeselector\",\"draw\")(t),w.getComponentMethod(\"updatemenus\",\"draw\")(t),w.getComponentMethod(\"sliders\",\"draw\")(t),e=0;e<i.length;e++)r=i[e],n=r[0].trace,n.visible===!0&&n._module.colorbar?n._module.colorbar(t,r):M.autoMargin(t,\"cb\"+n.uid);return M.doAutoMargin(t),M.previousPromises(t)}function u(){var e=JSON.stringify(I._size)===O?[]:[l,C.layoutStyles];return e=e.concat(A.init),x.syncOrAsync(e,t)}function c(){if(P){for(var e,r,n=M.getSubplotIds(I,\"cartesian\"),i=I._modules,a=0;a<n.length;a++){e=I._plots[n[a]];for(var o=0;o<i.length;o++)r=i[o],r.setPositions&&r.setPositions(t,e)}return E.calc(t),x.syncOrAsync([w.getComponentMethod(\"shapes\",\"calcAutorange\"),w.getComponentMethod(\"annotations\",\"calcAutorange\"),h],t)}}function h(){if(!t._transitioning)for(var e=y.Axes.list(t,\"\",!0),r=0;r<e.length;r++)y.Axes.doAutoRange(e[r])}function f(){return y.Axes.doTicks(t,\"redraw\")}function d(){var e,r=t.calcdata;for(e=0;e<r.length;e++){var n=r[e][0].trace,i=n.visible===!0,a=n.uid;i&&w.traceIs(n,\"2dMap\")||I._paper.selectAll(\".hm\"+a+\",.contour\"+a+\",#clip\"+a).remove(),i&&n._module.colorbar||I._infolayer.selectAll(\".cb\"+a).remove()}var o=I._basePlotModules;for(e=0;e<o.length;e++)o[e].plot(t);var s=I._paper.selectAll(\".layer-subplot\");return I._imageSubplotLayer=s.selectAll(\".imagelayer\"),I._shapeSubplotLayer=s.selectAll(\".shapelayer\"),M.style(t),w.getComponentMethod(\"shapes\",\"draw\")(t),w.getComponentMethod(\"annoations\",\"draw\")(t),M.addLinks(t),t._replotting=!1,M.previousPromises(t)}function p(){w.getComponentMethod(\"shapes\",\"draw\")(t),w.getComponentMethod(\"images\",\"draw\")(t),w.getComponentMethod(\"annotations\",\"draw\")(t),w.getComponentMethod(\"legend\",\"draw\")(t),w.getComponentMethod(\"rangeslider\",\"draw\")(t),w.getComponentMethod(\"rangeselector\",\"draw\")(t),w.getComponentMethod(\"updatemenus\",\"draw\")(t),w.getComponentMethod(\"sliders\",\"draw\")(t)}function v(){t.emit(\"plotly_afterplot\")}var _;if(t=z.getGraphDiv(t),b.init(t),x.isPlainObject(e)){var k=e;e=k.data,r=k.layout,n=k.config,_=k.frames}var S=b.triggerHandler(t,\"plotly_beforeplot\",[e,r,n]);if(S===!1)return Promise.reject();e||r||x.isPlotDiv(t)||x.warn(\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\",t),i(t,n),r||(r={}),m.select(t).classed(\"js-plotly-plot\",!0),T.makeTester(t),t._promises=[];var L=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(z.cleanData(e,t.data),L?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!L||(t.layout=z.cleanLayout(r)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();if(t._replotPending=!1,M.supplyDefaults(t),e&&e[0]&&e[0].r)return a(t,e,r);t._replotting=!0,L&&g(t),t.framework!==g&&(t.framework=g,g(t)),L&&y.Axes.saveRangeInitial(t);var I=t._fullLayout,P=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;P&&M.doCalcdata(t);for(var D=0;D<t.calcdata.length;D++)t.calcdata[D][0].trace=t._fullData[D];var O=JSON.stringify(I._size);return x.syncOrAsync([M.previousPromises,o,s,l,u,c,C.layoutStyles,f,d,p],t,v),Promise.all(t._promises).then(function(){return t})},y.redraw=function(t){if(t=z.getGraphDiv(t),!x.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);return z.cleanData(t.data,t.data),z.cleanLayout(t.layout),t.calcdata=void 0,y.plot(t).then(function(){return t.emit(\"plotly_redraw\"),t})},y.newPlot=function(t,e,r,n){return t=z.getGraphDiv(t),M.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),M.purge(t),y.plot(t,e,r,n)},y.extendTraces=function t(e,r,n,i){e=z.getGraphDiv(e);var a=f(e,r,n,i,function(t,e){return t.concat(e)},function(t,e){return t.splice(0,t.length-e)}),o=y.redraw(e),s=[e,a.update,n,a.maxPoints];return _.add(e,y.prependTraces,s,t,arguments),o},y.prependTraces=function t(e,r,n,i){e=z.getGraphDiv(e);var a=f(e,r,n,i,function(t,e){return e.concat(t)},function(t,e){return t.splice(e,t.length)}),o=y.redraw(e),s=[e,a.update,n,a.maxPoints];return _.add(e,y.extendTraces,s,t,arguments),o},y.addTraces=function t(e,r,n){e=z.getGraphDiv(e);var i,a,o=[],s=y.deleteTraces,c=t,h=[e,o],f=[e,r];for(u(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return x.extendFlat({},t)}),z.cleanData(r,e.data),i=0;i<r.length;i++)e.data.push(r[i]);for(i=0;i<r.length;i++)o.push(-r.length+i);if(\"undefined\"==typeof n)return a=y.redraw(e),_.add(e,s,h,c,f),a;Array.isArray(n)||(n=[n]);try{l(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return _.startSequence(e),_.add(e,s,h,c,f),a=y.moveTraces(e,o,n),_.stopSequence(e),a},y.deleteTraces=function t(e,r){e=z.getGraphDiv(e);var n,i,a=[],l=y.addTraces,u=t,c=[e,a,r],h=[e,r];if(\"undefined\"==typeof r)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(r)||(r=[r]),s(e,r,\"indices\"),r=o(r,e.data.length-1),r.sort(x.sorterDes),n=0;n<r.length;n+=1)i=e.data.splice(r[n],1)[0],a.push(i);var f=y.redraw(e);return _.add(e,l,c,u,h),f},y.moveTraces=function t(e,r,n){e=z.getGraphDiv(e);var i,a=[],s=[],u=t,c=t,h=[e,n,r],f=[e,r,n];if(l(e,r,n),r=Array.isArray(r)?r:[r],\"undefined\"==typeof n)for(n=[],i=0;i<r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=o(r,e.data.length-1),n=o(n,e.data.length-1),i=0;i<e.data.length;i++)r.indexOf(i)===-1&&a.push(e.data[i]);for(i=0;i<r.length;i++)s.push({newIndex:n[i],trace:e.data[r[i]]});for(s.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<s.length;i+=1)a.splice(s[i].newIndex,0,s[i].trace);e.data=a;var d=y.redraw(e);return _.add(e,u,h,c,f),d},y.restyle=function t(e,r,n,i){e=z.getGraphDiv(e),z.clearPromiseQueue(e);var a={};if(\"string\"==typeof r)a[r]=n;else{if(!x.isPlainObject(r))return x.warn(\"Restyle fail.\",r,n,i),Promise.reject();a=r,void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var o=d(e,a,i),s=o.flags;s.clearCalc&&(e.calcdata=void 0);var l=[];s.fullReplot?l.push(y.plot):(l.push(M.previousPromises),M.supplyDefaults(e),s.dostyle&&l.push(C.doTraceStyle),s.docolorbars&&l.push(C.doColorBars)),_.add(e,t,[e,o.undoit,o.traces],t,[e,o.redoit,o.traces]);var u=x.syncOrAsync(l,e);return u&&u.then||(u=Promise.resolve()),u.then(function(){return e.emit(\"plotly_restyle\",o.eventData),e})},y.relayout=function t(e,r,n){if(e=z.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\"string\"==typeof r)i[r]=n;else{if(!x.isPlainObject(r))return x.warn(\"Relayout fail.\",r,n),Promise.reject();i=r}Object.keys(i).length&&(e.changed=!0);var a=p(e,i),o=a.flags;o.docalc&&(e.calcdata=void 0);var s=[];o.layoutReplot?s.push(C.layoutReplot):Object.keys(i).length&&(s.push(M.previousPromises),M.supplyDefaults(e),o.dolegend&&s.push(C.doLegend),o.dolayoutstyle&&s.push(C.layoutStyles),o.doticks&&s.push(C.doTicksRelayout),o.domodebar&&s.push(C.doModeBar)),_.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=x.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(\"plotly_relayout\",a.eventData),e})},y.update=function t(e,r,n,i){if(e=z.getGraphDiv(e),z.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);x.isPlainObject(r)||(r={}),x.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=d(e,r,i),o=a.flags,s=p(e,n),l=s.flags;(o.clearCalc||l.docalc)&&(e.calcdata=void 0);var u=[];if(o.fullReplot&&l.layoutReplot){var c=e.data,h=e.layout;e.data=void 0,e.layout=void 0,u.push(function(){return y.plot(e,c,h)})}else o.fullReplot?u.push(y.plot):l.layoutReplot?u.push(C.layoutReplot):(u.push(M.previousPromises),M.supplyDefaults(e),o.dostyle&&u.push(C.doTraceStyle),o.docolorbars&&u.push(C.doColorBars),l.dolegend&&u.push(C.doLegend),l.dolayoutstyle&&u.push(C.layoutStyles),l.doticks&&u.push(C.doTicksRelayout),l.domodebar&&u.push(C.doModeBar));_.add(e,t,[e,a.undoit,s.undoit,a.traces],t,[e,a.redoit,s.redoit,a.traces]);var f=x.syncOrAsync(u,e);return f&&f.then||(f=Promise.resolve(e)),f.then(function(){return e.emit(\"plotly_update\",{data:a.eventData,layout:s.eventData}),e})},y.animate=function(t,e,r){function n(t){return Array.isArray(s)?t>=s.length?s[0]:s[t]:s}function i(t){return Array.isArray(l)?t>=l.length?l[0]:l[t]:l}function a(t,e){var r=0;return function(){if(t&&++r===e)return t()}}if(t=z.getGraphDiv(t),!x.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/\");var o=t._transitionData;o._frameQueue||(o._frameQueue=[]),r=M.supplyAnimationDefaults(r);var s=r.transition,l=r.frame;return void 0===o._frameWaitingCnt&&(o._frameWaitingCnt=0),new Promise(function(l,u){function c(){if(0!==o._frameQueue.length){for(;o._frameQueue.length;){var e=o._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\"plotly_animationinterrupted\",[])}}function h(e){if(0!==e.length){for(var s=0;s<e.length;s++){var c;c=\"byname\"===e[s].type?M.computeFrame(t,e[s].name):e[s].data;var h=i(s),f=n(s);f.duration=Math.min(f.duration,h.duration);var d={frame:c,name:e[s].name,frameOpts:h,transitionOpts:f};s===e.length-1&&(d.onComplete=a(l,2),d.onInterrupt=u),o._frameQueue.push(d)}\"immediate\"===r.mode&&(o._lastFrameAt=-(1/0)),o._animationRaf||p()}}function f(){t.emit(\"plotly_animated\"),window.cancelAnimationFrame(o._animationRaf),o._animationRaf=null}function d(){o._currentFrame&&o._currentFrame.onComplete&&o._currentFrame.onComplete();var e=o._currentFrame=o._frameQueue.shift();e?(t._fullLayout._currentFrame=e.name,o._lastFrameAt=Date.now(),o._timeToNext=e.frameOpts.duration,M.transition(t,e.frame.data,e.frame.layout,z.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit(\"plotly_animatingframe\",{name:e.name,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})):f()}function p(){t.emit(\"plotly_animating\"),o._lastFrameAt=-(1/0),o._timeToNext=0,o._runningTransitions=0,o._currentFrame=null;var e=function(){o._animationRaf=window.requestAnimationFrame(e),Date.now()-o._lastFrameAt>o._timeToNext&&d()};e()}function g(t){return Array.isArray(s)?y>=s.length?t.transitionOpts=s[y]:t.transitionOpts=s[0]:t.transitionOpts=s,y++,t}var m,v,y=0,b=[],_=void 0===e||null===e,w=Array.isArray(e),A=!_&&!w&&x.isPlainObject(e);if(A)b.push({type:\"object\",data:g(x.extendFlat({},e))});else if(_||\"string\"==typeof e)for(m=0;m<o._frames.length;m++)v=o._frames[m],v&&(_||v.group===e)&&b.push({type:\"byname\",name:v.name,data:g({name:v.name})});else if(w)for(m=0;m<e.length;m++){var k=e[m];[\"number\",\"string\"].indexOf(typeof k)!==-1?(k=String(k),b.push({type:\"byname\",name:k,data:g({name:k})})):x.isPlainObject(k)&&b.push({type:\"object\",data:g(x.extendFlat({},k))})}for(m=0;m<b.length;m++)if(v=b[m],\"byname\"===v.type&&!o._frameHash[v.data.name])return x.warn('animate failure: frame not found: \"'+v.data.name+'\"'),void u();[\"next\",\"immediate\"].indexOf(r.mode)!==-1&&c(),\"reverse\"===r.direction&&b.reverse();var T=t._fullLayout._currentFrame;if(T&&r.fromcurrent){var E=-1;for(m=0;m<b.length;m++)if(v=b[m],\"byname\"===v.type&&v.name===T){E=m;break}if(E>0&&E<b.length-1){var S=[];for(m=0;m<b.length;m++)v=b[m],(\"byname\"!==b[m].type||m>E)&&S.push(v);b=S}}b.length>0?h(b):(t.emit(\"plotly_animated\"),l())})},y.addFrames=function(t,e,r){if(t=z.getGraphDiv(t),null===e||void 0===e)return Promise.resolve();if(!x.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/\");var n,i,a,o,s=t._transitionData._frames,l=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+e);var u=s.length+2*e.length,c=[];for(n=e.length-1;n>=0;n--)c.push({frame:M.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:u+n});c.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var h=[],f=[],d=s.length;for(n=c.length-1;n>=0;n--){if(i=c[n].frame,!i.name)for(;l[i.name=\"frame \"+t._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);h.push({type:\"replace\",index:a,value:i}),f.unshift({type:\"replace\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,d)),h.push({type:\"insert\",index:o,value:i}),f.unshift({type:\"delete\",index:o}),d++}var p=M.modifyFrames,g=M.modifyFrames,m=[t,f],v=[t,h];return _&&_.add(t,p,m,g,v),M.modifyFrames(t,h)},y.deleteFrames=function(t,e){if(t=z.getGraphDiv(t),!x.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);var r,n,i=t._transitionData._frames,a=[],o=[];for(e=e.slice(0),e.sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\"delete\",index:n}),o.unshift({type:\"insert\",index:n,value:i[n]});var s=M.modifyFrames,l=M.modifyFrames,u=[t,o],c=[t,a];return _&&_.add(t,s,u,l,c),M.modifyFrames(t,a)},y.purge=function(t){t=z.getGraphDiv(t);var e=t._fullLayout||{},r=t._fullData||[];return M.cleanPlot([],{},r,e),M.purge(t),b.purge(t),e._container&&e._container.remove(),delete t._context,delete t._replotPending,delete t._mouseDownTime,delete t._hmpixcount,delete t._hmlumcount,t}},{\"../components/drawing\":556,\"../components/errorbars\":562,\"../constants/xmlns_namespaces\":618,\"../lib\":633,\"../lib/events\":625,\"../lib/queue\":641,\"../lib/svg_text_utils\":647,\"../plotly\":659,\"../plots/cartesian/graph_interact\":671,\"../plots/plots\":724,\"../plots/polar\":727,\"../registry\":739,\"./helpers\":650,\"./subroutines\":656,d3:95,\"fast-isnumeric\":104}],652:[function(t,e,r){\"use strict\";function n(t,r){try{t._fullLayout._paper.style(\"background\",r)}catch(t){e.exports.logging>0&&console.error(t)}}e.exports={staticPlot:!1,editable:!1,autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\"reset+autosize\",showTips:!0,showLink:!1,sendData:!0,linkText:\"Edit chart\",showSources:!1,displayModeBar:\"hover\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:n,topojsonURL:\"https://cdn.plot.ly/\",mapboxAccessToken:null,logging:!1,globalTransforms:[]}},{}],653:[function(t,e,r){\"use strict\";function n(t){var e,r;\"area\"===t?(e={attributes:y},r={}):(e=f.modules[t]._module,r=e.basePlotModule);var n={};n.type=null,_(n,p),_(n,e.attributes),r.attributes&&_(n,r.attributes),n.type=t;var i={meta:e.meta||{},attributes:o(n)};if(e.layoutAttributes){var a={};_(a,e.layoutAttributes),i.layoutAttributes=o(a)}return i}function i(){var t={};return _(t,g),Object.keys(f.subplotsRegistry).forEach(function(e){var r=f.subplotsRegistry[e];if(r.layoutAttributes)if(\"cartesian\"===r.name)c(t,r,\"xaxis\"),c(t,r,\"yaxis\");else{var n=\"subplot\"===r.attr?r.name:r.attr;c(t,r,n)}}),t=u(t),Object.keys(f.componentsRegistry).forEach(function(e){var r=f.componentsRegistry[e];r.layoutAttributes&&(Array.isArray(r.layoutNodes)?r.layoutNodes.forEach(function(e){h(t,r,e+r.name)}):h(t,r,r.name))}),{layoutAttributes:o(t)}}function a(t){var e=f.transformsRegistry[t];return{attributes:o(e.attributes)}}function o(t){return s(t),l(t),t}function s(t){function e(t){return{valType:\"string\"}}function n(t,n,i){r.isValObject(t)?\"data_array\"===t.valType?(t.role=\"data\",i[n+\"src\"]=e(n)):t.arrayOk===!0&&(i[n+\"src\"]=e(n)):d.isPlainObject(t)&&(t.role=\"object\")}r.crawl(t,n)}function l(t){function e(t,e,r){if(t){var n=t[M];n&&(delete t[M],r[e]={items:{}},r[e].items[n]=t,r[e].role=\"object\")}}r.crawl(t,e)}function u(t){return b(t,{radialaxis:x.radialaxis,angularaxis:x.angularaxis}),b(t,x.layout),t}function c(t,e,r){var n=d.nestedProperty(t,r),i=_({},e.layoutAttributes);i[w]=!0,n.set(i)}function h(t,e,r){var n=d.nestedProperty(t,r),i=_(n.get()||{},e.layoutAttributes);n.set(i)}var f=t(\"../registry\"),d=t(\"../lib\"),p=t(\"../plots/attributes\"),g=t(\"../plots/layout_attributes\"),m=t(\"../plots/frame_attributes\"),v=t(\"../plots/animation_attributes\"),y=t(\"../plots/polar/area_attributes\"),x=t(\"../plots/polar/axis_attributes\"),b=d.extendFlat,_=d.extendDeep,w=\"_isSubplotObj\",M=\"_isLinkedToArray\",A=\"_deprecated\",k=[w,M,A];r.IS_SUBPLOT_OBJ=w,r.IS_LINKED_TO_ARRAY=M,r.DEPRECATED=A,r.UNDERSCORE_ATTRS=k,r.get=function(){var t={};f.allTypes.concat(\"area\").forEach(function(e){t[e]=n(e)});var e={};return Object.keys(f.transformsRegistry).forEach(function(t){e[t]=a(t)}),{defs:{valObjects:d.valObjects,metaKeys:k.concat([\"description\",\"role\"])},traces:t,layout:i(),transforms:e,frames:o(m),animation:o(v)}},r.crawl=function(t,e,n){var i=n||0;Object.keys(t).forEach(function(n){var a=t[n];k.indexOf(n)===-1&&(e(a,n,t,i),r.isValObject(a)||d.isPlainObject(a)&&r.crawl(a,e,i+1))})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){function e(e,r,o,s){a=a.slice(0,s).concat([r]);var l=\"data_array\"===e.valType||e.arrayOk===!0;if(l){var u=n(a),c=d.nestedProperty(t,u).get();Array.isArray(c)&&i.push(u)}}function n(t){return t.join(\".\")}var i=[],a=[];if(r.crawl(t._module.attributes,e),t.transforms)for(var o=t.transforms,s=0;s<o.length;s++){var l=o[s];a=[\"transforms[\"+s+\"]\"],r.crawl(l._module.attributes,e,1)}return t._fullInput&&(r.crawl(t._fullInput._module.attributes,e),i=d.filterUnique(i)),i}},{\"../lib\":633,\"../plots/animation_attributes\":660,\"../plots/attributes\":662,\"../plots/frame_attributes\":685,\"../plots/layout_attributes\":715,\"../plots/polar/area_attributes\":725,\"../plots/polar/axis_attributes\":726,\"../registry\":739}],654:[function(t,e,r){\"use strict\";function n(t){o.register(t,t.name,t.categories,t.meta),o.subplotsRegistry[t.basePlotModule.name]||o.registerSubplot(t.basePlotModule)}function i(t){if(\"string\"!=typeof t.name)throw new Error(\"Transform module *name* must be a string.\");var e=\"Transform module \"+t.name,r=\"function\"==typeof t.transform,n=\"function\"==typeof t.calcTransform;if(!r&&!n)throw new Error(e+\" is missing a *transform* or *calcTransform* method.\");r&&n&&s.log([e+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),s.isPlainObject(t.attributes)||s.log(e+\" registered without an *attributes* object.\"),\"function\"!=typeof t.supplyDefaults&&s.log(e+\" registered without a *supplyDefaults* method.\"),o.transformsRegistry[t.name]=t}function a(t){if(\"string\"!=typeof t.name)throw new Error(\"Component module *name* must be a string.\");o.registerComponent(t)}var o=t(\"../registry\"),s=t(\"../lib\");e.exports=function(t){if(!t)throw new Error(\"No argument passed to Plotly.register.\");t&&!Array.isArray(t)&&(t=[t]);\nfor(var e=0;e<t.length;e++){var r=t[e];if(!r)throw new Error(\"Invalid module was attempted to be registered!\");switch(r.moduleType){case\"trace\":n(r);break;case\"transform\":i(r);break;case\"component\":a(r);break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}}},{\"../lib\":633,\"../registry\":739}],655:[function(t,e,r){\"use strict\";var n=t(\"../plotly\"),i=t(\"../lib\");e.exports=function(t){return i.extendFlat(n.defaultConfig,t)}},{\"../lib\":633,\"../plotly\":659}],656:[function(t,e,r){\"use strict\";var n=t(\"../plotly\"),i=t(\"../registry\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../components/color\"),l=t(\"../components/drawing\"),u=t(\"../components/titles\"),c=t(\"../components/modebar\");r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){var e,i=t._fullLayout,a=i._size,u=n.Axes.list(t);for(e=0;e<u.length;e++)u[e]._linepositions={};i._paperdiv.style({width:i.width+\"px\",height:i.height+\"px\"}).selectAll(\".main-svg\").call(l.setSize,i.width,i.height),t._context.setBackground(t,i.paper_bgcolor);var h=[];return i._paper.selectAll(\"g.subplot\").each(function(e){var r=i._plots[e],u=n.Axes.getFromId(t,e,\"x\"),c=n.Axes.getFromId(t,e,\"y\");u.setScale(),c.setScale(),r.bg&&r.bg.call(l.setRect,u._offset-a.p,c._offset-a.p,u._length+2*a.p,c._length+2*a.p).call(s.fill,i.plot_bgcolor),r.clipId=\"clip\"+i._uid+e+\"plot\";var f=i._defs.selectAll(\"g.clips\").selectAll(\"#\"+r.clipId).data([0]);f.enter().append(\"clipPath\").attr({class:\"plotclip\",id:r.clipId}).append(\"rect\"),f.selectAll(\"rect\").attr({width:u._length,height:c._length}),r.plot.call(o.setTranslate,u._offset,c._offset),r.plot.call(l.setClipUrl,r.clipId);var d=l.crispRound(t,u.linewidth,1),p=l.crispRound(t,c.linewidth,1),g=a.p+p,m=\"M\"+-g+\",\",v=\"h\"+(u._length+2*g),y=\"free\"===u.anchor&&h.indexOf(u._id)===-1,x=a.h*(1-(u.position||0))+d/2%1,b=u.anchor===c._id&&(u.mirror||\"top\"!==u.side)||\"all\"===u.mirror||\"allticks\"===u.mirror||u.mirrors&&u.mirrors[c._id+\"bottom\"],_=c._length+a.p+d/2,w=u.anchor===c._id&&(u.mirror||\"top\"===u.side)||\"all\"===u.mirror||\"allticks\"===u.mirror||u.mirrors&&u.mirrors[c._id+\"top\"],M=-a.p-d/2,A=a.p,k=b?0:d,T=w?0:d,E=\",\"+(-A-T)+\"v\"+(c._length+2*A+T+k),S=\"free\"===c.anchor&&h.indexOf(c._id)===-1,L=a.w*(c.position||0)+p/2%1,z=c.anchor===u._id&&(c.mirror||\"right\"!==c.side)||\"all\"===c.mirror||\"allticks\"===c.mirror||c.mirrors&&c.mirrors[u._id+\"left\"],C=-a.p-p/2,I=c.anchor===u._id&&(c.mirror||\"right\"===c.side)||\"all\"===c.mirror||\"allticks\"===c.mirror||c.mirrors&&c.mirrors[u._id+\"right\"],P=u._length+a.p+p/2;u._linepositions[e]=[b?_:void 0,w?M:void 0,y?x:void 0],u.anchor===c._id?u._linepositions[e][3]=\"top\"===u.side?M:_:y&&(u._linepositions[e][3]=x),c._linepositions[e]=[z?C:void 0,I?P:void 0,S?L:void 0],c.anchor===u._id?c._linepositions[e][3]=\"right\"===c.side?P:C:S&&(c._linepositions[e][3]=L);var D=\"translate(\"+u._offset+\",\"+c._offset+\")\",O=D,R=D;y&&(O=\"translate(\"+u._offset+\",\"+a.t+\")\",M+=c._offset-a.t,_+=c._offset-a.t),S&&(R=\"translate(\"+a.l+\",\"+c._offset+\")\",C+=u._offset-a.l,P+=u._offset-a.l),r.xlines.attr(\"transform\",O).attr(\"d\",(b?m+_+v:\"\")+(w?m+M+v:\"\")+(y?m+x+v:\"\")||\"M0,0\").style(\"stroke-width\",d+\"px\").call(s.stroke,u.showline?u.linecolor:\"rgba(0,0,0,0)\"),r.ylines.attr(\"transform\",R).attr(\"d\",(z?\"M\"+C+E:\"\")+(I?\"M\"+P+E:\"\")+(S?\"M\"+L+E:\"\")||\"M0,0\").attr(\"stroke-width\",p+\"px\").call(s.stroke,c.showline?c.linecolor:\"rgba(0,0,0,0)\"),r.xaxislayer.attr(\"transform\",O),r.yaxislayer.attr(\"transform\",R),r.gridlayer.attr(\"transform\",D),r.zerolinelayer.attr(\"transform\",D),r.draglayer.attr(\"transform\",D),y&&h.push(u._id),S&&h.push(c._id)}),n.Axes.makeClipPaths(t),r.drawMainTitle(t),c.manage(t),t._promises.length&&Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;u.draw(t,\"gtitle\",{propContainer:e,propName:\"title\",dfltName:\"Plot\",attributes:{x:e.width/2,y:e._size.t/2,\"text-anchor\":\"middle\"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=((r[0]||{}).trace||{})._module||{},o=n.arraysToCalcdata;o&&o(r)}return a.style(t),i.getComponentMethod(\"legend\",\"draw\")(t),a.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,o=r.t.cb;i.traceIs(n,\"contour\")&&o.line({width:n.contours.showlines!==!1?n.line.width:0,dash:n.line.dash,color:\"line\"===n.contours.coloring?o._opts.line.color:n.line.color}),i.traceIs(n,\"markerColorscale\")?o.options(n.marker.colorbar)():o.options(n.colorbar)()}}return a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,n.plot(t,\"\",e)},r.doLegend=function(t){return i.getComponentMethod(\"legend\",\"draw\")(t),a.previousPromises(t)},r.doTicksRelayout=function(t){return n.Axes.doTicks(t,\"redraw\"),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e,r,i=t._fullLayout;for(c.manage(t),n.Fx.supplyLayoutDefaults(t.layout,t._fullLayout,t._fullData),n.Fx.init(t),e=a.getSubplotIds(i,\"gl3d\"),r=0;r<e.length;r++){var o=i[e[r]]._scene;o.updateFx(i.dragmode,i.hovermode)}for(e=a.getSubplotIds(i,\"gl2d\"),r=0;r<e.length;r++){var s=i._plots[e[r]]._scene2d;s.updateFx(i)}for(e=a.getSubplotIds(i,\"geo\"),r=0;r<e.length;r++){var l=i[e[r]]._subplot;l.updateFx(i.hovermode)}return a.previousPromises(t)}},{\"../components/color\":533,\"../components/drawing\":556,\"../components/modebar\":579,\"../components/titles\":607,\"../lib\":633,\"../plotly\":659,\"../plots/plots\":724,\"../registry\":739}],657:[function(t,e,r){\"use strict\";function n(t,e){var r=new Promise(function(r,n){function h(){var t=s.getDelay(p._fullLayout);return new Promise(function(r,n){setTimeout(function(){var t=u(p),i=document.createElement(\"canvas\");i.id=o.randstr(),c({format:e.format,width:p._fullLayout.width,height:p._fullLayout.height,canvas:i,svg:t,promise:!0}).then(function(t){p&&document.body.removeChild(p),r(t)}).catch(function(t){n(t)})},t)})}e=e||{},e.format=e.format||\"png\";var f=function(t){return void 0===t||null===t||!!(i(t)&&t>1)};f(e.width)&&f(e.height)||n(new Error(\"Height and width should be pixel values.\"));var d=l(t,{format:\"png\",height:e.height,width:e.width}),p=d.gd;p.style.position=\"absolute\",p.style.left=\"-5000px\",document.body.appendChild(p);var g=s.getRedrawFunc(p);a.plot(p,d.data,d.layout,d.config).then(g).then(h).then(function(t){r(t)}).catch(function(t){n(t)})});return r}var i=t(\"fast-isnumeric\"),a=t(\"../plotly\"),o=t(\"../lib\"),s=t(\"../snapshot/helpers\"),l=t(\"../snapshot/cloneplot\"),u=t(\"../snapshot/tosvg\"),c=t(\"../snapshot/svgtoimg\");e.exports=n},{\"../lib\":633,\"../plotly\":659,\"../snapshot/cloneplot\":740,\"../snapshot/helpers\":743,\"../snapshot/svgtoimg\":745,\"../snapshot/tosvg\":747,\"fast-isnumeric\":104}],658:[function(t,e,r){\"use strict\";function n(t,e,r,i,a,u){u=u||[];for(var c=Object.keys(t),f=0;f<c.length;f++){var d=c[f];if(\"transforms\"!==d){var m=u.slice();m.push(d);var v=t[d],y=e[d],x=l(r,d),b=\"info_array\"===(x||{}).valType;if(s(r,d))if(p(v)&&p(y))n(v,y,x,i,a,m);else if(x.items&&!b&&g(v)){var _,w,M=x.items,A=M[Object.keys(M)[0]],k=[];for(_=0;_<y.length;_++){var T=y[_]._index||_;w=m.slice(),w.push(T),p(v[T])&&p(y[_])&&(k.push(T),n(v[T],y[_],A,i,a,w))}for(_=0;_<v.length;_++)w=m.slice(),w.push(_),p(v[_])?k.indexOf(_)===-1&&i.push(o(\"unused\",a,w)):i.push(o(\"object\",a,w,v[_]))}else!p(v)&&p(y)?i.push(o(\"object\",a,m,v)):g(v)||!g(y)||b?d in e?h.validate(v,x)||i.push(o(\"value\",a,m,v)):i.push(o(\"unused\",a,m,v)):i.push(o(\"array\",a,m,v));else i.push(o(\"schema\",a,m))}}return i}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&&h.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}function a(t){return g(t)?\"In data trace \"+t[1]+\", \":\"In \"+t+\", \"}function o(t,e,r,n){r=r||\"\";var i,a;g(e)?(i=e[0],a=e[1]):(i=e,a=null);var o=c(r),s=m[t](e,o,n);return h.log(s),{code:t,container:i,trace:a,path:r,astr:o,msg:s}}function s(t,e){var r=u(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function l(t,e){var r=u(e);return t[r.keyMinusId]}function u(t){var e=/([2-9]|[1-9][0-9]+)$/,r=t.split(e)[0],n=t.substr(r.length,t.length);return{keyMinusId:r,id:n}}function c(t){if(!g(t))return String(t);for(var e=\"\",r=0;r<t.length;r++){var n=t[r];\"number\"==typeof n?e=e.substr(0,e.length-1)+\"[\"+n+\"]\":e+=n,r<t.length-1&&(e+=\".\")}return e}var h=t(\"../lib\"),f=t(\"../plots/plots\"),d=t(\"./plot_schema\"),p=h.isPlainObject,g=Array.isArray;e.exports=function(t,e){var r,a,s=d.get(),l=[],u={};g(t)?(u.data=h.extendDeep([],t),r=t):(u.data=[],r=[],l.push(o(\"array\",\"data\"))),p(e)?(u.layout=h.extendDeep({},e),a=e):(u.layout={},a={},arguments.length>1&&l.push(o(\"object\",\"layout\"))),f.supplyDefaults(u);for(var c=u._fullData,m=r.length,v=0;v<m;v++){var y=r[v],x=[\"data\",v];if(p(y)){var b=c[v],_=b.type,w=s.traces[_].attributes;w.type={valType:\"enumerated\",values:[_]},b.visible===!1&&y.visible!==!1&&l.push(o(\"invisible\",x)),n(y,b,w,l,x);var M=y.transforms,A=b.transforms;if(M){g(M)||l.push(o(\"array\",x,[\"transforms\"])),x.push(\"transforms\");for(var k=0;k<M.length;k++){var T=[\"transforms\",k],E=M[k].type;if(p(M[k])){var S=s.transforms[E]?s.transforms[E].attributes:{};S.type={valType:\"enumerated\",values:Object.keys(s.transforms)},n(M[k],A[k],S,l,x,T)}else l.push(o(\"object\",x,T))}}}else l.push(o(\"object\",x))}var L=u._fullLayout,z=i(s,c);return n(a,L,z,l,\"layout\"),0===l.length?void 0:l};var m={object:function(t,e){var r;return r=\"layout\"===t&&\"\"===e?\"The layout argument\":\"data\"===t[0]&&\"\"===e?\"Trace \"+t[1]+\" in the data argument\":a(t)+\"key \"+e,r+\" must be linked to an object container\"},array:function(t,e){var r;return r=\"data\"===t?\"The data argument\":a(t)+\"key \"+e,r+\" must be linked to an array container\"},schema:function(t,e){return a(t)+\"key \"+e+\" is not part of the schema\"},unused:function(t,e,r){var n=p(r)?\"container\":\"key\";return a(t)+n+\" \"+e+\" did not get coerced\"},invisible:function(t){return\"Trace \"+t[1]+\" got defaulted to be not visible\"},value:function(t,e,r){return[a(t)+\"key \"+e,\"is set to an invalid value (\"+r+\")\"].join(\" \")}}},{\"../lib\":633,\"../plots/plots\":724,\"./plot_schema\":653}],659:[function(t,e,r){\"use strict\";r.defaultConfig=t(\"./plot_api/plot_config\"),r.Plots=t(\"./plots/plots\"),r.Axes=t(\"./plots/cartesian/axes\"),r.Fx=t(\"./plots/cartesian/graph_interact\"),r.ModeBar=t(\"./components/modebar\"),t(\"./plot_api/plot_api\")},{\"./components/modebar\":579,\"./plot_api/plot_api\":651,\"./plot_api/plot_config\":652,\"./plots/cartesian/axes\":664,\"./plots/cartesian/graph_interact\":671,\"./plots/plots\":724}],660:[function(t,e,r){\"use strict\";e.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"]}}}},{}],661:[function(t,e,r){\"use strict\";var n=t(\"../lib\");e.exports=function(t,e,r){for(var i=r.name,a=Array.isArray(t[i])?t[i]:[],o=e[i]=[],s=0;s<a.length;s++){var l=a[s],u={},c={};n.isPlainObject(l)||(c.itemIsNotPlainObject=!0,l={}),r.handleItemDefaults(l,u,e,r,c),u._input=l,u._index=s,o.push(u)}}},{\"../lib\":633}],662:[function(t,e,r){\"use strict\";e.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\"},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0},showlegend:{valType:\"boolean\",dflt:!0},legendgroup:{valType:\"string\",dflt:\"\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},name:{valType:\"string\"},uid:{valType:\"string\",dflt:\"\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],dflt:\"all\"},stream:{token:{valType:\"string\",noBlank:!0,strict:!0},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500}}}},{}],663:[function(t,e,r){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\"},yaxis:{valType:\"subplotid\",dflt:\"y\"}}},{}],664:[function(t,e,r){\"use strict\";function n(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=t.range.map(t.r2l),l=1.0001*o[0]-1e-4*o[1],u=1.0001*o[1]-1e-4*o[0],c=Math.min(l,u),h=Math.max(l,u),f=0;Array.isArray(i)||(i=[]);var d=\"category\"===t.type?t.d2l_noadd:t.d2l;for(\"log\"===t.type&&\"L\"!==String(t.dtick).charAt(0)&&(t.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1)),r=0;r<n.length;r++)e=d(n[r]),e>c&&e<h&&(void 0===i[r]?a[f]=D.tickText(t,e):a[f]=s(t,e,String(i[r])),f++);return f<n.length&&a.splice(f,n.length-f),a}function i(t,e,r){return e*_.roundUp(t/e,r)}function a(t){var e=t.dtick;if(t._tickexponent=0,x(e)||\"string\"==typeof e||(e=1),\"category\"===t.type&&(t._tickround=null),\"date\"===t.type){var r=_.dateTime2ms(t.tick0),n=_.ms2DateTime(r).replace(/^-/,\"\"),i=n.length;if(\"M\"===String(e).charAt(0))i>10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12===0?\"y\":\"m\";else if(e>=z&&i<=10||e>=15*z)t._tickround=\"d\";else if(e>=I&&i<=16||e>=C)t._tickround=\"M\";else if(e>=P&&i<=19||e>=I)t._tickround=\"S\";else{var a=_.ms2DateTime(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(i,a)-20}}else if(x(e)||\"L\"===e.charAt(0)){var o=t.range.map(t.r2d||Number);x(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(l)>3&&(\"SI\"===t.exponentformat||\"B\"===t.exponentformat?t._tickexponent=3*Math.round((l-1)/3):t._tickexponent=l)}else t._tickround=null}function o(t,e){var r=t.match(W),n=new Date(e);if(r){var i=Math.min(+r[1]||6,6),a=String(e/1e3%1+2.0000005).substr(2,i).replace(/0+$/,\"\")||\"0\";return y.time.format(t.replace(W,a))(n)}return y.time.format(t)(n)}function s(t,e,r){var n=t.tickfont||t._gd._fullLayout.font;return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontColor:n.color}}function l(t,e,r,n){var i,a,s=e.x,l=t._tickround,u=new Date(s);r&&t.hoverformat?a=o(t.hoverformat,s):t.tickformat?a=o(t.tickformat,s):(n&&(x(l)?l+=2:l={y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:2}[l]),\"y\"===l?a=V(u):\"m\"===l?a=q(u):\"d\"===l?(i=V(u),a=H(u)):(i=G(u),a=X(u),\"M\"!==l&&(a+=Y(u),\"S\"!==l&&(a+=f(y.round(v(s/1e3,1),4),t,\"none\",r).substr(1))))),(r||\"array\"===t.tickmode)&&(\"00:00:00\"===a||\"00:00\"===a?(a=i,i=\"\"):8===a.length&&(a=a.replace(/:00$/,\"\"))),i&&(r?\"d\"===l?a+=\", \"+i:a=i+(a?\", \"+a:\"\"):t._inCalcTicks&&i===t._prevDateHead||(a+=\"<br>\"+i,t._prevDateHead=i)),e.text=a}function u(t,e,r,n,i){var a=t.dtick,o=e.x;if(!n||\"string\"==typeof a&&\"L\"===a.charAt(0)||(a=\"L3\"),t.tickformat||\"string\"==typeof a&&\"L\"===a.charAt(0))e.text=f(Math.pow(10,o),t,i,n);else if(x(a)||\"D\"===a.charAt(0)&&v(o+.01,1)<.1)if([\"e\",\"E\",\"power\"].indexOf(t.exponentformat)!==-1){var s=Math.round(o);0===s?e.text=1:1===s?e.text=\"10\":s>1?e.text=\"10<sup>\"+s+\"</sup>\":e.text=\"10<sup>\\u2212\"+-s+\"</sup>\",e.fontSize*=1.25}else e.text=f(Math.pow(10,o),t,\"\",\"fakehover\"),\"D1\"===a&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6);else{if(\"D\"!==a.charAt(0))throw\"unrecognized dtick \"+String(a);e.text=String(Math.round(Math.pow(10,v(o,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var l=String(e.text).charAt(0);\"0\"!==l&&\"1\"!==l||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(o<0?.5:.25)))}}function c(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\"),e.text=String(r)}function h(t,e,r,n,i){\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\"),e.text=f(e.x,t,i,n)}function f(t,e,r,n){var i=t<0,o=e._tickround,s=r||e.exponentformat||\"B\",l=e._tickexponent,u=e.tickformat,c=e.separatethousands;if(n){var h={exponentformat:e.exponentformat,dtick:\"none\"===e.showexponent?e.dtick:x(t)?Math.abs(t)||1:1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};a(h),o=(Number(h._tickround)||0)+4,l=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return y.format(u)(t).replace(/-/g,\"\\u2212\");var f=Math.pow(10,-o)/2;if(\"none\"===s&&(l=0),t=Math.abs(t),t<f)t=\"0\",i=!1;else{if(t+=f,l&&(t*=Math.pow(10,-l),o+=l),0===o)t=String(Math.floor(t));else if(o<0){t=String(Math.round(t)),t=t.substr(0,t.length+o);for(var d=o;d<0;d++)t+=\"0\"}else{t=String(t);var p=t.indexOf(\".\")+1;p&&(t=t.substr(0,p+o).replace(/\\.?0+$/,\"\"))}t=_.numSeparate(t,e._gd._fullLayout.separators,c)}if(l&&\"hide\"!==s){var g;g=l<0?\"\\u2212\"+-l:\"power\"!==s?\"+\"+l:String(l),\"e\"===s||(\"SI\"===s||\"B\"===s)&&(l>12||l<-15)?t+=\"e\"+g:\"E\"===s?t+=\"E\"+g:\"power\"===s?t+=\"\\xd710<sup>\"+g+\"</sup>\":\"B\"===s&&9===l?t+=\"B\":\"SI\"!==s&&\"B\"!==s||(t+=Z[l/3+5])}return i?\"\\u2212\"+t:t}function d(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)i[n].x.indexOf(o)===-1&&i[n].y.indexOf(s)===-1||a.push(n);if(a.length){var l,u=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],p(u.x,l.x),p(u.y,l.y);p(u.x,[o]),p(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}function p(t,e){for(var r=0;r<e.length;r++)t.indexOf(e[r])===-1&&t.push(e[r])}function g(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n<e.length;n++)a.push(D.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(D.getFromId(t,r[n]));var l=Object.keys(a[0]),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\"],c=[\"linear\",\"log\"];for(n=0;n<l.length;n++){var h=l[n],f=a[0][h],d=o[0][h],p=!0,g=!1,v=!1;if(\"_\"!==h.charAt(0)&&\"function\"!=typeof f&&u.indexOf(h)===-1){for(i=1;i<a.length&&p;i++){var y=a[i][h];\"type\"===h&&c.indexOf(f)!==-1&&c.indexOf(y)!==-1&&f!==y?g=!0:y!==f&&(p=!1)}for(i=1;i<o.length&&p;i++){var x=o[i][h];\"type\"===h&&c.indexOf(d)!==-1&&c.indexOf(x)!==-1&&d!==x?v=!0:o[i][h]!==d&&(p=!1)}p&&(g&&(s[a[0]._name].type=\"linear\"),v&&(s[o[0]._name].type=\"linear\"),m(s,h,a,o))}}for(n=0;n<t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];e.indexOf(b.xref)!==-1&&r.indexOf(b.yref)!==-1&&_.swapAttrs(s.annotations[n],[\"?\"])}}function m(t,e,r,n){var i,a=_.nestedProperty,o=a(t[r[0]._name],e).get(),s=a(t[n[0]._name],e).get();for(\"title\"===e&&(\"Click to enter X axis title\"===o&&(o=\"Click to enter Y axis title\"),\"Click to enter Y axis title\"===s&&(s=\"Click to enter X axis title\")),i=0;i<r.length;i++)a(t,r[i]._name+\".\"+e).set(s);for(i=0;i<n.length;i++)a(t,n[i]._name+\".\"+e).set(o)}function v(t,e){return(t%e+e)%e}var y=t(\"d3\"),x=t(\"fast-isnumeric\"),b=t(\"../../registry\"),_=t(\"../../lib\"),w=t(\"../../lib/svg_text_utils\"),M=t(\"../../components/titles\"),A=t(\"../../components/color\"),k=t(\"../../components/drawing\"),T=t(\"../../constants/numerical\"),E=T.FP_SAFE,S=T.ONEAVGYEAR,L=T.ONEAVGMONTH,z=T.ONEDAY,C=T.ONEHOUR,I=T.ONEMIN,P=T.ONESEC,D=e.exports={};D.layoutAttributes=t(\"./layout_attributes\"),D.supplyLayoutDefaults=t(\"./layout_defaults\"),D.setConvert=t(\"./set_convert\");var O=t(\"./axis_ids\");D.id2name=O.id2name,D.cleanId=O.cleanId,D.list=O.list,D.listIds=O.listIds,D.getFromId=O.getFromId,D.getFromTrace=O.getFromTrace,D.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._has(\"gl2d\")?[]:D.listIds(r,o),l=n+\"ref\",u={};return i||(i=s[0]||a),a||(a=i),u[l]={valType:\"enumerated\",values:s.concat(a?[a]:[]),dflt:i},_.coerce(t,e,u,l)},D.coercePosition=function(t,e,r,n,i,a){var o,s;if(\"paper\"===n||\"pixel\"===n)o=r(i,a);else{var l=D.getFromId(e,n);if(a=l.fraction2r(a),o=r(i,a),\"category\"===l.type){if(\"string\"==typeof o&&(l._categories||[]).length)return s=l._categories.indexOf(o),void(t[i]=s===-1?a:s)}else if(\"date\"===l.type)return void(t[i]=_.cleanDate(o))}t[i]=x(o)?Number(o):a},D.clearTypes=function(t,e){Array.isArray(e)&&e.length||(e=t._fullData.map(function(t,e){return e})),e.forEach(function(e){var r=t.data[e];delete(D.getFromId(t,r.xaxis)||{}).type,delete(D.getFromId(t,r.yaxis)||{}).type})},D.counterLetter=function(t){var e=t.charAt(0);return\"x\"===e?\"y\":\"y\"===e?\"x\":void 0},D.minDtick=function(t,e,r,n){[\"log\",\"category\"].indexOf(t.type)===-1&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},D.getAutoRange=function(t){var e,r=[],n=t._min[0].val,i=t._max[0].val;for(e=1;e<t._min.length&&n===i;e++)n=Math.min(n,t._min[e].val);for(e=1;e<t._max.length&&n===i;e++)i=Math.max(i,t._max[e].val);var a,o,s,l,u,c,h,f=0,d=!1;if(t.range){var p=t.range.map(t.r2l);d=p[1]<p[0]}for(\"reversed\"===t.autorange&&(d=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(o=t._min[e],a=0;a<t._max.length;a++)s=t._max[a],h=s.val-o.val,c=t._length-o.pad-s.pad,h>0&&c>0&&h/c>f&&(l=o,u=s,f=h/c);if(n===i){var g=n-1,m=n+1;r=\"tozero\"===t.rangemode?n<0?[g,0]:[0,m]:\"nonnegative\"===t.rangemode?[Math.max(0,g),Math.max(0,m)]:[g,m]}else f&&(\"linear\"!==t.type&&\"-\"!==t.type||(\"tozero\"===t.rangemode?(l.val>=0&&(l={val:0,pad:0}),u.val<=0&&(u={val:0,pad:0})):\"nonnegative\"===t.rangemode&&(l.val-f*l.pad<0&&(l={val:0,pad:0}),u.val<0&&(u={val:1,pad:0})),f=(u.val-l.val)/(t._length-l.pad-u.pad)),r=[l.val-f*l.pad,u.val+f*u.pad]);return r[0]===r[1]&&(\"tozero\"===t.rangemode?r=r[0]<0?[r[0],0]:r[0]>0?[0,r[0]]:[0,1]:(r=[r[0]-1,r[0]+1],\"nonnegative\"===t.rangemode&&(r[0]=Math.max(0,r[0])))),d&&r.reverse(),r.map(t.l2r||Number)},D.doAutoRange=function(t){t._length||t.setScale();var e=t._min&&t._max&&t._min.length&&t._max.length;if(t.autorange&&e){t.range=D.getAutoRange(t);var r=t._gd.layout[t._name];r||(t._gd.layout[t._name]=r={}),r!==t&&(r.range=t.range.slice(),r.autorange=t.autorange)}},D.saveRangeInitial=function(t,e){for(var r=D.list(t,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&a.autorange===!1||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},D.expand=function(t,e,r){function n(t){if(Array.isArray(t))return function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}function i(r){function n(t){return x(t)&&Math.abs(t)<E}if(l=e[r],x(l)){if(h=b(r)+v,f=_(r)+v,p=l-M(r),g=l+w(r),\"log\"===t.type&&p<g/10&&(p=g/10),u=t.c2l(p),c=t.c2l(g),y&&(u=Math.min(0,u),c=Math.max(0,c)),n(u)){for(d=!0,o=0;o<t._min.length&&d;o++)s=t._min[o],s.val<=u&&s.pad>=f?d=!1:s.val>=u&&s.pad<=f&&(t._min.splice(o,1),o--);d&&t._min.push({val:u,pad:y&&0===u?0:f})}if(n(c)){for(d=!0,o=0;o<t._max.length&&d;o++)s=t._max[o],s.val>=c&&s.pad>=h?d=!1:s.val<=c&&s.pad<=h&&(t._max.splice(o,1),o--);d&&t._max.push({val:c,pad:y&&0===c?0:h})}}}if((t.autorange||t._needsExpand)&&e){t._min||(t._min=[]),t._max||(t._max=[]),r||(r={}),t._m||t.setScale();var a,o,s,l,u,c,h,f,d,p,g,m=e.length,v=r.padded?.05*t._length:0,y=r.tozero&&(\"linear\"===t.type||\"-\"===t.type),b=n((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),_=n((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),w=n(r.vpadplus||r.vpad),M=n(r.vpadminus||r.vpad);for(a=0;a<6;a++)i(a);for(a=m-1;a>5;a--)i(a)}},D.autoBin=function(t,e,r,n){function i(t){return(1+100*(t-d)/h.dtick)%100<2}var a=_.aggNums(Math.min,null,t),o=_.aggNums(Math.max,null,t);if(\"category\"===e.type)return{start:a-.5,end:o+.5,size:1};var s;if(r)s=(o-a)/r;else{var l=_.distinctVals(t),u=Math.pow(10,Math.floor(Math.log(l.minDiff)/Math.LN10)),c=u*_.roundUp(l.minDiff/u,[.9,1.9,4.9,9.9],!0);s=Math.max(c,2*_.stdev(t)/Math.pow(t.length,n?.25:.4))}var h;h=\"log\"===e.type?{type:\"linear\",range:[a,o],r2l:Number}:{type:e.type,range:[a,o].map(e.l2r),r2l:e.r2l},D.autoTicks(h,s);var f,d=D.tickIncrement(D.tickFirst(h),h.dtick,\"reverse\");if(\"number\"==typeof h.dtick){for(var p=0,g=0,m=0,v=0,y=0;y<t.length;y++)t[y]%1===0?m++:x(t[y])||v++,i(t[y])&&p++,i(t[y]+h.dtick/2)&&g++;var b=t.length-v;if(m===b&&\"date\"!==e.type)h.dtick<1?d=a-.5*h.dtick:d-=.5;else if(g<.1*b&&(p>.3*b||i(a)||i(o))){var w=h.dtick/2;d+=d+w<a?w:-w}var M=1+Math.floor((o-d)/h.dtick);f=d+M*h.dtick}else for(f=d;f<=o;)f=D.tickIncrement(f,h.dtick);return{start:e.c2r(d),end:e.c2r(f),size:h.dtick}},D.calcTicks=function(t){var e=t.range.map(t.r2l);if(\"auto\"===t.tickmode||!t.dtick){var r,i=t.nticks;i||(\"category\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,i=t._length/r):(r=\"y\"===t._id.charAt(0)?40:80,i=_.constrain(t._length/r,4,9)+1)),\"array\"===t.tickmode&&(i*=100),D.autoTicks(t,Math.abs(e[1]-e[0])/i),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}if(t.tick0||(t.tick0=\"date\"===t.type?\"2000-01-01\":0),a(t),\"array\"===t.tickmode)return n(t);t._tmin=D.tickFirst(t);var o=e[1]<e[0],s=[],l=1.0001*e[1]-1e-4*e[0];\"category\"===t.type&&(l=o?Math.max(-.5,l):Math.min(t._categories.length-.5,l));for(var u=t._tmin;(o?u>=l:u<=l)&&(s.push(u),!(s.length>1e3));u=D.tickIncrement(u,t.dtick,o));t._tmax=s[s.length-1],t._prevDateHead=\"\",t._inCalcTicks=!0;for(var c=new Array(s.length),h=0;h<s.length;h++)c[h]=D.tickText(t,s[h]);return t._inCalcTicks=!1,c};var R=[2,5,10],F=[1,2,3,6,12],j=[1,2,5,10,15,30],N=[1,2,3,7,14],B=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],U=[-.301,0,.301,.699,1];D.autoTicks=function(t,e){var r;if(\"date\"===t.type){t.tick0=\"2000-01-01\";var n=2*e;n>S?(e/=S,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=\"M\"+12*i(e,r,R)):n>L?(e/=L,t.dtick=\"M\"+i(e,1,F)):n>z?(t.dtick=i(e,z,N),t.tick0=\"2000-01-02\"):n>C?t.dtick=i(e,C,F):n>I?t.dtick=i(e,I,j):n>P?t.dtick=i(e,P,j):(r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=i(e,r,R))}else if(\"log\"===t.type){t.tick0=0;var a=t.range.map(t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(a[1]-a[0])<1){var o=1.5*Math.abs((a[1]-a[0])/e);e=Math.abs(Math.pow(10,a[1])-Math.pow(10,a[0]))/o,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=\"L\"+i(e,r,R)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):(t.tick0=0,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=i(e,r,R));if(0===t.dtick&&(t.dtick=1),!x(t.dtick)&&\"string\"!=typeof t.dtick){var s=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(s)}},D.tickIncrement=function(t,e,r){var n=r?-1:1;if(x(e))return t+n*e;var i=e.charAt(0),a=n*Number(e.substr(1));if(\"M\"===i){var o=new Date(t);return o.setMonth(o.getMonth()+a)}if(\"L\"===i)return Math.log(Math.pow(10,t)+a)/Math.LN10;if(\"D\"===i){var s=\"D2\"===e?U:B,l=t+.01*n,u=_.roundUp(v(l,1),s,r);return Math.floor(l)+Math.log(y.round(Math.pow(10,u),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},D.tickFirst=function(t){var e=t.r2l||Number,r=t.range.map(e),n=r[1]<r[0],i=n?Math.floor:Math.ceil,a=1.0001*r[0]-1e-4*r[1],o=t.dtick,s=e(t.tick0);if(x(o)){var l=i((a-s)/o)*o+s;return\"category\"===t.type&&(l=_.constrain(l,0,t._categories.length-1)),l}var u,c,h,f=o.charAt(0),d=Number(o.substr(1));if(\"M\"===f){for(u=new Date(s),a=new Date(a),c=12*(a.getFullYear()-u.getFullYear())+a.getMonth()-u.getMonth(),h=u.setMonth(u.getMonth()+(Math.round(c/d)+(n?1:-1))*d);n?h>a:h<a;)h=D.tickIncrement(h,o,n);return h}if(\"L\"===f)return Math.log(i((Math.pow(10,a)-s)/d)*d+s)/Math.LN10;if(\"D\"===f){var p=\"D2\"===o?U:B,g=_.roundUp(v(a,1),p,n);return Math.floor(a)+Math.log(y.round(Math.pow(10,g),1))/Math.LN10}throw\"unrecognized dtick \"+String(o)};var V=y.time.format(\"%Y\"),q=y.time.format(\"%b %Y\"),H=y.time.format(\"%b %-d\"),G=y.time.format(\"%b %-d, %Y\"),X=y.time.format(\"%H:%M\"),Y=y.time.format(\":%S\"),W=/%(\\d?)f/g;D.tickText=function(t,e,r){function n(n){var i;return void 0===n||(r?\"none\"===n:(i={first:t._tmin,last:t._tmax}[n],\"all\"!==n&&e!==i))}var i,a,o=s(t,e),f=\"array\"===t.tickmode,d=r||f,p=\"category\"===t.type?t.d2l_noadd:t.d2l;if(f&&Array.isArray(t.ticktext)){var g=t.range.map(t.r2l),m=Math.abs(g[1]-g[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-p(t.tickvals[a]))<m);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}return i=\"none\"!==t.exponentformat&&n(t.showexponent)?\"hide\":\"\",\"date\"===t.type?l(t,o,r,d):\"log\"===t.type?u(t,o,r,d,i):\"category\"===t.type?c(t,o):h(t,o,r,d,i),t.tickprefix&&!n(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!n(t.showticksuffix)&&(o.text+=t.ticksuffix),o};var Z=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];D.subplotMatch=/^x([0-9]*)y([0-9]*)$/,D.getSubplots=function(t,e){function r(t,e){return t.indexOf(e._id)!==-1}var n,i,a,o=[],s=t._fullData||t.data||[];for(n=0;n<s.length;n++){var l=s[n];if(l.visible!==!1&&\"legendonly\"!==l.visible&&(b.traceIs(l,\"cartesian\")||b.traceIs(l,\"gl2d\"))){var u=l.xaxis||\"x\",c=l.yaxis||\"y\";a=u+c,o.indexOf(a)===-1&&o.push(a)}}var h=D.list(t,\"\",!0);for(n=0;n<h.length;n++){var f=h[n],d=f._id.charAt(0),p=\"free\"===f.anchor?\"x\"===d?\"y\":\"x\":f.anchor,g=D.getFromId(t,p),m=!1;for(i=0;i<o.length;i++)if(r(o[i],f)){m=!0;break}\"free\"===f.anchor&&m||g&&(a=\"x\"===d?f._id+g._id:g._id+f._id,o.indexOf(a)===-1&&o.push(a))}var v=D.subplotMatch,y=[];for(n=0;n<o.length;n++)a=o[n],v.test(a)&&y.push(a);return y.sort(function(t,e){var r=t.match(v),n=e.match(v);return r[1]===n[1]?+(r[2]||1)-(n[2]||1):+(r[1]||0)-(n[1]||0)}),e?D.findSubplotsWithAxis(y,e):y},D.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\"x\"===e._id.charAt(0)?\"^\"+e._id+\"y\":e._id+\"$\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},D.makeClipPaths=function(t){var e,r,n=t._fullLayout,i=n._defs,a={_offset:0,_length:n.width,_id:\"\"},o={_offset:0,_length:n.height,_id:\"\"},s=D.list(t,\"x\",!0),l=D.list(t,\"y\",!0),u=[];for(e=0;e<s.length;e++)for(u.push({x:s[e],y:o}),r=0;r<l.length;r++)0===e&&u.push({x:a,y:l[r]}),u.push({x:s[e],y:l[r]});var c=i.selectAll(\"g.clips\").data([0]);c.enter().append(\"g\").classed(\"clips\",!0);var h=c.selectAll(\".axesclip\").data(u,function(t){return t.x._id+t.y._id});h.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(t){return\"clip\"+n._uid+t.x._id+t.y._id}).append(\"rect\"),h.exit().remove(),h.each(function(t){y.select(this).select(\"rect\").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})},D.doTicks=function(t,e,r){function n(t){var e=u.l2p(t.x);return e>1&&e<u._length-1}function i(t,e){var r=t.selectAll(\"path.\"+S).data(\"inside\"===u.ticks?V:T,E);e&&u.ticks?(r.enter().append(\"path\").classed(S,1).classed(\"ticks\",1).classed(\"crisp\",1).call(A.stroke,u.tickcolor).style(\"stroke-width\",j+\"px\").attr(\"d\",e),r.attr(\"transform\",d),r.exit().remove()):r.remove()}function a(r,n){function i(t,e){t.each(function(t){var r=p(e),n=y.select(this),i=n.select(\".text-math-group\"),a=d(t)+(x(e)&&0!==+e?\" rotate(\"+e+\",\"+h(t)+\",\"+(f(t)-t.fontSize/2)+\")\":\"\");if(i.empty()){var o=n.select(\"text\").attr({transform:a,\"text-anchor\":r});o.empty()||o.selectAll(\"tspan.line\").attr({x:o.attr(\"x\"),y:o.attr(\"y\")})}else{var s=k.bBox(i.node()).width*{end:-.5,start:.5}[r];i.attr(\"transform\",a+(s?\"translate(\"+s+\",0)\":\"\"))}})}function a(){return L.length&&Promise.all(L)}function s(){if(i(c,u.tickangle),\"x\"===m&&!x(u.tickangle)&&(\"log\"!==u.type||\"D\"!==String(u.dtick).charAt(0))){var t=[];for(c.each(function(e){var r=y.select(this),n=r.select(\".text-math-group\"),i=u.l2p(e.x);n.empty()&&(n=r.select(\"text\"));var a=k.bBox(n.node());t.push({top:0,bottom:10,height:10,left:i-a.width/2,right:i+a.width/2+2,width:a.width+2})}),g=0;g<t.length-1;g++)if(_.bBoxIntersect(t[g],t[g+1])){A=30;break}if(A){var r=Math.abs((T[T.length-1].x-T[0].x)*u._m)/(T.length-1);r<2.5*M&&(A=90),i(c,A)}u._lastangle=A}return o(e),e+\" done\"}function l(){u._boundingBox=r.node().getBoundingClientRect()}var c=r.selectAll(\"g.\"+S).data(T,E);if(!u.showticklabels||!x(n))return c.remove(),void o(e);var h,f,p,v,b;\"x\"===m?(b=\"bottom\"===B?1:-1,h=function(t){return t.dx+P*b},v=n+(I+C)*b,f=function(t){return t.dy+v+t.fontSize*(\"bottom\"===B?1:-.5)},p=function(t){return x(t)&&0!==t&&180!==t?t*b<0?\"end\":\"start\":\"middle\"}):(b=\"right\"===B?1:-1,f=function(t){return t.dy+t.fontSize/2-P*b},h=function(t){return t.dx+n+(I+C+(90===Math.abs(u.tickangle)?t.fontSize/2:0))*b},p=function(t){return x(t)&&90===Math.abs(t)?\"middle\":\"right\"===B?\"start\":\"end\"});var M=0,A=0,L=[];c.enter().append(\"g\").classed(S,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(e){\nvar r=y.select(this),n=t._promises.length;r.call(k.setPosition,h(e),f(e)).call(k.font,e.font,e.fontSize,e.fontColor).text(e.text).call(w.convertToTspans),n=t._promises[n],n?L.push(t._promises.pop().then(function(){i(r,u.tickangle)})):i(r,u.tickangle)}),c.exit().remove(),c.each(function(t){M=Math.max(M,t.fontSize)}),i(c,u._lastangle||u.tickangle);var z=_.syncOrAsync([a,s,l]);return z&&z.then&&t._promises.push(z),z}function o(e){if(!r){var n,i,a,o,s=O.getFromId(t,e),l=y.select(t).selectAll(\"g.\"+e+\"tick\"),u={selection:l,side:s.side},h=e.charAt(0),f=t._fullLayout._size,d=1.5,p=s.titlefont.size;if(l.size()){var g=y.select(l.node().parentNode).attr(\"transform\").match(/translate\\(([-\\.\\d]+),([-\\.\\d]+)\\)/);g&&(u.offsetLeft=+g[1],u.offsetTop=+g[2])}\"x\"===h?(i=\"free\"===s.anchor?{_offset:f.t+(1-(s.position||0))*f.h,_length:0}:O.getFromId(t,s.anchor),a=s._offset+s._length/2,o=i._offset+(\"top\"===s.side?-10-p*(d+(s.showticklabels?1:0)):i._length+10+p*(d+(s.showticklabels?1.5:.5))),s.rangeslider&&s.rangeslider.visible&&s._boundingBox&&(o+=(c.height-c.margin.b-c.margin.t)*s.rangeslider.thickness+s._boundingBox.height),u.side||(u.side=\"bottom\")):(i=\"free\"===s.anchor?{_offset:f.l+(s.position||0)*f.w,_length:0}:O.getFromId(t,s.anchor),o=s._offset+s._length/2,a=i._offset+(\"right\"===s.side?i._length+10+p*(d+(s.showticklabels?1:.5)):-10-p*(d+(s.showticklabels?.5:0))),n={rotate:\"-90\",offset:0},u.side||(u.side=\"left\")),M.draw(t,e+\"title\",{propContainer:s,propName:s._name+\".title\",dfltName:h.toUpperCase()+\" axis\",avoid:u,transform:n,attributes:{x:a,y:o,\"text-anchor\":\"middle\"}})}}function s(t,e){return t.visible===!0&&t.xaxis+t.yaxis===e&&(!(!b.traceIs(t,\"bar\")||t.orientation!=={x:\"h\",y:\"v\"}[m])||t.fill&&t.fill.charAt(t.fill.length-1)===m)}function l(e,r,i){var a=e.gridlayer,o=e.zerolinelayer,l=e[\"hidegrid\"+m]?[]:V,c=u._gridpath||\"M0,0\"+(\"x\"===m?\"v\":\"h\")+r._length,h=a.selectAll(\"path.\"+L).data(u.showgrid===!1?[]:l,E);if(h.enter().append(\"path\").classed(L,1).classed(\"crisp\",1).attr(\"d\",c).each(function(t){u.zeroline&&(\"linear\"===u.type||\"-\"===u.type)&&Math.abs(t.x)<u.dtick/100&&y.select(this).remove()}),h.attr(\"transform\",d).call(A.stroke,u.gridcolor||\"#ddd\").style(\"stroke-width\",R+\"px\"),h.exit().remove(),o){for(var f=!1,p=0;p<t._fullData.length;p++)if(s(t._fullData[p],i)){f=!0;break}var g=u.range.map(u.r2l),v=g[0]*g[1]<=0&&u.zeroline&&(\"linear\"===u.type||\"-\"===u.type)&&l.length&&(f||n({x:0})||!u.showline),x=o.selectAll(\"path.\"+z).data(v?[{x:0}]:[]);x.enter().append(\"path\").classed(z,1).classed(\"zl\",1).classed(\"crisp\",1).attr(\"d\",c),x.attr(\"transform\",d).call(A.stroke,u.zerolinecolor||A.defaultLine).style(\"stroke-width\",F+\"px\"),x.exit().remove()}}var u,c=t._fullLayout,h=!1;if(\"object\"==typeof e)u=e,e=u._id,h=!0;else if(u=D.getFromId(t,e),\"redraw\"===e&&c._paper.selectAll(\"g.subplot\").each(function(t){var e=c._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(\".\"+r._id+\"tick\").remove(),e.yaxislayer.selectAll(\".\"+n._id+\"tick\").remove(),e.gridlayer.selectAll(\"path\").remove(),e.zerolinelayer.selectAll(\"path\").remove()}),!e||\"redraw\"===e)return _.syncOrAsync(D.list(t,\"\",!0).map(function(r){return function(){if(r._id){var n=D.doTicks(t,r._id);return\"redraw\"===e&&(r._r=r.range.slice(),r._rl=r._r.map(r.r2l)),n}}}));u.tickformat||([\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"].indexOf(u.exponentformat)===-1&&(u.exponentformat=\"e\"),[\"all\",\"first\",\"last\",\"none\"].indexOf(u.showexponent)===-1&&(u.showexponent=\"all\")),u.setScale();var f,d,p,g,m=e.charAt(0),v=D.counterLetter(e),T=D.calcTicks(u),E=function(t){return t.text+t.x+u.mirror},S=e+\"tick\",L=e+\"grid\",z=e+\"zl\",C=(u.linewidth||1)/2,I=(\"outside\"===u.ticks?u.ticklen:1)+(u.linewidth||0),P=0,R=k.crispRound(t,u.gridwidth,1),F=k.crispRound(t,u.zerolinewidth,R),j=k.crispRound(t,u.tickwidth,1);if(u._counterangle&&\"outside\"===u.ticks){var N=u._counterangle*Math.PI/180;I=u.ticklen*Math.cos(N)+(u.linewidth||0),P=u.ticklen*Math.sin(N)}if(\"x\"===m)f=[\"bottom\",\"top\"],d=function(t){return\"translate(\"+u.l2p(t.x)+\",0)\"},p=function(t,e){if(u._counterangle){var r=u._counterangle*Math.PI/180;return\"M0,\"+t+\"l\"+Math.sin(r)*e+\",\"+Math.cos(r)*e}return\"M0,\"+t+\"v\"+e};else{if(\"y\"!==m)return void _.warn(\"Unrecognized doTicks axis:\",e);f=[\"left\",\"right\"],d=function(t){return\"translate(0,\"+u.l2p(t.x)+\")\"},p=function(t,e){if(u._counterangle){var r=u._counterangle*Math.PI/180;return\"M\"+t+\",0l\"+Math.cos(r)*e+\",\"+-Math.sin(r)*e}return\"M\"+t+\",0h\"+e}}var B=u.side||f[0],U=[-1,1,B===f[1]?1:-1];\"inside\"!==u.ticks==(\"x\"===m)&&(U=U.map(function(t){return-t}));var V=T.filter(n);if(h){if(i(u._axislayer,p(u._pos+C*U[2],U[2]*u.ticklen)),u._counteraxis){var q={gridlayer:u._gridlayer,zerolinelayer:u._zerolinelayer};l(q,u._counteraxis)}return a(u._axislayer,u._pos)}var H=D.getSubplots(t,u).map(function(t){var e=c._plots[t];if(c._has(\"cartesian\")){var r=e[m+\"axislayer\"],n=u._linepositions[t]||[],o=e[v+\"axis\"],s=o._id===u.anchor,h=[!1,!1,!1],d=\"\";if(\"allticks\"===u.mirror?h=[!0,!0,!1]:s&&(\"ticks\"===u.mirror?h=[!0,!0,!1]:h[f.indexOf(B)]=!0),u.mirrors)for(g=0;g<2;g++){var y=u.mirrors[o._id+f[g]];\"ticks\"!==y&&\"labels\"!==y||(h[g]=!0)}return void 0!==n[2]&&(h[2]=!0),h.forEach(function(t,e){var r=n[e],i=U[e];t&&x(r)&&(d+=p(r+C*i,i*u.ticklen))}),i(r,d),l(e,o,t),a(r,n[3])}}).filter(function(t){return t&&t.then});return H.length?Promise.all(H):0},D.swap=function(t,e){for(var r=d(t,e),n=0;n<r.length;n++)g(t,r[n].x,r[n].y)}},{\"../../components/color\":533,\"../../components/drawing\":556,\"../../components/titles\":607,\"../../constants/numerical\":616,\"../../lib\":633,\"../../lib/svg_text_utils\":647,\"../../registry\":739,\"./axis_ids\":667,\"./layout_attributes\":673,\"./layout_defaults\":674,\"./set_convert\":678,d3:95,\"fast-isnumeric\":104}],665:[function(t,e,r){\"use strict\";function n(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(o(t[e]))return!0;return!1}function i(t){for(var e,r=0,n=0,i=Math.max(1,(t.length-1)/1e3),a=0;a<t.length;a+=i)e=t[Math.round(a)],s.isDateTime(e)&&(r+=1),o(e)&&(n+=1);return r>2*n}function a(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,i=0,a=0;a<t.length;a+=r)e=t[Math.round(a)],s.cleanNumber(e)!==l?n++:\"string\"==typeof e&&\"\"!==e&&\"None\"!==e&&i++;return i>2*n}var o=t(\"fast-isnumeric\"),s=t(\"../../lib\"),l=t(\"../../constants/numerical\").BADNUM;e.exports=function(t){return i(t)?\"date\":a(t)?\"category\":n(t)?\"linear\":\"-\"}},{\"../../constants/numerical\":616,\"../../lib\":633,\"fast-isnumeric\":104}],666:[function(t,e,r){\"use strict\";function n(t,e){if(\"-\"===t.type){var r=t._id,n=r.charAt(0);r.indexOf(\"scene\")!==-1&&(r=n);var s=o(e,r,n);if(s){if(\"histogram\"===s.type&&n==={v:\"y\",h:\"x\"}[s.orientation||\"v\"])return void(t.type=\"linear\");if(a(s,n)){for(var l,c=i(s),h=[],f=0;f<e.length;f++)l=e[f],u.traceIs(l,\"box\")&&(l[n+\"axis\"]||n)===r&&(void 0!==l[c]?h.push(l[c][0]):void 0!==l.name?h.push(l.name):h.push(\"text\"));t.type=b(h)}else t.type=b(s[n]||[s[n+\"0\"]])}}}function i(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function a(t,e){var r=i(t);return u.traceIs(t,\"box\")&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}function o(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if((i[r+\"axis\"]||r)===e){if(a(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}var s=t(\"fast-isnumeric\"),l=t(\"tinycolor2\").mix,u=t(\"../../registry\"),c=t(\"../../lib\"),h=t(\"../../components/color/attributes\").lightFraction,f=t(\"./layout_attributes\"),d=t(\"./tick_value_defaults\"),p=t(\"./tick_mark_defaults\"),g=t(\"./tick_label_defaults\"),m=t(\"./category_order_defaults\"),v=t(\"./set_convert\"),y=t(\"./ordered_categories\"),x=t(\"./axis_ids\"),b=t(\"./axis_autotype\");e.exports=function(t,e,r,i){function a(r,n){return c.coerce2(t,e,f,r,n)}var o=i.letter,u=i.font||{},b=\"Click to enter \"+(i.title||o.toUpperCase()+\" axis\")+\" title\";i.name&&(e._name=i.name,e._id=x.name2id(i.name));var _=r(\"type\");\"-\"===_&&(n(e,i.data),\"-\"===e.type?e.type=\"linear\":_=t.type=e.type),v(e);var w=r(\"color\"),M=w===t.color?w:u.color;r(\"title\",b),c.coerceFont(r,\"titlefont\",{family:u.family,size:Math.round(1.2*u.size),color:M});var A=2===(t.range||[]).length&&s(e.r2l(t.range[0]))&&s(e.r2l(t.range[1])),k=r(\"autorange\",!A);k&&r(\"rangemode\"),r(\"range\"),e.cleanRange(),r(\"fixedrange\"),d(t,e,r,_),g(t,e,r,_,i),p(t,e,r,i),m(t,e,r);var T=a(\"linecolor\",w),E=a(\"linewidth\"),S=r(\"showline\",!!T||!!E);S||(delete e.linecolor,delete e.linewidth),(S||e.ticks)&&r(\"mirror\");var L=a(\"gridcolor\",l(w,i.bgColor,h).toRgbString()),z=a(\"gridwidth\"),C=r(\"showgrid\",i.showGrid||!!L||!!z);C||(delete e.gridcolor,delete e.gridwidth);var I=a(\"zerolinecolor\",w),P=a(\"zerolinewidth\"),D=r(\"zeroline\",i.showGrid||!!I||!!P);return D||(delete e.zerolinecolor,delete e.zerolinewidth),e._initialCategories=\"category\"===_?y(o,e.categoryorder,e.categoryarray,i.data):[],e}},{\"../../components/color/attributes\":532,\"../../lib\":633,\"../../registry\":739,\"./axis_autotype\":665,\"./axis_ids\":667,\"./category_order_defaults\":668,\"./layout_attributes\":673,\"./ordered_categories\":675,\"./set_convert\":678,\"./tick_label_defaults\":679,\"./tick_mark_defaults\":680,\"./tick_value_defaults\":681,\"fast-isnumeric\":104,tinycolor2:489}],667:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t,r){for(var n=Object.keys(t),i=/^[xyz]axis[0-9]*/,a=[],o=0;o<n.length;o++){var s=n[o];e&&s.charAt(0)!==e||i.test(s)&&a.push(r+s)}return a.sort()}var i=t._fullLayout;if(!i)return[];var o=n(i,\"\");if(r)return o;for(var s=a.getSubplotIds(i,\"gl3d\")||[],l=0;l<s.length;l++){var u=s[l];o=o.concat(n(i[u],u+\".\"))}return o}var i=t(\"../../registry\"),a=t(\"../plots\"),o=t(\"../../lib\"),s=t(\"./constants\");r.id2name=function(t){if(\"string\"==typeof t&&t.match(s.AX_ID_PATTERN)){var e=t.substr(1);return\"1\"===e&&(e=\"\"),t.charAt(0)+\"axis\"+e}},r.name2id=function(t){if(t.match(s.AX_NAME_PATTERN)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(s.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\"\");return\"1\"===r&&(r=\"\"),t.charAt(0)+r}},r.list=function(t,e,r){return n(t,e,r).map(function(e){return o.nestedProperty(t._fullLayout,e).get()})},r.listIds=function(t,e){return n(t,e,!0).map(r.name2id)},r.getFromId=function(t,e,n){var i=t._fullLayout;return\"x\"===n?e=e.replace(/y[0-9]*/,\"\"):\"y\"===n&&(e=e.replace(/x[0-9]*/,\"\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,n){var a=t._fullLayout,o=null;if(i.traceIs(e,\"gl3d\")){var s=e.scene;\"scene\"===s.substr(0,5)&&(o=a[s][n+\"axis\"])}else o=r.getFromId(t,e[n+\"axis\"]||n);return o}},{\"../../lib\":633,\"../../registry\":739,\"../plots\":724,\"./constants\":669}],668:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(\"category\"===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&&i.length>0;a&&(n=\"array\");var o=r(\"categoryorder\",n);\"array\"===o&&r(\"categoryarray\"),a||\"array\"!==o||(e.categoryorder=\"trace\")}}},{}],669:[function(t,e,r){\"use strict\";e.exports={idRegex:{x:/^x([2-9]|[1-9][0-9]+)?$/,y:/^y([2-9]|[1-9][0-9]+)?$/},attrRegex:{x:/^xaxis([2-9]|[1-9][0-9]+)?$/,y:/^yaxis([2-9]|[1-9][0-9]+)?$/},xAxisMatch:/^xaxis[0-9]*$/,yAxisMatch:/^yaxis[0-9]*$/,AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,DBLCLICKDELAY:300,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,MAXDIST:20,YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,BENDPX:1.5,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],DFLTRANGEDATE:[\"2000-01-01\",\"2001-01-01\"]}},{}],670:[function(t,e,r){\"use strict\";function n(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return\"date\"===t.type?n:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,s.format(\".\"+r+\"g\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,s.format(\".\"+String(r)+\"g\")(n))}function i(t,e){return t?\"nsew\"===t?\"pan\"===e?\"move\":\"crosshair\":t.toLowerCase()+\"-resize\":\"pointer\"}function a(t){s.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function o(t){var e=[\"lasso\",\"select\"];return e.indexOf(t)!==-1}var s=t(\"d3\"),l=t(\"tinycolor2\"),u=t(\"../../plotly\"),c=t(\"../../registry\"),h=t(\"../../lib\"),f=t(\"../../lib/svg_text_utils\"),d=t(\"../../components/color\"),p=t(\"../../components/drawing\"),g=t(\"../../lib/setcursor\"),m=t(\"../../components/dragelement\"),v=t(\"./axes\"),y=t(\"./select\"),x=t(\"./constants\"),b=!0;e.exports=function(t,e,r,s,_,w,M,A){function k(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\"\"}function T(){U=[e.xaxis],V=[e.yaxis],q=U[0]._length,H=V[0]._length;for(var t=1;t<B.length;t++){var r=B[t].xaxis,n=B[t].yaxis;U.indexOf(r)===-1&&U.push(r),V.indexOf(n)===-1&&V.push(n)}K=U.concat(V),$=k(U,A),J=k(V,M),tt=i(J+$,N.dragmode),gt=e.xaxis._offset,mt=e.yaxis._offset,it.xa=U,it.ya=V}function E(e,r,n){var i=nt.getBoundingClientRect();at=r-i.left,ot=n-i.top,st={l:at,r:at,w:0,t:ot,b:ot,h:0},lt=t._hmpixcount?t._hmlumcount/t._hmpixcount:l(t._fullLayout.plot_bgcolor).getLuminance(),ut=\"M0,0H\"+q+\"V\"+H+\"H0V0\",ct=!1,ht=\"xy\",ft=pt.append(\"path\").attr(\"class\",\"zoombox\").style({fill:lt>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",\"translate(\"+gt+\", \"+mt+\")\").attr(\"d\",ut+\"Z\"),dt=pt.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:d.background,stroke:d.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",\"translate(\"+gt+\", \"+mt+\")\").attr(\"d\",\"M0,0Z\"),S()}function S(){pt.selectAll(\".select-outline\").remove()}function L(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(q,e+at)),i=Math.max(0,Math.min(H,r+ot)),a=Math.abs(n-at),o=Math.abs(i-ot),s=Math.floor(Math.min(o,a,X)/2);st.l=Math.min(at,n),st.r=Math.max(at,n),st.t=Math.min(ot,i),st.b=Math.max(ot,i),!J||o<Math.min(Math.max(.6*a,G),X)?a<G?(ht=\"\",st.r=st.l,st.t=st.b,dt.attr(\"d\",\"M0,0Z\")):(st.t=0,st.b=H,ht=\"x\",dt.attr(\"d\",\"M\"+(st.l-.5)+\",\"+(ot-X-.5)+\"h-3v\"+(2*X+1)+\"h3ZM\"+(st.r+.5)+\",\"+(ot-X-.5)+\"h3v\"+(2*X+1)+\"h-3Z\")):!$||a<Math.min(.6*o,X)?(st.l=0,st.r=q,ht=\"y\",dt.attr(\"d\",\"M\"+(at-X-.5)+\",\"+(st.t-.5)+\"v-3h\"+(2*X+1)+\"v3ZM\"+(at-X-.5)+\",\"+(st.b+.5)+\"v3h\"+(2*X+1)+\"v-3Z\")):(ht=\"xy\",dt.attr(\"d\",\"M\"+(st.l-3.5)+\",\"+(st.t-.5+s)+\"h3v\"+-s+\"h\"+s+\"v-3h-\"+(s+3)+\"ZM\"+(st.r+3.5)+\",\"+(st.t-.5+s)+\"h-3v\"+-s+\"h\"+-s+\"v-3h\"+(s+3)+\"ZM\"+(st.r+3.5)+\",\"+(st.b+.5-s)+\"h-3v\"+s+\"h\"+-s+\"v3h\"+(s+3)+\"ZM\"+(st.l-3.5)+\",\"+(st.b+.5-s)+\"h3v\"+s+\"h\"+s+\"v3h-\"+(s+3)+\"Z\")),st.w=st.r-st.l,st.h=st.b-st.t,ft.attr(\"d\",ut+\"M\"+st.l+\",\"+st.t+\"v\"+st.h+\"h\"+st.w+\"v-\"+st.h+\"h-\"+st.w+\"Z\"),ct||(ft.transition().style(\"fill\",lt>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),dt.transition().style(\"opacity\",1).duration(200),ct=!0)}function z(t,e,r){var n,i,a;for(n=0;n<t.length;n++)i=t[n],i.fixedrange||(a=i.range.map(i.r2l),i.range=[i.l2r(a[0]+(a[1]-a[0])*e),i.l2r(a[0]+(a[1]-a[0])*r)])}function C(e,r){return Math.min(st.h,st.w)<2*G?(2===r&&R(),a(t)):(\"xy\"!==ht&&\"x\"!==ht||z(U,st.l/q,st.r/q),\"xy\"!==ht&&\"y\"!==ht||z(V,(H-st.b)/H,(H-st.t)/H),a(t),F(ht),void(b&&t.data&&t._context.showTips&&(h.notifier(\"Double-click to<br>zoom back out\",\"long\"),b=!1)))}function I(e,r){var i=1===(M+A).length;if(e)F();else if(2!==r||i){if(1===r&&i){var a=M?V[0]:U[0],o=\"s\"===M||\"w\"===A?0:1,s=a._name+\".range[\"+o+\"]\",l=n(a,o),c=\"left\",h=\"middle\";if(a.fixedrange)return;M?(h=\"n\"===M?\"top\":\"bottom\",\"right\"===a.side&&(c=\"right\")):\"e\"===A&&(c=\"right\"),rt.call(f.makeEditable,null,{immediate:!0,background:N.paper_bgcolor,text:String(l),fill:a.tickfont?a.tickfont.color:\"#444\",horizontalAlign:c,verticalAlign:h}).on(\"edit\",function(e){var r=a.d2r(e);void 0!==r&&u.relayout(t,s,r)})}}else R()}function P(e){function r(t,e,r){function n(e){return t.l2r(a+(e-a)*r)}if(!t.fixedrange){var i=t.range.map(t.r2l),a=i[0]+(i[1]-i[0])*e;t.range=i.map(n)}}if(t._context.scrollZoom||N._enablescrollzoom){if(t._transitioningWithDuration)return h.pauseEvent(e);var n=t.querySelector(\".plotly\");if(T(),!(n.scrollHeight-n.clientHeight>10||n.scrollWidth-n.clientWidth>10)){clearTimeout(yt);var i=-e.deltaY;if(isFinite(i)||(i=e.wheelDelta/10),!isFinite(i))return void h.log(\"Did not find wheel motion attributes: \",e);var a,o=Math.exp(-Math.min(Math.max(i,-20),20)/100),s=bt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),l=(e.clientX-s.left)/s.width,u=vt[0]+vt[2]*l,c=(s.bottom-e.clientY)/s.height,f=vt[1]+vt[3]*(1-c);if(A){for(a=0;a<U.length;a++)r(U[a],l,o);vt[2]*=o,vt[0]=u-vt[2]*l}if(M){for(a=0;a<V.length;a++)r(V[a],c,o);vt[3]*=o,vt[1]=f-vt[3]*(1-c)}return j(vt),O(M,A),yt=setTimeout(function(){vt=[0,0,q,H],F()},xt),h.pauseEvent(e)}}}function D(e,r){function n(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function i(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function a(t,e,r){for(var n,a,o=1-e,s=0;s<t.length;s++){var l=t[s];if(!l.fixedrange){n=l,a=l._rl[o]+(l._rl[e]-l._rl[o])/i(r/l._length);var u=l.l2r(a);u!==!1&&void 0!==u&&(l.range[e]=u)}}return n._length*(n._rl[e]-a)/(n._rl[e]-n._rl[o])}if(!t._transitioningWithDuration){if(T(),\"ew\"===$||\"ns\"===J)return $&&n(U,e),J&&n(V,r),j([$?-e:0,J?-r:0,q,H]),void O(J,$);\"w\"===$?e=a(U,0,e):\"e\"===$?e=a(U,1,-e):$||(e=0),\"n\"===J?r=a(V,1,r):\"s\"===J?r=a(V,0,-r):J||(r=0),j([\"w\"===$?e:0,\"n\"===J?r:0,q-e,H-r]),O(J,$)}}function O(e,r){function n(t){for(a=0;a<t.length;a++)t[a].fixedrange||o.push(t[a]._id)}function i(n,i){for(a=0;a<n.length;a++){var s=n[a];(r&&o.indexOf(s.xref)!==-1||e&&o.indexOf(s.yref)!==-1)&&i(t,a)}}var a,o=[];for(r&&n(U),e&&n(V),a=0;a<o.length;a++)v.doTicks(t,o[a],!0);i(N.annotations||[],c.getComponentMethod(\"annotations\",\"drawOne\")),i(N.shapes||[],c.getComponentMethod(\"shapes\",\"drawOne\")),i(N.images||[],c.getComponentMethod(\"images\",\"draw\"))}function R(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=($?U:[]).concat(J?V:[]),o={};if(\"autosize\"===i)for(r=0;r<a.length;r++)e=a[r],e.fixedrange||(o[e._name+\".autorange\"]=!0);else if(\"reset\"===i)for(r=0;r<a.length;r++)e=a[r],e._rangeInitial?(n=e._rangeInitial.slice(),o[e._name+\".range[0]\"]=n[0],o[e._name+\".range[1]\"]=n[1]):o[e._name+\".autorange\"]=!0;else if(\"reset+autosize\"===i)for(r=0;r<a.length;r++)e=a[r],e.fixedrange||(void 0===e._rangeInitial||e.range[0]===e._rangeInitial[0]&&e.range[1]===e._rangeInitial[1]?o[e._name+\".autorange\"]=!0:(n=e._rangeInitial.slice(),o[e._name+\".range[0]\"]=n[0],o[e._name+\".range[1]\"]=n[1]));t.emit(\"plotly_doubleclick\",null),u.relayout(t,o)}}function F(e){for(var r={},n=0;n<K.length;n++){var i=K[n];e&&e.indexOf(i._id.charAt(0))===-1||(i._r[0]!==i.range[0]&&(r[i._name+\".range[0]\"]=i.range[0]),i._r[1]!==i.range[1]&&(r[i._name+\".range[1]\"]=i.range[1]),i.range=i._r.slice())}j([0,0,q,H]),u.relayout(t,r)}function j(t){for(var e,r=N._plots,n=Object.keys(r),i=0;i<n.length;i++){var a=r[n[i]],o=a.xaxis,s=a.yaxis,l=A&&!o.fixedrange,u=M&&!s.fixedrange;if(l){var c=!1;for(e=0;e<U.length;e++)if(U[e]._id===o._id){c=!0;break}l=l&&c}if(u){var f=!1;for(e=0;e<V.length;e++)if(V[e]._id===s._id){f=!0;break}u=u&&f}var d=l?o._length/t[2]:1,p=u?s._length/t[3]:1,g=l?t[0]:0,m=u?t[1]:0,v=l?t[0]/t[2]*o._length:0,y=u?t[1]/t[3]*s._length:0,x=o._offset-v,b=s._offset-y;N._defs.selectAll(\"#\"+a.clipId).call(h.setTranslate,g,m).call(h.setScale,1/d,1/p),a.plot.call(h.setTranslate,x,b).call(h.setScale,d,p).selectAll(\".points\").selectAll(\".point\").call(h.setPointGroupScale,1/d,1/p)}}for(var N=t._fullLayout,B=[e].concat(M&&A?e.overlays:[]),U=[e.xaxis],V=[e.yaxis],q=U[0]._length,H=V[0]._length,G=x.MINDRAG,X=x.MINZOOM,Y=M+A===\"nsew\",W=1;W<B.length;W++){var Z=B[W].xaxis,Q=B[W].yaxis;U.indexOf(Z)===-1&&U.push(Z),V.indexOf(Q)===-1&&V.push(Q)}var K=U.concat(V),$=k(U,A),J=k(V,M),tt=i(J+$,N.dragmode),et=M+A+\"drag\",rt=e.draglayer.selectAll(\".\"+et).data([0]);rt.enter().append(\"rect\").classed(\"drag\",!0).classed(et,!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",e.id),rt.call(p.setRect,r,s,_,w).call(g,tt);var nt=rt.node();if(!J&&!$&&!o(N.dragmode))return nt.onmousedown=null,nt.style.pointerEvents=Y?\"all\":\"none\",nt;var it={element:nt,gd:t,plotinfo:e,xaxes:U,yaxes:V,doubleclick:R,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;Y?e.shiftKey&&(i=\"pan\"===i?\"zoom\":\"pan\"):i=\"pan\",\"lasso\"===i?it.minDrag=1:it.minDrag=void 0,\"zoom\"===i?(it.moveFn=L,it.doneFn=C,E(e,r,n)):\"pan\"===i?(it.moveFn=D,it.doneFn=I,S()):o(i)&&y(e,r,n,it,i)}};m.init(it);var at,ot,st,lt,ut,ct,ht,ft,dt,pt=t._fullLayout._zoomlayer,gt=e.xaxis._offset,mt=e.yaxis._offset,vt=[0,0,q,H],yt=null,xt=x.REDRAWDELAY,bt=e.mainplot?N._plots[e.mainplot]:e;return M.length*A.length!==1&&(void 0!==nt.onwheel?nt.onwheel=P:void 0!==nt.onmousewheel&&(nt.onmousewheel=P)),nt}},{\"../../components/color\":533,\"../../components/dragelement\":554,\"../../components/drawing\":556,\"../../lib\":633,\"../../lib/setcursor\":643,\"../../lib/svg_text_utils\":647,\"../../plotly\":659,\"../../registry\":739,\"./axes\":664,\"./constants\":669,\"./select\":677,d3:95,tinycolor2:489}],671:[function(t,e,r){\"use strict\";function n(t,e){for(var r=[],n=t.length;n>0;n--)r.push(e);return r}function i(t,e){for(var r=[],n=0;n<t.length;n++)r.push(t[n].p2c(e));return r}function a(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}}function o(t,e,r){if(\"pie\"===r)return void t.emit(\"plotly_hover\",{points:[e]});r||(r=\"xy\");var a=Array.isArray(r)?r:[r],o=t._fullLayout,d=o._plots||[],p=d[r];if(p){var y=p.overlays.map(function(t){return t.id});a=a.concat(y)}for(var b=a.length,A=new Array(b),k=new Array(b),T=0;T<b;T++){var E=a[T],S=d[E];if(S)A[T]=w.getFromId(t,S.xaxis._id),k[T]=w.getFromId(t,S.yaxis._id);else{var L=o[E]._subplot;A[T]=L.xaxis,k[T]=L.yaxis}}var z=e.hovermode||o.hovermode;if([\"x\",\"y\",\"closest\"].indexOf(z)===-1||!t.calcdata||t.querySelector(\".zoombox\")||t._dragging)return _.unhoverRaw(t,e);var C,I,P,D,O,R,F,j,N,B,U,V,q,H=[],G=[];if(Array.isArray(e))for(z=\"array\",P=0;P<e.length;P++)O=t.calcdata[e[P].curveNumber||0],\"skip\"!==O[0].trace.hoverinfo&&G.push(O);else{for(D=0;D<t.calcdata.length;D++)O=t.calcdata[D],R=O[0].trace,\"skip\"!==R.hoverinfo&&a.indexOf(s(R))!==-1&&G.push(O);var X,Y;if(e.target&&\"clientX\"in e&&\"clientY\"in e){if(v.triggerHandler(t,\"plotly_beforehover\",e)===!1)return;var W=e.target.getBoundingClientRect();if(X=e.clientX-W.left,Y=e.clientY-W.top,X<0||X>W.width||Y<0||Y>W.height)return _.unhoverRaw(t,e)}else X=\"xpx\"in e?e.xpx:A[0]._length/2,Y=\"ypx\"in e?e.ypx:k[0]._length/2;if(C=\"xval\"in e?n(a,e.xval):i(A,X),I=\"yval\"in e?n(a,e.yval):i(k,Y),!g(C[0])||!g(I[0]))return m.warn(\"Fx.hover failed\",e,t),_.unhoverRaw(t,e)}var Z=1/0;for(D=0;D<G.length;D++)if(O=G[D],O&&O[0]&&O[0].trace&&O[0].trace.visible===!0){if(R=O[0].trace,F=s(R),j=a.indexOf(F),N=z,V={cd:O,trace:R,xa:A[j],ya:k[j],name:t.data.length>1||R.hoverinfo.indexOf(\"name\")!==-1?R.name:void 0,index:!1,distance:Math.min(Z,M.MAXDIST),color:x.defaultLine,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},o[F]&&(V.subplot=o[F]._subplot),q=H.length,\"array\"===N){var Q=e[D];\"pointNumber\"in Q?(V.index=Q.pointNumber,N=\"closest\"):(N=\"\",\"xval\"in Q&&(B=Q.xval,N=\"x\"),\"yval\"in Q&&(U=Q.yval,N=N?\"closest\":\"y\"))}else B=C[j],U=I[j];if(R._module&&R._module.hoverPoints){var K=R._module.hoverPoints(V,B,U,N);if(K)for(var $,J=0;J<K.length;J++)$=K[J],g($.x0)&&g($.y0)&&H.push(l($,z))}else m.log(\"Unrecognized trace type in hover:\",R);\"closest\"===z&&H.length>q&&(H.splice(0,q),Z=H[0].distance)}if(0===H.length)return _.unhoverRaw(t,e);var tt=\"y\"===z&&G.length>1;H.sort(function(t,e){return t.distance-e.distance});var et=x.combine(o.plot_bgcolor||x.background,o.paper_bgcolor),rt={hovermode:z,rotateLabels:tt,bgColor:et,container:o._hoverlayer,outerContainer:o._paperdiv},nt=u(H,rt);c(H,tt?\"xa\":\"ya\"),h(nt,tt);var it=t._hoverdata,at=[];for(P=0;P<H.length;P++){var ot=H[P],st={data:ot.trace._input,fullData:ot.trace,curveNumber:ot.trace.index,pointNumber:ot.index};ot.trace._module.eventData?st=ot.trace._module.eventData(st,ot):(st.x=ot.xVal,st.y=ot.yVal,st.xaxis=ot.xa,st.yaxis=ot.ya,void 0!==ot.zLabelVal&&(st.z=ot.zLabelVal)),at.push(st)}t._hoverdata=at,f(t,e,it)&&(it&&t.emit(\"plotly_unhover\",{points:it}),t.emit(\"plotly_hover\",{points:t._hoverdata,xaxes:A,yaxes:k,xvals:C,yvals:I}))}function s(t){return t.subplot||t.xaxis+t.yaxis||t.geo}function l(t,e){t.posref=\"y\"===e?(t.x0+t.x1)/2:(t.y0+t.y1)/2,t.x0=m.constrain(t.x0,0,t.xa._length),t.x1=m.constrain(t.x1,0,t.xa._length),t.y0=m.constrain(t.y0,0,t.ya._length),t.y1=m.constrain(t.y1,0,t.ya._length);var r;if(void 0!==t.xLabelVal){r=\"log\"===t.xa.type&&t.xLabelVal<=0;var n=w.tickText(t.xa,t.xa.c2l(r?-t.xLabelVal:t.xLabelVal),\"hover\");r?0===t.xLabelVal?t.xLabel=\"0\":t.xLabel=\"-\"+n.text:t.xLabel=n.text,t.xVal=t.xa.c2d(t.xLabelVal)}if(void 0!==t.yLabelVal){r=\"log\"===t.ya.type&&t.yLabelVal<=0;var i=w.tickText(t.ya,t.ya.c2l(r?-t.yLabelVal:t.yLabelVal),\"hover\");r?0===t.yLabelVal?t.yLabel=\"0\":t.yLabel=\"-\"+i.text:t.yLabel=i.text,t.yVal=t.ya.c2d(t.yLabelVal)}if(void 0!==t.zLabelVal&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var a=w.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+a+\" / -\"+w.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+a,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var o=w.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+o+\" / -\"+w.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+o,\"y\"===e&&(t.distance+=1)}var s=t.trace.hoverinfo;return\"all\"!==s&&(s=s.split(\"+\"),s.indexOf(\"x\")===-1&&(t.xLabel=void 0),s.indexOf(\"y\")===-1&&(t.yLabel=void 0),s.indexOf(\"z\")===-1&&(t.zLabel=void 0),s.indexOf(\"text\")===-1&&(t.text=void 0),s.indexOf(\"name\")===-1&&(t.name=void 0)),t}function u(t,e){var r,n,i=e.hovermode,a=e.rotateLabels,o=e.bgColor,s=e.container,l=e.outerContainer,u=t[0],c=u.xa,h=u.ya,f=\"y\"===i?\"yLabel\":\"xLabel\",g=u[f],m=(String(g)||\"\").split(\" \")[0],v=l.node().getBoundingClientRect(),_=v.top,w=v.width,A=v.height,k=u.distance<=M.MAXDIST&&(\"x\"===i||\"y\"===i);for(r=0;r<t.length;r++){n=t[r].trace.hoverinfo;var T=n.split(\"+\");if(T.indexOf(\"all\")===-1&&T.indexOf(i)===-1){k=!1;break}}var S=s.selectAll(\"g.axistext\").data(k?[0]:[]);S.enter().append(\"g\").classed(\"axistext\",!0),S.exit().remove(),S.each(function(){var e=d.select(this),r=e.selectAll(\"path\").data([0]),n=e.selectAll(\"text\").data([0]);r.enter().append(\"path\").style({fill:x.defaultLine,\"stroke-width\":\"1px\",stroke:x.background}),n.enter().append(\"text\").call(b.font,O,D,x.background).attr(\"data-notex\",1),n.text(g).call(y.convertToTspans).call(b.setPosition,0,0).selectAll(\"tspan.line\").call(b.setPosition,0,0),e.attr(\"transform\",\"\");var a=n.node().getBoundingClientRect();if(\"x\"===i){n.attr(\"text-anchor\",\"middle\").call(b.setPosition,0,\"top\"===c.side?_-a.bottom-I-P:_-a.top+I+P).selectAll(\"tspan.line\").attr({x:n.attr(\"x\"),y:n.attr(\"y\")});var o=\"top\"===c.side?\"-\":\"\";r.attr(\"d\",\"M0,0L\"+I+\",\"+o+I+\"H\"+(P+a.width/2)+\"v\"+o+(2*P+a.height)+\"H-\"+(P+a.width/2)+\"V\"+o+I+\"H-\"+I+\"Z\"),e.attr(\"transform\",\"translate(\"+(c._offset+(u.x0+u.x1)/2)+\",\"+(h._offset+(\"top\"===c.side?0:h._length))+\")\")}else{n.attr(\"text-anchor\",\"right\"===h.side?\"start\":\"end\").call(b.setPosition,(\"right\"===h.side?1:-1)*(P+I),_-a.top-a.height/2).selectAll(\"tspan.line\").attr({x:n.attr(\"x\"),y:n.attr(\"y\")});var s=\"right\"===h.side?\"\":\"-\";r.attr(\"d\",\"M0,0L\"+s+I+\",\"+I+\"V\"+(P+a.height/2)+\"h\"+s+(2*P+a.width)+\"V-\"+(P+a.height/2)+\"H\"+s+I+\"V-\"+I+\"Z\"),e.attr(\"transform\",\"translate(\"+(c._offset+(\"right\"===h.side?c._length:0))+\",\"+(h._offset+(u.y0+u.y1)/2)+\")\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[f]||\"\").split(\" \")[0]===m})});var L=s.selectAll(\"g.hovertext\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\"\"].join(\",\")});return L.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var t=d.select(this);t.append(\"rect\").call(x.fill,x.addOpacity(o,.8)),t.append(\"text\").classed(\"name\",!0).call(b.font,O,D),t.append(\"path\").style(\"stroke-width\",\"1px\"),t.append(\"text\").classed(\"nums\",!0).call(b.font,O,D)}),L.exit().remove(),L.each(function(t){var e=d.select(this).attr(\"transform\",\"\"),r=\"\",n=\"\",s=x.opacity(t.color)?t.color:x.defaultLine,l=x.combine(s,o),u=p(l).getBrightness()>128?\"#000\":x.background;if(t.name&&void 0===t.zLabelVal){var c=document.createElement(\"p\");c.innerHTML=t.name,r=c.textContent||\"\",r.length>15&&(r=r.substr(0,12)+\"...\")}void 0!==t.extraText&&(n+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&&(n+=\"x: \"+t.xLabel+\"<br>\"),void 0!==t.yLabel&&(n+=\"y: \"+t.yLabel+\"<br>\"),n+=(n?\"z: \":\"\")+t.zLabel):k&&t[i+\"Label\"]===g?n=t[(\"x\"===i?\"y\":\"x\")+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&(n=t.yLabel):n=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",t.text&&!Array.isArray(t.text)&&(n+=(n?\"<br>\":\"\")+t.text),\"\"===n&&(\"\"===r&&e.remove(),n=r);var h=e.select(\"text.nums\").style(\"fill\",u).call(b.setPosition,0,0).text(n).attr(\"data-notex\",1).call(y.convertToTspans);h.selectAll(\"tspan.line\").call(b.setPosition,0,0);var f=e.select(\"text.name\"),m=0;r&&r!==n?(f.style(\"fill\",l).text(r).call(b.setPosition,0,0).attr(\"data-notex\",1).call(y.convertToTspans),f.selectAll(\"tspan.line\").call(b.setPosition,0,0),m=f.node().getBoundingClientRect().width+2*P):(f.remove(),e.select(\"rect\").remove()),e.select(\"path\").style({fill:l,stroke:u});var v,M,T=h.node().getBoundingClientRect(),S=t.xa._offset+(t.x0+t.x1)/2,L=t.ya._offset+(t.y0+t.y1)/2,z=Math.abs(t.x1-t.x0),C=Math.abs(t.y1-t.y0),D=T.width+I+P+m;t.ty0=_-T.top,t.bx=T.width+2*P,t.by=T.height+2*P,t.anchor=\"start\",t.txwidth=T.width,t.tx2width=m,t.offset=0,a?(t.pos=S,v=L+C/2+D<=A,M=L-C/2-D>=0,\"top\"!==t.idealAlign&&v||!M?v?(L+=C/2,t.anchor=\"start\"):t.anchor=\"middle\":(L-=C/2,t.anchor=\"end\")):(t.pos=L,v=S+z/2+D<=w,M=S-z/2-D>=0,\"left\"!==t.idealAlign&&v||!M?v?(S+=z/2,t.anchor=\"start\"):t.anchor=\"middle\":(S-=z/2,t.anchor=\"end\")),h.attr(\"text-anchor\",t.anchor),m&&f.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",\"translate(\"+S+\",\"+L+\")\"+(a?\"rotate(\"+E+\")\":\"\"))}),L}function c(t,e){function r(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var u=0;for(o=0;o<t.length;o++)l=t[o],l.pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)l=t[o],l.pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if(l=t[o],l.pos<e.pmin+1)for(l.del=!0,u--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(u<=0);o--)l=t[o],l.pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(var n,i,a,o,s,l,u,c=0,h=t.map(function(t,r){var n=t[e];return[{i:r,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\"x\"===n._id.charAt(0)?L:1)/2,pmin:n._offset,pmax:n._offset+n._length}]}).sort(function(t,e){return t[0].posref-e[0].posref});!n&&c<=t.length;){for(c++,n=!0,o=0;o<h.length-1;){var f=h[o],d=h[o+1],p=f[f.length-1],g=d[0];if(i=p.pos+p.dp+p.size-g.pos-g.dp+g.size,i>.01&&p.pmin===g.pmin&&p.pmax===g.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(f.push.apply(f,d),h.splice(o+1,1),u=0,s=f.length-1;s>=0;s--)u+=f[s].dp;for(a=u/f.length,s=f.length-1;s>=0;s--)f[s].dp-=a;n=!1}else o++}h.forEach(r)}for(o=h.length-1;o>=0;o--){var m=h[o];for(s=m.length-1;s>=0;s--){var v=m[s],y=t[v.i];y.offset=v.dp,y.del=v.del}}}function h(t,e){t.each(function(t){var r=d.select(this);if(t.del)return void r.remove();var n=\"end\"===t.anchor?-1:1,i=r.select(\"text.nums\"),a={start:1,end:-1,middle:0}[t.anchor],o=a*(I+P),s=o+a*(t.txwidth+P),l=0,u=t.offset;\"middle\"===t.anchor&&(o-=t.tx2width/2,s-=t.tx2width/2),e&&(u*=-C,l=t.offset*z),r.select(\"path\").attr(\"d\",\"middle\"===t.anchor?\"M-\"+t.bx/2+\",-\"+t.by/2+\"h\"+t.bx+\"v\"+t.by+\"h-\"+t.bx+\"Z\":\"M0,0L\"+(n*I+l)+\",\"+(I+u)+\"v\"+(t.by/2-I)+\"h\"+n*t.bx+\"v-\"+t.by+\"H\"+(n*I+l)+\"V\"+(u-I)+\"Z\"),i.call(b.setPosition,o+l,u+t.ty0-t.by/2+P).selectAll(\"tspan.line\").attr({x:i.attr(\"x\"),y:i.attr(\"y\")}),t.tx2width&&(r.select(\"text.name, text.name tspan.line\").call(b.setPosition,s+a*P+l,u+t.ty0-t.by/2+P),r.select(\"rect\").call(b.setRect,s+(a-1)*t.tx2width/2+l,u-t.by/2-1,t.tx2width,t.by+2))})}function f(t,e,r){if(!e.target)return!1;if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}var d=t(\"d3\"),p=t(\"tinycolor2\"),g=t(\"fast-isnumeric\"),m=t(\"../../lib\"),v=t(\"../../lib/events\"),y=t(\"../../lib/svg_text_utils\"),x=t(\"../../components/color\"),b=t(\"../../components/drawing\"),_=t(\"../../components/dragelement\"),w=t(\"./axes\"),M=t(\"./constants\"),A=t(\"./dragbox\"),k=t(\"../layout_attributes\"),T=e.exports={};\nT.unhover=_.unhover,T.layoutAttributes={},T.supplyLayoutDefaults=function(t,e,r){function n(r,n){return m.coerce(t,e,k,r,n)}n(\"dragmode\");var i;if(e._has(\"cartesian\")){var a=e._isHoriz=T.isHoriz(r);i=a?\"y\":\"x\"}else i=\"closest\";n(\"hovermode\",i)},T.isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){var n=t[r];if(\"h\"!==n.orientation){e=!1;break}}return e},T.init=function(t){var e=t._fullLayout;if(e._has(\"cartesian\")&&!t._context.staticPlot){var r=Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split(\"y\"),i=r.split(\"y\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1});r.forEach(function(r){var n=e._plots[r];if(e._has(\"cartesian\")){var i=n.xaxis,a=n.yaxis,o=(i._linepositions[r]||[])[3],s=(a._linepositions[r]||[])[3],l=M.DRAGGERSIZE;if(g(o)&&\"top\"===i.side&&(o-=l),g(s)&&\"right\"!==a.side&&(s-=l),!n.mainplot){var u=A(t,n,0,0,i._length,a._length,\"ns\",\"ew\");u.onmousemove=function(n){T.hover(t,n,r),e._lasthover=u,e._hoversubplot=r},u.onmouseout=function(e){t._dragging||_.unhover(t,e)},u.onclick=function(e){T.click(t,e)},A(t,n,-l,-l,l,l,\"n\",\"w\"),A(t,n,i._length,-l,l,l,\"n\",\"e\"),A(t,n,-l,a._length,l,l,\"s\",\"w\"),A(t,n,i._length,a._length,l,l,\"s\",\"e\")}g(o)&&(\"free\"===i.anchor&&(o-=e._size.h*(1-a.domain[1])),A(t,n,.1*i._length,o,.8*i._length,l,\"\",\"ew\"),A(t,n,0,o,.1*i._length,l,\"\",\"w\"),A(t,n,.9*i._length,o,.1*i._length,l,\"\",\"e\")),g(s)&&(\"free\"===a.anchor&&(s-=e._size.w*i.domain[0]),A(t,n,s,.1*a._length,l,.8*a._length,\"ns\",\"\"),A(t,n,s,.9*a._length,l,.1*a._length,\"s\",\"\"),A(t,n,s,0,l,.1*a._length,\"n\",\"\"))}});var n=e._hoverlayer.node();n.onmousemove=function(r){r.target=e._lasthover,T.hover(t,r,e._hoversubplot)},n.onclick=function(r){r.target=e._lasthover,T.click(t,r)},n.onmousedown=function(t){e._lasthover.onmousedown(t)}}};var E=M.YANGLE,S=Math.PI*E/180,L=1/Math.sin(S),z=Math.cos(S),C=Math.sin(S),I=M.HOVERARROWSIZE,P=M.HOVERTEXTPAD,D=M.HOVERFONTSIZE,O=M.HOVERFONT;T.hover=function(t,e,r){return\"string\"==typeof t&&(t=document.getElementById(t)),void 0===t._lastHoverTime&&(t._lastHoverTime=0),void 0!==t._hoverTimer&&(clearTimeout(t._hoverTimer),t._hoverTimer=void 0),Date.now()>t._lastHoverTime+M.HOVERMINTIME?(o(t,e,r),void(t._lastHoverTime=Date.now())):void(t._hoverTimer=setTimeout(function(){o(t,e,r),t._lastHoverTime=Date.now(),t._hoverTimer=void 0},M.HOVERMINTIME))},T.getDistanceFunction=function(t,e,r,n){return\"closest\"===t?n||a(e,r):\"x\"===t?e:r},T.getClosest=function(t,e,r){if(r.index!==!1)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},T.loneHover=function(t,e){var r={color:t.color||x.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,trace:{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0},n=d.select(e.container),i=e.outerContainer?d.select(e.outerContainer):n,a={hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||x.background,container:n,outerContainer:i},o=u([r],a);return h(o,a.rotateLabels),o.node()},T.loneUnhover=function(t){var e=t instanceof d.selection?t:d.select(t);e.selectAll(\"g.hovertext\").remove()},T.click=function(t,e){t._hoverdata&&e&&e.target&&(t.emit(\"plotly_click\",{points:t._hoverdata}),e.stopImmediatePropagation&&e.stopImmediatePropagation())},T.inbox=function(t,e){return t*e<0||0===t?M.MAXDIST*(.6-.3/Math.max(3,Math.abs(t-e))):1/0}},{\"../../components/color\":533,\"../../components/dragelement\":554,\"../../components/drawing\":556,\"../../lib\":633,\"../../lib/events\":625,\"../../lib/svg_text_utils\":647,\"../layout_attributes\":715,\"./axes\":664,\"./constants\":669,\"./dragbox\":670,d3:95,\"fast-isnumeric\":104,tinycolor2:489}],672:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=t._fullLayout,o=a._modules;e.plot&&e.plot.selectAll(\"g:not(.scatterlayer)\").selectAll(\"g.trace\").remove();for(var s=0;s<o.length;s++){var l=o[s];if(\"cartesian\"===l.basePlotModule.name){for(var u=[],c=0;c<r.length;c++){var h=r[c],f=h[0].trace;f._module===l&&f.visible===!0&&u.push(h)}l.plot(t,e,u,n,i)}}}function i(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a<r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,u=s.yaxis,c=h.getFromId(t,l.overlaying)||l;c!==l&&c.overlaying&&(c=l,l.overlaying=!1);var f=h.getFromId(t,u.overlaying)||u;f!==u&&f.overlaying&&(f=u,u.overlaying=!1);var d=c._id+f._id;d!==o&&r.indexOf(d)!==-1?(s.mainplot=d,s.mainplotinfo=e._plots[d],i.push(o),l.domain=c.domain.slice(),u.domain=f.domain.slice()):n.push(o)}return n=n.concat(i)}function a(t){function e(t){s(t,\"g\",\"imagelayer\"),s(t,\"g\",\"maplayer\"),s(t,\"g\",\"barlayer\"),s(t,\"g\",\"boxlayer\"),s(t,\"g\",\"scatterlayer\")}var r=t.plotgroup,n=t.id;if(t.mainplot){var i=t.mainplotinfo;t.gridlayer=s(i.overgrid,\"g\",n),t.zerolinelayer=s(i.overzero,\"g\",n),t.plot=s(i.overplot,\"g\",n),t.xlines=s(i.overlines,\"path\",n),t.ylines=s(i.overlines,\"path\",n),t.xaxislayer=s(i.overaxes,\"g\",n),t.yaxislayer=s(i.overaxes,\"g\",n)}else{t.bg=s(r,\"rect\",\"bg\"),t.bg.style(\"stroke-width\",0);var a=s(r,\"g\",\"layer-subplot\");t.shapelayer=s(a,\"g\",\"shapelayer\"),t.imagelayer=s(a,\"g\",\"imagelayer\"),t.gridlayer=s(r,\"g\",\"gridlayer\"),t.overgrid=s(r,\"g\",\"overgrid\"),t.zerolinelayer=s(r,\"g\",\"zerolinelayer\"),t.overzero=s(r,\"g\",\"overzero\"),t.plot=s(r,\"g\",\"plot\"),t.overplot=s(r,\"g\",\"overplot\"),t.xlines=s(r,\"path\",\"xlines\"),t.ylines=s(r,\"path\",\"ylines\"),t.overlines=s(r,\"g\",\"overlines\"),t.xaxislayer=s(r,\"g\",\"xaxislayer\"),t.yaxislayer=s(r,\"g\",\"yaxislayer\"),t.overaxes=s(r,\"g\",\"overaxes\")}t.plot.call(e),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0)}function o(t,e){t&&t.each(function(t){var r=l.select(this),n=\"clip\"+e._uid+t+\"plot\";r.remove(),e._draggers.selectAll(\"g.\"+t).remove(),e._defs.select(\"#\"+n).remove()})}function s(t,e,r){var n=t.selectAll(\".\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}var l=t(\"d3\"),u=t(\"../../lib\"),c=t(\"../plots\"),h=t(\"./axes\"),f=t(\"./constants\");r.name=\"cartesian\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=f.idRegex,r.attrRegex=f.attrRegex,r.attributes=t(\"./attributes\"),r.layoutAttributes=t(\"./layout_attributes\"),r.transitionAxes=t(\"./transition_axes\"),r.plot=function(t,e,r,i){var a,o=t._fullLayout,s=c.getSubplotIds(o,\"cartesian\"),l=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a<l.length;a++)e.push(a);for(a=0;a<s.length;a++){for(var u,h=s[a],f=o._plots[h],d=[],p=0;p<l.length;p++){var g=l[p],m=g[0].trace;m.xaxis+m.yaxis===h&&(e.indexOf(m.index)!==-1&&(u&&[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(m.fill)!==-1&&d.indexOf(u)===-1&&d.push(u),d.push(g)),u=g)}n(t,f,d,r,i)}},r.clean=function(t,e,r,n){var i,a,s,l=n._modules||[],u=e._modules||[];for(s=0;s<l.length;s++)if(\"scatter\"===l[s].name){i=!0;break}for(s=0;s<u.length;s++)if(\"scatter\"===u[s].name){a=!0;break}if(i&&!a){var c=n._plots,h=Object.keys(c||{});for(s=0;s<h.length;s++){var f=c[h[s]];f.plot&&f.plot.select(\"g.scatterlayer\").selectAll(\"g.trace\").remove()}}var d=n._has&&n._has(\"cartesian\"),p=e._has&&e._has(\"cartesian\");if(d&&!p){var g=n._cartesianlayer.selectAll(\".subplot\");g.call(o,n),n._defs.selectAll(\".axesclip\").remove()}},r.drawFramework=function(t){var e=t._fullLayout,r=i(t),n=e._cartesianlayer.selectAll(\".subplot\").data(r,u.identity);n.enter().append(\"g\").attr(\"class\",function(t){return\"subplot \"+t}),n.order(),n.exit().call(o,e),n.each(function(t){var r=e._plots[t];if(r.plotgroup=l.select(this),r.overlays=[],a(r),r.mainplot){var n=e._plots[r.mainplot];n.overlays.push(r)}r.draglayer=s(e._draggers,\"g\",t)})},r.rangePlot=function(t,e,r){a(e),n(t,e,r),c.style(t)}},{\"../../lib\":633,\"../plots\":724,\"./attributes\":663,\"./axes\":664,\"./constants\":669,\"./layout_attributes\":673,\"./transition_axes\":682,d3:95}],673:[function(t,e,r){\"use strict\";var n=t(\"../font_attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"./constants\");e.exports={color:{valType:\"color\",dflt:i.defaultLine},title:{valType:\"string\"},titlefont:a({},n,{}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\"],dflt:\"-\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\"},range:{valType:\"info_array\",items:[{valType:\"any\"},{valType:\"any\"}]},fixedrange:{valType:\"boolean\",dflt:!1},tickmode:{valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"]},nticks:{valType:\"integer\",min:0,dflt:0},tick0:{valType:\"any\"},dtick:{valType:\"any\"},tickvals:{valType:\"data_array\"},ticktext:{valType:\"data_array\"},ticks:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"]},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1},ticklen:{valType:\"number\",min:0,dflt:5},tickwidth:{valType:\"number\",min:0,dflt:1},tickcolor:{valType:\"color\",dflt:i.defaultLine},showticklabels:{valType:\"boolean\",dflt:!0},tickfont:a({},n,{}),tickangle:{valType:\"angle\",dflt:\"auto\"},tickprefix:{valType:\"string\",dflt:\"\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\"},ticksuffix:{valType:\"string\",dflt:\"\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\"},separatethousands:{valType:\"boolean\",dflt:!1},tickformat:{valType:\"string\",dflt:\"\"},hoverformat:{valType:\"string\",dflt:\"\"},showline:{valType:\"boolean\",dflt:!1},linecolor:{valType:\"color\",dflt:i.defaultLine},linewidth:{valType:\"number\",min:0,dflt:1},showgrid:{valType:\"boolean\"},gridcolor:{valType:\"color\",dflt:i.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},zeroline:{valType:\"boolean\"},zerolinecolor:{valType:\"color\",dflt:i.defaultLine},zerolinewidth:{valType:\"number\",dflt:1},anchor:{valType:\"enumerated\",values:[\"free\",o.idRegex.x.toString(),o.idRegex.y.toString()]},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"]},overlaying:{valType:\"enumerated\",values:[\"free\",o.idRegex.x.toString(),o.idRegex.y.toString()]},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},position:{valType:\"number\",min:0,max:1,dflt:0},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\"},categoryarray:{valType:\"data_array\"},_deprecated:{autotick:{valType:\"boolean\"}}}},{\"../../components/color/attributes\":532,\"../../lib/extend\":626,\"../font_attributes\":684,\"./constants\":669}],674:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"../layout_attributes\"),s=t(\"./constants\"),l=t(\"./layout_attributes\"),u=t(\"./axis_defaults\"),c=t(\"./position_defaults\"),h=t(\"./axis_ids\");e.exports=function(t,e,r){function f(t,e){var r=Number(t.substr(5)||1),n=Number(e.substr(5)||1);return r-n}var d,p=Object.keys(t),g=[],m=[],v=[],y=[],x={},b={};for(d=0;d<r.length;d++){var _,w,M=r[d];if(n.traceIs(M,\"cartesian\"))_=g,w=m;else{if(!n.traceIs(M,\"gl2d\"))continue;_=v,w=y}var A=h.id2name(M.xaxis),k=h.id2name(M.yaxis);if(A&&_.indexOf(A)===-1&&_.push(A),k&&w.indexOf(k)===-1&&w.push(k),n.traceIs(M,\"2dMap\")&&(x[A]=!0,x[k]=!0),n.traceIs(M,\"oriented\")){var T=\"h\"===M.orientation?k:A;b[T]=!0}}var E=e._has(\"gl3d\")||e._has(\"geo\");if(!E)for(d=0;d<p.length;d++){var S=p[d];v.indexOf(S)===-1&&g.indexOf(S)===-1&&s.xAxisMatch.test(S)?g.push(S):y.indexOf(S)===-1&&m.indexOf(S)===-1&&s.yAxisMatch.test(S)&&m.push(S)}g.length&&m.length&&i.pushUnique(e._basePlotModules,n.subplotsRegistry.cartesian);var L=g.concat(v).sort(f),z=m.concat(y).sort(f),C=L.concat(z),I=a.background;L.length&&z.length&&(I=i.coerce(t,e,o,\"plot_bgcolor\"));var P=a.combine(I,e.paper_bgcolor);C.forEach(function(n){function a(t,e){return i.coerce(s,f,l,t,e)}var o=n.charAt(0),s=t[n]||{},f={},d={letter:o,font:e.font,outerTicks:x[n],showGrid:!b[n],name:n,data:r,bgColor:P},p={letter:o,counterAxes:{x:z,y:L}[o].map(h.name2id),overlayableAxes:{x:L,y:z}[o].filter(function(e){return e!==n&&!(t[e]||{}).overlaying}).map(h.name2id)};u(s,f,a,d),c(s,f,a,p),e[n]=f,t[n]||\"-\"===s.type||(t[n]={type:s.type})});var D=n.getComponentMethod(\"rangeslider\",\"handleDefaults\"),O=n.getComponentMethod(\"rangeselector\",\"handleDefaults\");C.forEach(function(r){var n=r.charAt(0),i=t[r],a=e[r],o={x:z,y:L}[n];D(t,e,r,o),\"x\"===n&&\"date\"===a.type&&O(i,a,e,o)})}},{\"../../components/color\":533,\"../../lib\":633,\"../../registry\":739,\"../layout_attributes\":715,\"./axis_defaults\":666,\"./axis_ids\":667,\"./constants\":669,\"./layout_attributes\":673,\"./position_defaults\":676}],675:[function(t,e,r){\"use strict\";function n(t,e,r){var n,a,o,s,l,u=[],c=r.map(function(e){return e[t]}),h=i.bisector(e).left;for(n=0;n<c.length;n++)for(o=c[n],a=0;a<o.length;a++)s=o[a],null!==s&&void 0!==s&&(l=h(u,s),l<u.length&&u[l]===s||u.splice(l,0,s));return u}var i=t(\"d3\");e.exports=function(t,e,r,a){switch(e){case\"array\":return Array.isArray(r)?r.slice():[];case\"category ascending\":return n(t,i.ascending,a);case\"category descending\":return n(t,i.descending,a);case\"trace\":return[];default:return[]}}},{d3:95}],676:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=a.counterAxes||[],s=a.overlayableAxes||[],l=a.letter,u=i.coerce(t,e,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(o),dflt:n(t.position)?\"free\":o[0]||\"free\"}},\"anchor\");\"free\"===u&&r(\"position\"),i.coerce(t,e,{side:{valType:\"enumerated\",values:\"x\"===l?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:\"x\"===l?\"bottom\":\"left\"}},\"side\");var c=!1;if(s.length&&(c=i.coerce(t,e,{overlaying:{valType:\"enumerated\",values:[!1].concat(s),dflt:!1}},\"overlaying\")),!c){var h=r(\"domain\");h[0]>h[1]-.01&&(e.domain=[0,1]),i.noneOrAll(t.domain,e.domain,[0,1])}return e}},{\"../../lib\":633,\"fast-isnumeric\":104}],677:[function(t,e,r){\"use strict\";function n(t){return t._id}var i=t(\"../../lib/polygon\"),a=t(\"../../components/color\"),o=t(\"./axes\"),s=t(\"./constants\"),l=i.filter,u=i.tester,c=s.MINSELECT;e.exports=function(t,e,r,i,h){function f(t){var e=\"y\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function d(t,e){return t-e}var p,g=i.gd._fullLayout._zoomlayer,m=i.element.getBoundingClientRect(),v=i.plotinfo.xaxis._offset,y=i.plotinfo.yaxis._offset,x=e-m.left,b=r-m.top,_=x,w=b,M=\"M\"+x+\",\"+b,A=i.xaxes[0]._length,k=i.yaxes[0]._length,T=i.xaxes.map(n),E=i.yaxes.map(n),S=i.xaxes.concat(i.yaxes);\"lasso\"===h&&(p=l([[x,b]],s.BENDPX));var L=g.selectAll(\"path.select-outline\").data([1,2]);L.enter().append(\"path\").attr(\"class\",function(t){return\"select-outline select-outline-\"+t}).attr(\"transform\",\"translate(\"+v+\", \"+y+\")\").attr(\"d\",M+\"Z\");var z,C,I,P,D,O=g.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:a.background,stroke:a.defaultLine,\"stroke-width\":1}).attr(\"transform\",\"translate(\"+v+\", \"+y+\")\").attr(\"d\",\"M0,0Z\"),R=[],F=i.gd,j=[];for(z=0;z<F.calcdata.length;z++)if(C=F.calcdata[z],I=C[0].trace,I._module&&I._module.selectPoints)if(i.subplot){if(I.subplot!==i.subplot)continue;R.push({selectPoints:I._module.selectPoints,cd:C,xaxis:i.xaxes[0],yaxis:i.yaxes[0]})}else{if(T.indexOf(I.xaxis)===-1)continue;if(E.indexOf(I.yaxis)===-1)continue;R.push({selectPoints:I._module.selectPoints,cd:C,xaxis:o.getFromId(F,I.xaxis),yaxis:o.getFromId(F,I.yaxis)})}i.moveFn=function(t,e){var r,n;_=Math.max(0,Math.min(A,t+x)),w=Math.max(0,Math.min(k,e+b));var a=Math.abs(_-x),o=Math.abs(w-b);for(\"select\"===h?(o<Math.min(.6*a,c)?(r=u([[x,0],[x,k],[_,k],[_,0]]),O.attr(\"d\",\"M\"+r.xmin+\",\"+(b-c)+\"h-4v\"+2*c+\"h4ZM\"+(r.xmax-1)+\",\"+(b-c)+\"h4v\"+2*c+\"h-4Z\")):a<Math.min(.6*o,c)?(r=u([[0,b],[0,w],[A,w],[A,b]]),O.attr(\"d\",\"M\"+(x-c)+\",\"+r.ymin+\"v-4h\"+2*c+\"v4ZM\"+(x-c)+\",\"+(r.ymax-1)+\"v4h\"+2*c+\"v-4Z\")):(r=u([[x,b],[x,w],[_,w],[_,b]]),O.attr(\"d\",\"M0,0Z\")),L.attr(\"d\",\"M\"+r.xmin+\",\"+r.ymin+\"H\"+(r.xmax-1)+\"V\"+(r.ymax-1)+\"H\"+r.xmin+\"Z\")):\"lasso\"===h&&(p.addPt([_,w]),r=u(p.filtered),L.attr(\"d\",\"M\"+p.filtered.join(\"L\")+\"Z\")),j=[],z=0;z<R.length;z++)P=R[z],[].push.apply(j,P.selectPoints(P,r));if(D={points:j},\"select\"===h){var s,l=D.range={};for(z=0;z<S.length;z++)n=S[z],s=n._id.charAt(0),l[n._id]=[n.p2d(r[s+\"min\"]),n.p2d(r[s+\"max\"])].sort(d)}else{var g=D.lassoPoints={};for(z=0;z<S.length;z++)n=S[z],g[n._id]=p.filtered.map(f(n))}i.gd.emit(\"plotly_selecting\",D)},i.doneFn=function(t,e){if(O.remove(),t||2!==e)i.gd.emit(\"plotly_selected\",D);else{for(L.remove(),z=0;z<R.length;z++)P=R[z],P.selectPoints(P,!1);F.emit(\"plotly_deselect\",null)}}}},{\"../../components/color\":533,\"../../lib/polygon\":640,\"./axes\":664,\"./constants\":669}],678:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../constants/numerical\"),s=o.FP_SAFE,l=o.BADNUM,u=t(\"./constants\"),c=t(\"./axis_ids\");e.exports=function(t){function e(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-3*h*Math.abs(n-i))}return l}function r(t){return Math.pow(10,t)}function o(t){return i(t)?(t=Number(t),t<-s||t>s?l:i(t)?Number(t):l):l}var h=10;t.c2l=\"log\"===t.type?e:o,t.l2c=\"log\"===t.type?r:o,t.l2d=function(e){return t.c2d(t.l2c(e))},t.p2d=function(e){return t.l2d(t.p2l(e))},t.cleanRange=function(e){e||(e=\"range\");var r,n,o=t[e],l=(t._id||\"x\").charAt(0);if(n=\"date\"===t.type?u.DFLTRANGEDATE:\"y\"===l?u.DFLTRANGEY:u.DFLTRANGEX,n=n.slice(),!o||2!==o.length)return void(t[e]=n);for(\"date\"===t.type&&(o[0]=a.cleanDate(o[0]),o[1]=a.cleanDate(o[1])),r=0;r<2;r++)if(\"date\"===t.type){if(!a.isDateTime(o[r])){t[e]=n;break}if(o[r]<a.MIN_MS&&(o[r]=a.MIN_MS),o[r]>a.MAX_MS&&(o[r]=a.MAX_MS),t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!i(o[r])){if(!i(o[1-r])){t[e]=n;break}o[r]=o[1-r]*(r?10:.1)}if(o[r]<-s?o[r]=-s:o[r]>s&&(o[r]=s),o[0]===o[1]){var h=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=h,o[1]+=h}}},t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.setScale=function(e){var r=t._gd._fullLayout._size,n=t._id.charAt(0);if(t._categories||(t._categories=[]),t.overlaying){var i=c.getFromId(t._gd,t.overlaying);t.domain=i.domain}var o=e&&t._r?\"_r\":\"range\";t.cleanRange(o);var s=t.r2l(t[o][0]),l=t.r2l(t[o][1]);if(\"y\"===n?(t._offset=r.t+(1-t.domain[1])*r.h,t._length=r.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=r.l+t.domain[0]*r.w,t._length=r.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b))throw a.notifier(\"Something went wrong with axis scaling\",\"long\"),t._gd._replotting=!1,new Error(\"axis scaling\")},t.l2p=function(e){return i(e)?n.round(t._b+t._m*e,2):l},t.p2l=function(e){return(e-t._b)/t._m},t.c2p=function(e,r){return t.l2p(t.c2l(e,r))},t.p2c=function(e){return t.l2c(t.p2l(e))},t.r2p=function(e,r){return t.l2p(t.r2l(e,r))},t.p2r=function(e){return t.l2r(t.p2l(e))},t.r2c=function(e){return t.l2c(t.r2l(e))},t.c2r=function(e){return t.l2r(t.c2l(e))},[\"linear\",\"log\",\"-\"].indexOf(t.type)!==-1?(t.c2d=o,t.d2c=a.cleanNumber,\"log\"===t.type?(t.d2l=function(e,r){return t.c2l(t.d2c(e),r)},t.d2r=t.d2l,t.r2d=t.l2d):(t.d2l=a.cleanNumber,t.d2r=a.cleanNumber,t.r2d=o),t.r2l=o,t.l2r=o):\"date\"===t.type?(t.c2d=a.ms2DateTime,t.d2c=function(t){var e=a.dateTime2ms(t);if(e===l){if(!i(t))return l;e=Number(t)}return a.constrain(e,a.MIN_MS,a.MAX_MS)},t.d2l=t.d2c,t.r2l=t.d2c,t.l2r=t.c2d,t.d2r=a.identity,t.r2d=a.identity,t.cleanr=function(e){return t.c2d(t.d2c(e))}):\"category\"===t.type&&(t.c2d=function(e){return t._categories[Math.round(e)]},t.d2c=function(e){null!==e&&void 0!==e&&t._categories.indexOf(e)===-1&&t._categories.push(e);var r=t._categories.indexOf(e);return r===-1?l:r},t.d2l_noadd=function(e){var r=t._categories.indexOf(e);return r!==-1?r:\"number\"==typeof e?e:void 0},t.d2l=t.d2c,t.r2l=o,t.l2r=o,t.d2r=t.d2c,t.r2d=t.c2d),t.makeCalcdata=function(e,r){var n,i,a;if(r in e)for(n=e[r],i=new Array(n.length),a=0;a<n.length;a++)i[a]=t.d2c(n[a]);else{var o=r+\"0\"in e?t.d2c(e[r+\"0\"]):0,s=e[\"d\"+r]?Number(e[\"d\"+r]):1;for(n=e[{x:\"y\",y:\"x\"}[r]],i=new Array(n.length),a=0;a<n.length;a++)i[a]=o+a*s}return i},t._min=[],t._max=[],delete t._minDtick,delete t._forceTick0}},{\"../../constants/numerical\":616,\"../../lib\":633,\"./axis_ids\":667,\"./constants\":669,d3:95,\"fast-isnumeric\":104}],679:[function(t,e,r){\"use strict\";function n(t){var e=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"],r=e.filter(function(e){return void 0!==t[e]}),n=function(e){return t[e]===t[r[0]]};if(r.every(n)||1===r.length)return t[r[0]]}var i=t(\"../../lib\");e.exports=function(t,e,r,a,o){var s=n(t),l=r(\"tickprefix\");l&&r(\"showtickprefix\",s);var u=r(\"ticksuffix\");u&&r(\"showticksuffix\",s);var c=r(\"showticklabels\");if(c){var h=o.font||{},f=e.color===t.color?e.color:h.color;if(i.coerceFont(r,\"tickfont\",{family:h.family,size:h.size,color:f}),r(\"tickangle\"),\"category\"!==a){var d=r(\"tickformat\");d||\"date\"===a||(r(\"showexponent\",s),r(\"exponentformat\"),r(\"separatethousands\"))}}\"category\"===a||o.noHover||r(\"hoverformat\")}},{\"../../lib\":633}],680:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,\"ticklen\"),s=n.coerce2(t,e,i,\"tickwidth\"),l=n.coerce2(t,e,i,\"tickcolor\",e.color),u=r(\"ticks\",a.outerTicks||o||s||l?\"outside\":\"\");u||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\"../../lib\":633,\"./layout_attributes\":673}],681:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").ONEDAY;e.exports=function(t,e,r,o){var s=\"auto\";\"array\"!==t.tickmode||\"log\"!==o&&\"date\"!==o||(t.tickmode=\"auto\"),Array.isArray(t.tickvals)?s=\"array\":t.dtick&&(s=\"linear\");var l=r(\"tickmode\",s);if(\"auto\"===l)r(\"nticks\");else if(\"linear\"===l){var u=\"date\"===o?a:1,c=r(\"dtick\",u);if(n(c))e.dtick=c>0?Number(c):u;else if(\"string\"!=typeof c)e.dtick=u;else{var h=c.charAt(0),f=c.substr(1);f=n(f)?Number(f):0,(f<=0||!(\"date\"===o&&\"M\"===h&&f===Math.round(f)||\"log\"===o&&\"L\"===h||\"log\"===o&&\"D\"===h&&(1===f||2===f)))&&(e.dtick=u)}var d=\"date\"===o?\"2000-01-01\":0,p=r(\"tick0\",d);\"date\"===o?e.tick0=i.cleanDate(p,d):n(p)&&\"D1\"!==c&&\"D2\"!==c?e.tick0=Number(p):e.tick0=d}else{var g=r(\"tickvals\");void 0===g?e.tickmode=\"auto\":r(\"ticktext\")}}},{\"../../constants/numerical\":616,\"../../lib\":633,\"fast-isnumeric\":104}],682:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plotly\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"./axes\"),l=/((x|y)([2-9]|[1-9][0-9]+)?)axis$/;e.exports=function(t,e,r,u){function c(t){var e,r,n,i,a,o={};for(e in t)if(r=e.split(\".\"),n=r[0].match(l)){var s=n[1],u=s+\"axis\";if(i=y[u],a={},Array.isArray(t[e])?a.to=t[e].slice(0):Array.isArray(t[e].range)&&(a.to=t[e].range.slice(0)),!a.to)continue;a.axisName=u,a.length=i._length,x.push(s),o[s]=a}return o}function h(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(s.indexOf(l)===-1){var u=l.xaxis._id,c=l.yaxis._id,h=l.xaxis.range,f=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[u]?r[u].to:h,a=r[c]?r[c].to:f,h[0]===i[0]&&h[1]===i[1]&&f[0]===a[0]&&f[1]===a[1]||e.indexOf(u)===-1&&e.indexOf(c)===-1||s.push(l)}}return s}function f(e,r){function n(e,r){for(i=0;i<e.length;i++){var n=e[i];o.indexOf(n.xref)===-1&&o.indexOf(n.yref)===-1||r(t,i)}}var i,o=[];for(o=[e._id,r._id],i=0;i<o.length;i++)s.doTicks(t,o[i],!0);n(y.annotations||[],a.getComponentMethod(\"annotations\",\"drawOne\")),n(y.shapes||[],a.getComponentMethod(\"shapes\",\"drawOne\")),n(y.images||[],a.getComponentMethod(\"images\",\"draw\"))}function d(t){var e=t.xaxis,r=t.yaxis;y._defs.selectAll(\"#\"+t.clipId).call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1).selectAll(\".points\").selectAll(\".point\").call(o.setPointGroupScale,1,1)}function p(e,r){var n,i,a,s=b[e.xaxis._id],l=b[e.yaxis._id],u=[];if(s){n=t._fullLayout[s.axisName],i=n._r,a=s.to,u[0]=(i[0]*(1-r)+r*a[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var c=i[1]-i[0],h=a[1]-a[0];n.range[0]=i[0]*(1-r)+r*a[0],n.range[1]=i[1]*(1-r)+r*a[1],u[2]=e.xaxis._length*(1-r+r*h/c)}else u[0]=0,u[2]=e.xaxis._length;if(l){n=t._fullLayout[l.axisName],i=n._r,a=l.to,u[1]=(i[1]*(1-r)+r*a[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var d=i[1]-i[0],p=a[1]-a[0];n.range[0]=i[0]*(1-r)+r*a[0],n.range[1]=i[1]*(1-r)+r*a[1],u[3]=e.yaxis._length*(1-r+r*p/d)}else u[1]=0,u[3]=e.yaxis._length;f(e.xaxis,e.yaxis);var g=e.xaxis,m=e.yaxis,v=!!s,x=!!l,_=v?g._length/u[2]:1,w=x?m._length/u[3]:1,M=v?u[0]:0,A=x?u[1]:0,k=v?u[0]/u[2]*g._length:0,T=x?u[1]/u[3]*m._length:0,E=g._offset-k,S=m._offset-T;y._defs.selectAll(\"#\"+e.clipId).call(o.setTranslate,M,A).call(o.setScale,1/_,1/w),e.plot.call(o.setTranslate,E,S).call(o.setScale,_,w).selectAll(\".points\").selectAll(\".point\").call(o.setPointGroupScale,1/_,1/w)}function g(){for(var e={},r=0;r<_.length;r++){var n=t._fullLayout[b[_[r]].axisName],a=b[_[r]].to;e[n._name+\".range[0]\"]=a[0],e[n._name+\".range[1]\"]=a[1],n.range=a.slice()}return M&&M(),i.relayout(t,e).then(function(){for(var t=0;t<w.length;t++)d(w[t])})}function m(){for(var e={},r=0;r<_.length;r++){var n=t._fullLayout[_[r]+\"axis\"];e[n._name+\".range[0]\"]=n.range[0],e[n._name+\".range[1]\"]=n.range[1],n.range=n._r.slice()}return i.relayout(t,e).then(function(){for(var t=0;t<w.length;t++)d(w[t])})}function v(){k=Date.now();for(var t=Math.min(1,(k-A)/r.duration),e=E(t),n=0;n<w.length;n++)p(w[n],e);k-A>r.duration?(g(),T=window.cancelAnimationFrame(v)):T=window.requestAnimationFrame(v)}var y=t._fullLayout,x=[],b=c(e),_=Object.keys(b),w=h(y,_,b);if(!w.length)return!1;var M;u&&(M=u());var A,k,T,E=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(T),T=null,m()}),A=Date.now(),T=window.requestAnimationFrame(v),Promise.resolve()}},{\"../../lib\":633,\"../../plotly\":659,\"../../registry\":739,\"./axes\":664,d3:95}],683:[function(t,e,r){\"use strict\";function n(t,e,r){var n,i,a,o=!1;if(\"data\"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(\"layout\"!==e.type)return!1;n=t._fullLayout}return i=u.nestedProperty(n,e.prop).get(),a=r[e.type]=r[e.type]||{},a.hasOwnProperty(e.prop)&&a[e.prop]!==i&&(o=!0),a[e.prop]=i,{changed:o,value:i}}function i(t,e){return Array.isArray(e[0])&&1===e[0].length&&\"string\"==typeof e[0][0]?[{type:\"layout\",prop:\"_currentFrame\",value:e[0][0]}]:[]}function a(t,e){var r=[],n=e[0],i={};if(\"string\"==typeof n)i[n]=e[1];else{if(!u.isPlainObject(n))return r;i=n}return s(i,function(t,e,n){r.push({type:\"layout\",prop:t,value:n})},\"\",0),r}function o(t,e){var r,n,i,a,o=[];if(n=e[0],i=e[1],r=e[2],a={},\"string\"==typeof n)a[n]=i;else{if(!u.isPlainObject(n))return o;a=n,void 0===r&&(r=i)}return void 0===r&&(r=null),s(a,function(e,n,i){var a;if(Array.isArray(i)){var s=Math.min(i.length,t.data.length);r&&(s=Math.min(s,r.length)),a=[];for(var l=0;l<s;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var u=i;i=[];for(var c=0;c<a.length;c++)i[c]=u}i.length=Math.min(a.length,i.length)}o.push({type:\"data\",prop:e,traces:a,value:i})},\"\",0),o}function s(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(\"_\"!==i[0]){var o=r+(n>0?\".\":\"\")+i;u.isPlainObject(a)?s(a,e,o,n+1):e(o,i,a)}})}var l=t(\"../plotly\"),u=t(\"../lib\");r.manageCommandObserver=function(t,e,i,a){var o={},s=!0;e&&e._commandObserver&&(o=e._commandObserver),o.cache||(o.cache={}),o.lookupTable={};var l=r.hasSimpleAPICommandBindings(t,i,o.lookupTable);if(e&&e._commandObserver){if(l)return o;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,o}if(l){n(t,l,o.cache),o.check=function(){if(s){var e=n(t,l,o.cache);return e.changed&&a&&void 0!==o.lookupTable[e.value]&&(o.disable(),Promise.resolve(a({value:e.value,type:l.type,prop:l.prop,traces:l.traces,index:o.lookupTable[e.value]})).then(o.enable,o.enable)),e.changed}};for(var c=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],h=0;h<c.length;h++)t._internalOn(c[h],o.check);o.remove=function(){for(var e=0;e<c.length;e++)t._removeInternalListener(c[e],o.check)}}else u.warn(\"Unable to automatically bind plot updates to API command\"),o.lookupTable={},o.remove=function(){};return o.disable=function(){s=!1},o.enable=function(){s=!0},e&&(e._commandObserver=o),o},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],u=l.method,c=l.args;if(!u)return!1;var h=r.computeAPICommandBindings(t,u,c);if(1!==h.length)return!1;if(a){if(s=h[0],s.type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==s.traces[f])return!1}else if(s.prop!==a.prop)return!1}else a=h[0],Array.isArray(a.traces)&&a.traces.sort();s=h[0];var d=s.value;if(Array.isArray(d)){if(1!==d.length)return!1;d=d[0]}n&&(n[d]=i)}return a},r.executeAPICommand=function(t,e,r){for(var n=l[e],i=[t],a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return u.warn(\"API call to Plotly.\"+e+\" rejected.\",t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(e){case\"restyle\":n=o(t,r);break;case\"relayout\":n=a(t,r);break;case\"update\":n=o(t,[r[0],r[2]]).concat(a(t,[r[1]]));break;case\"animate\":n=i(t,r);break;default:n=[]}return n}},{\"../lib\":633,\"../plotly\":659}],684:[function(t,e,r){\"use strict\";e.exports={family:{valType:\"string\",noBlank:!0,strict:!0},size:{valType:\"number\",min:1},color:{valType:\"color\"}}},{}],685:[function(t,e,r){\"use strict\";e.exports={group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"data_array\"},baseframe:{valType:\"string\"},data:{valType:\"data_array\"},layout:{valType:\"any\"}}},{}],686:[function(t,e,r){\"use strict\";var n=e.exports={};n.projNames={equirectangular:\"equirectangular\",mercator:\"mercator\",orthographic:\"orthographic\",\"natural earth\":\"naturalEarth\",kavrayskiy7:\"kavrayskiy7\",miller:\"miller\",robinson:\"robinson\",eckert4:\"eckert4\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",\"conic equal area\":\"conicEqualArea\",\"conic conformal\":\"conicConformal\",\"conic equidistant\":\"conicEquidistant\",gnomonic:\"gnomonic\",stereographic:\"stereographic\",mollweide:\"mollweide\",hammer:\"hammer\",\"transverse mercator\":\"transverseMercator\",\"albers usa\":\"albersUsa\",\"winkel tripel\":\"winkel3\"},n.axesNames=[\"lonaxis\",\"lataxis\"],n.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},n.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180},n.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,80],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}},n.clipPad=.001,n.precision=.1,n.landColor=\"#F0DC82\",n.waterColor=\"#3399FF\",n.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},n.sphereSVG={type:\"Sphere\"},n.fillLayers=[\"ocean\",\"land\",\"lakes\"],n.lineLayers=[\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"frame\"],n.baseLayers=[\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\"],\nn.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"},n.baseLayersOverChoropleth=[\"rivers\",\"lakes\"]},{}],687:[function(t,e,r){\"use strict\";function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.hoverContainer=null,this.topojsonName=null,this.topojson=null,this.projectionType=null,this.projection=null,this.clipAngle=null,this.setScale=null,this.path=null,this.zoom=null,this.zoomReset=null,this.xaxis=null,this.yaxis=null,this.makeFramework(),this.updateFx(e.hovermode),this.traceHash={}}function i(t){for(var e=[],r=0;r<t.length;r++){var n=t[r],i=n[0].trace;i.visible===!0&&e.push(n)}return e}function a(t,e,r){return c.geo.graticule().extent([[t[0],e[0]],[t[1],e[1]]]).step(r)}function o(t,e,r){var n=x.layerNameToAdjective[e];t.select(\".\"+e).selectAll(\"path\").attr(\"stroke\",\"none\").call(h.fill,r[n+\"color\"])}function s(t,e,r){var n=x.layerNameToAdjective[e];t.select(\".\"+e).selectAll(\"path\").attr(\"fill\",\"none\").call(h.stroke,r[n+\"color\"]).call(f.dashLine,\"\",r[n+\"width\"])}function l(t,e,r){t.select(\".\"+e+\"graticule\").selectAll(\"path\").attr(\"fill\",\"none\").call(h.stroke,r[e].gridcolor).call(f.dashLine,\"\",r[e].gridwidth)}function u(t){var e={type:\"linear\",showexponent:\"all\",exponentformat:d.layoutAttributes.exponentformat.dflt,_gd:{_fullLayout:t}};return d.setConvert(e),e}var c=t(\"d3\"),h=t(\"../../components/color\"),f=t(\"../../components/drawing\"),d=t(\"../../plots/cartesian/axes\"),p=t(\"../../plots/cartesian/graph_interact\"),g=t(\"./projections\"),m=t(\"./set_scale\"),v=t(\"./zoom\"),y=t(\"./zoom_reset\"),x=t(\"./constants\"),b=t(\"../../constants/xmlns_namespaces\"),_=t(\"../../lib/topojson_utils\"),w=t(\"topojson-client\").feature;g(c),e.exports=n;var M=n.prototype;M.plot=function(t,e,r){var n,i,a=this,o=e[a.id],s=e._size;a.projection=null,a.setScale=m(o,s),a.makeProjection(o),a.makePath(),a.adjustLayout(o,s),a.zoom=v(a,o),a.zoomReset=y(a,o),a.mockAxis=u(e),a.framework.call(a.zoom).on(\"dblclick.zoom\",a.zoomReset),a.framework.on(\"mousemove\",function(){var t=c.mouse(this),e=a.projection.invert(t);if(!isNaN(e[0])&&!isNaN(e[1])){var r={target:!0,xpx:t[0],ypx:t[1]};a.xaxis.c2p=function(){return t[0]},a.xaxis.p2c=function(){return e[0]},a.yaxis.c2p=function(){return t[1]},a.yaxis.p2c=function(){return e[1]},p.hover(a.graphDiv,r,a.id)}}),a.framework.on(\"mouseout\",function(){p.loneUnhover(e._toppaper)}),a.framework.on(\"click\",function(){p.click(a.graphDiv,{target:!0})}),n=_.getTopojsonName(o),null===a.topojson||n!==a.topojsonName?(a.topojsonName=n,void 0!==PlotlyGeoAssets.topojson[a.topojsonName]?(a.topojson=PlotlyGeoAssets.topojson[a.topojsonName],a.onceTopojsonIsLoaded(t,o)):(i=_.getTopojsonPath(a.topojsonURL,a.topojsonName),r.push(new Promise(function(e,r){c.json(i,function(n,s){return n?void r(404===n.status?new Error([\"plotly.js could not find topojson file at\",i,\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \")):new Error([\"unexpected error while fetching topojson file at\",i].join(\" \"))):(a.topojson=s,PlotlyGeoAssets.topojson[a.topojsonName]=s,a.onceTopojsonIsLoaded(t,o),void e())})})))):a.onceTopojsonIsLoaded(t,o)},M.onceTopojsonIsLoaded=function(t,e){var r;this.drawLayout(e);var n=this.traceHash,a={};for(r=0;r<t.length;r++){var o=t[r],s=o[0].trace;a[s.type]=a[s.type]||[],a[s.type].push(o)}var l=Object.keys(n),u=Object.keys(a);for(r=0;r<l.length;r++){var c=l[r];if(u.indexOf(c)===-1){var h=n[c][0],f=h[0].trace;f.visible=!1,a[c]=[h]}}for(u=Object.keys(a),r=0;r<u.length;r++){var d=a[u[r]],p=d[0][0].trace._module;p.plot(this,i(d),e)}this.traceHash=a,this.render()},M.updateFx=function(t){this.showHover=t!==!1},M.makeProjection=function(t){var e,r=t.projection,n=r.type,i=null===this.projection||n!==this.projectionType;i?(this.projectionType=n,e=this.projection=c.geo[x.projNames[n]]()):e=this.projection,e.translate(r._translate0).precision(x.precision),t._isAlbersUsa||e.rotate(r._rotate).center(r._center),t._clipAngle?(this.clipAngle=t._clipAngle,e.clipAngle(t._clipAngle-x.clipPad)):this.clipAngle=null,r.parallels&&e.parallels(r.parallels),i&&this.setScale(e),e.translate(r._translate).scale(r._scale)},M.makePath=function(){this.path=c.geo.path().projection(this.projection)},M.makeFramework=function(){var t=this.geoDiv=c.select(this.container).append(\"div\");t.attr(\"id\",this.id).style(\"position\",\"absolute\");var e=this.hoverContainer=t.append(\"svg\");e.attr(b.svgAttrs).style({position:\"absolute\",\"z-index\":20,\"pointer-events\":\"none\"});var r=this.framework=t.append(\"svg\");r.attr(b.svgAttrs).attr({position:\"absolute\",preserveAspectRatio:\"none\"}),r.append(\"g\").attr(\"class\",\"bglayer\").append(\"rect\"),r.append(\"g\").attr(\"class\",\"baselayer\"),r.append(\"g\").attr(\"class\",\"choroplethlayer\"),r.append(\"g\").attr(\"class\",\"baselayeroverchoropleth\"),r.append(\"g\").attr(\"class\",\"scattergeolayer\"),r.on(\"dblclick.zoom\",null),this.xaxis={_id:\"x\"},this.yaxis={_id:\"y\"}},M.adjustLayout=function(t,e){var r=t.domain,n=e.l+e.w*r.x[0]+t._marginX,i=e.t+e.h*(1-r.y[1])+t._marginY;this.geoDiv.style({left:n+\"px\",top:i+\"px\",width:t._width+\"px\",height:t._height+\"px\"}),this.hoverContainer.attr({width:t._width,height:t._height}),this.framework.attr({width:t._width,height:t._height}),this.framework.select(\".bglayer\").select(\"rect\").attr({width:t._width,height:t._height}).call(h.fill,t.bgcolor),this.xaxis._offset=n,this.xaxis._length=t._width,this.yaxis._offset=i,this.yaxis._length=t._height},M.drawTopo=function(t,e,r){if(r[\"show\"+e]===!0){var n=this.topojson,i=\"frame\"===e?x.sphereSVG:w(n,n.objects[e]);t.append(\"g\").datum(i).attr(\"class\",e).append(\"path\").attr(\"class\",\"basepath\")}},M.drawGraticule=function(t,e,r){var n=r[e];if(n.showgrid===!0){var i=x.scopeDefaults[r.scope],o=i.lonaxisRange,s=i.lataxisRange,l=\"lonaxis\"===e?[n.dtick]:[0,n.dtick],u=a(o,s,l);t.append(\"g\").datum(u).attr(\"class\",e+\"graticule\").append(\"path\").attr(\"class\",\"graticulepath\")}},M.drawLayout=function(t){var e,r=this.framework.select(\"g.baselayer\"),n=x.baseLayers,i=x.axesNames;r.selectAll(\"*\").remove();for(var a=0;a<n.length;a++)e=n[a],i.indexOf(e)!==-1?this.drawGraticule(r,e,t):this.drawTopo(r,e,t);this.styleLayout(t)},M.styleLayer=function(t,e,r){var n=x.fillLayers,i=x.lineLayers;n.indexOf(e)!==-1?o(t,e,r):i.indexOf(e)!==-1&&s(t,e,r)},M.styleLayout=function(t){for(var e,r=this.framework.select(\"g.baselayer\"),n=x.baseLayers,i=x.axesNames,a=0;a<n.length;a++)e=n[a],i.indexOf(e)!==-1?l(r,e,t):this.styleLayer(r,e,t)},M.isLonLatOverEdges=function(t){var e=this.clipAngle;if(null===e)return!1;var r=this.projection.rotate(),n=c.geo.distance(t,[-r[0],-r[1]]),i=e*Math.PI/180;return n>i},M.render=function(){function t(t){var e=r.projection(t.lonlat);return e?\"translate(\"+e[0]+\",\"+e[1]+\")\":null}function e(t){return r.isLonLatOverEdges(t.lonlat)?\"0\":\"1.0\"}var r=this,n=r.framework,i=n.select(\"g.choroplethlayer\"),a=n.select(\"g.scattergeolayer\"),o=r.path;n.selectAll(\"path.basepath\").attr(\"d\",o),n.selectAll(\"path.graticulepath\").attr(\"d\",o),i.selectAll(\"path.choroplethlocation\").attr(\"d\",o),i.selectAll(\"path.basepath\").attr(\"d\",o),a.selectAll(\"path.js-line\").attr(\"d\",o),null!==r.clipAngle?(a.selectAll(\"path.point\").style(\"opacity\",e).attr(\"transform\",t),a.selectAll(\"text\").style(\"opacity\",e).attr(\"transform\",t)):(a.selectAll(\"path.point\").attr(\"transform\",t),a.selectAll(\"text\").attr(\"transform\",t))}},{\"../../components/color\":533,\"../../components/drawing\":556,\"../../constants/xmlns_namespaces\":618,\"../../lib/topojson_utils\":648,\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/graph_interact\":671,\"./constants\":686,\"./projections\":694,\"./set_scale\":695,\"./zoom\":696,\"./zoom_reset\":697,d3:95,\"topojson-client\":491}],688:[function(t,e,r){\"use strict\";function n(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.geo===e&&r.push(i)}return r}var i=t(\"./geo\"),a=t(\"../../plots/plots\");r.name=\"geo\",r.attr=\"geo\",r.idRoot=\"geo\",r.idRegex=/^geo([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^geo([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=a.getSubplotIds(e,\"geo\");void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var s=0;s<o.length;s++){var l=o[s],u=n(r,l),c=e[l]._subplot;void 0===c&&(c=new i({id:l,graphDiv:t,container:e._geocontainer.node(),topojsonURL:t._context.topojsonURL},e),e[l]._subplot=c),c.plot(u,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=a.getSubplotIds(n,\"geo\"),o=0;o<i.length;o++){var s=i[o],l=n[s]._subplot;!e[s]&&l&&l.geoDiv.remove()}},r.toSVG=function(t){for(var e=t._fullLayout,r=a.getSubplotIds(e,\"geo\"),n=e._size,i=0;i<r.length;i++){var o=e[r[i]],s=o.domain,l=o._subplot.framework;l.attr(\"style\",null),l.attr({x:n.l+n.w*s.x[0]+o._marginX,y:n.t+n.h*(1-s.y[1])+o._marginY,width:o._width,height:o._height}),e._geoimages.node().appendChild(l.node())}}},{\"../../plots/plots\":724,\"./geo\":687,\"./layout/attributes\":689,\"./layout/defaults\":692,\"./layout/layout_attributes\":693}],689:[function(t,e,r){\"use strict\";e.exports={geo:{valType:\"subplotid\",dflt:\"geo\"}}},{}],690:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color/attributes\");e.exports={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\"},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:n.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1}}},{\"../../../components/color/attributes\":532}],691:[function(t,e,r){\"use strict\";var n=t(\"../../../lib\"),i=t(\"../constants\"),a=t(\"./axis_attributes\");e.exports=function(t,e){function r(t,e){return n.coerce(s,l,a,t,e)}function o(t){var r,n,a,o,s,l,u=e.scope;return\"world\"===u?(r=e.projection,n=r.type,a=r.rotation,s=i[t+\"Span\"],l=void 0!==s[n]?s[n]/2:s[\"*\"]/2,o=\"lonaxis\"===t?a.lon:a.lat,[o-l,o+l]):i.scopeDefaults[u][t+\"Range\"]}for(var s,l,u=i.axesNames,c=0;c<u.length;c++){var h=u[c];s=t[h]||{},l={};var f=o(h),d=r(\"range\",f);n.noneOrAll(s.range,l.range,[0,1]),r(\"tick0\",d[0]),r(\"dtick\",\"lonaxis\"===h?30:10);var p=r(\"showgrid\");p&&(r(\"gridcolor\"),r(\"gridwidth\")),e[h]=l,e[h]._fullRange=f}}},{\"../../../lib\":633,\"../constants\":686,\"./axis_attributes\":690}],692:[function(t,e,r){\"use strict\";function n(t,e,r){var n,i=r(\"scope\"),o=\"world\"!==i,l=a.scopeDefaults[i],u=r(\"resolution\"),c=r(\"projection.type\",l.projType),h=\"albers usa\"===c,f=c.indexOf(\"conic\")!==-1;if(f){var d=l.projParallels||[0,60];r(\"projection.parallels\",d)}if(h)e.scope=\"usa\";else{var p=l.projRotate||[0,0,0];r(\"projection.rotation.lon\",p[0]),r(\"projection.rotation.lat\",p[1]),r(\"projection.rotation.roll\",p[2]),n=r(\"showcoastlines\",!o),n&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),n=r(\"showocean\"),n&&r(\"oceancolor\")}r(\"projection.scale\"),n=r(\"showland\"),n&&r(\"landcolor\"),n=r(\"showlakes\"),n&&r(\"lakecolor\"),n=r(\"showrivers\"),n&&(r(\"rivercolor\"),r(\"riverwidth\")),n=r(\"showcountries\",o&&\"usa\"!==i),n&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===i||\"north america\"===i&&50===u)&&(r(\"showsubunits\",!0),r(\"subunitcolor\"),r(\"subunitwidth\")),o||(n=r(\"showframe\",!0),n&&(r(\"framecolor\"),r(\"framewidth\"))),r(\"bgcolor\"),s(t,e),e._isHighRes=50===u,e._clipAngle=a.lonaxisSpan[c]/2,e._isAlbersUsa=h,e._isConic=f,e._isScoped=o;var g=e.projection.rotation||{};e.projection._rotate=[-g.lon||0,-g.lat||0,g.roll||0]}var i=t(\"../../subplot_defaults\"),a=t(\"../constants\"),o=t(\"./layout_attributes\"),s=t(\"./axis_defaults\");e.exports=function(t,e,r){i(t,e,r,{type:\"geo\",attributes:o,handleDefaults:n,partition:\"y\"})}},{\"../../subplot_defaults\":731,\"../constants\":686,\"./axis_defaults\":691,\"./layout_attributes\":693}],693:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color/attributes\"),i=t(\"../constants\"),a=t(\"./axis_attributes\");e.exports={domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:Object.keys(i.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:Object.keys(i.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,max:10,dflt:1}},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:n.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:i.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:i.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:i.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:i.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:n.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:n.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:n.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:n.background},lonaxis:a,lataxis:a}},{\"../../../components/color/attributes\":532,\"../constants\":686,\"./axis_attributes\":690}],694:[function(t,e,r){\"use strict\";function n(t){function e(t,e){return{type:\"Feature\",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(\"GeometryCollection\"===e.type)return{type:\"GeometryCollection\",geometries:object.geometries.map(function(t){return r(t,n)})};if(!S.hasOwnProperty(e.type))return null;var i=S[e.type];return t.geo.stream(e,n(i)),i.result()}function n(){}function i(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}function a(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],u=l[0],c=l[1],h=t[s],f=h[0],d=h[1];c>n^d>n&&r<(f-u)*(n-c)/(d-c)+u&&(i=!i)}return i}function o(t){return t?t/Math.sin(t):1}function s(t){return t>1?I:t<-1?-I:Math.asin(t)}function l(t){return t>1?0:t<-1?C:Math.acos(t)}function u(t,e){var r=(2+I)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>L;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(C*(4+C))*t*(1+Math.cos(e)),2*Math.sqrt(C/(4+C))*Math.sin(e)]}function c(t,e){function r(r,n){var i=F(r/e,n);return i[0]*=t,i}return arguments.length<2&&(e=t),1===e?F:e===1/0?f:(r.invert=function(r,n){var i=F.invert(r/t,n);return i[0]*=e,i},r)}function h(){var t=2,e=R(c),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}function f(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function d(t,e){return[3*t/(2*C)*Math.sqrt(C*C/3-e*e),e]}function p(t,e){return[t,1.25*Math.log(Math.tan(C/4+.4*e))]}function g(t){return function(e){var r,n=t*Math.sin(e),i=30;do e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e));while(Math.abs(r)>L&&--i>0);return e/2}}function m(t,e,r){function n(r,n){return[t*r*Math.cos(n=i(n)),e*Math.sin(n)]}var i=g(r);return n.invert=function(n,i){var a=s(i/e);return[n/(t*Math.cos(a)),s((2*a+Math.sin(2*a))/r)]},n}function v(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(-.013791+n*(.003971*r-.001529*n))),e*(1.007226+r*(.015085+n*(-.044475+.028874*r-.005916*n)))]}function y(t,e){var r,n=Math.min(18,36*Math.abs(e)/C),i=Math.floor(n),a=n-i,o=(r=N[i])[0],s=r[1],l=(r=N[++i])[0],u=r[1],c=(r=N[Math.min(19,++i)])[0],h=r[1];return[t*(l+a*(c-o)/2+a*a*(c-2*l+o)/2),(e>0?I:-I)*(u+a*(h-s)/2+a*a*(h-2*u+s)/2)]}function x(t,e){return[t*Math.cos(e),e]}function b(t,e){var r=Math.cos(e),n=o(l(r*Math.cos(t/=2)));return[2*r*Math.sin(t)*n,Math.sin(e)*n]}function _(t,e){var r=b(t,e);return[(r[0]+t/I)/2,(r[1]+e)/2]}t.geo.project=function(t,e){var n=e.stream;if(!n)throw new Error(\"not yet supported\");return(t&&w.hasOwnProperty(t.type)?w[t.type]:r)(t,n)};var w={Feature:e,FeatureCollection:function(t,r){return{type:\"FeatureCollection\",features:t.features.map(function(t){return e(t,r)})}}},M=[],A=[],k={point:function(t,e){M.push([t,e])},result:function(){var t=M.length?M.length<2?{type:\"Point\",coordinates:M[0]}:{type:\"MultiPoint\",coordinates:M}:null;return M=[],t}},T={lineStart:n,point:function(t,e){M.push([t,e])},lineEnd:function(){M.length&&(A.push(M),M=[])},result:function(){var t=A.length?A.length<2?{type:\"LineString\",coordinates:A[0]}:{type:\"MultiLineString\",coordinates:A}:null;return A=[],t}},E={polygonStart:n,lineStart:n,point:function(t,e){M.push([t,e])},lineEnd:function(){var t=M.length;if(t){do M.push(M[0].slice());while(++t<4);A.push(M),M=[]}},polygonEnd:n,result:function(){if(!A.length)return null;var t=[],e=[];return A.forEach(function(r){i(r)?t.push([r]):e.push(r)}),e.forEach(function(e){var r=e[0];t.some(function(t){if(a(t[0],r))return t.push(e),!0})||t.push([e])}),A=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}},S={Point:k,MultiPoint:k,LineString:T,MultiLineString:T,Polygon:E,MultiPolygon:E,Sphere:E},L=1e-6,z=L*L,C=Math.PI,I=C/2,P=(Math.sqrt(C),C/180),D=180/C,O=t.geo.projection,R=t.geo.projectionMutator;t.geo.interrupt=function(e){function r(t,r){for(var n=r<0?-1:1,i=l[+(r<0)],a=0,o=i.length-1;a<o&&t>i[a][2][0];++a);var s=e(t-i[a][1][0],r);return s[0]+=e(i[a][1][0],n*r>n*i[a][0][1]?i[a][0][1]:r)[0],s}function n(){s=l.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})})}function i(){for(var e=1e-6,r=[],n=0,i=l[0].length;n<i;++n){var o=l[0][n],s=180*o[0][0]/C,u=180*o[0][1]/C,c=180*o[1][1]/C,h=180*o[2][0]/C,f=180*o[2][1]/C;r.push(a([[s+e,u+e],[s+e,c-e],[h-e,c-e],[h-e,f+e]],30))}for(var n=l[1].length-1;n>=0;--n){var o=l[1][n],s=180*o[0][0]/C,u=180*o[0][1]/C,c=180*o[1][1]/C,h=180*o[2][0]/C,f=180*o[2][1]/C;r.push(a([[h-e,f-e],[h-e,c+e],[s+e,c+e],[s+e,u-e]],30))}return{type:\"Polygon\",coordinates:[t.merge(r)]}}function a(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){r=t[a],n=(r[0]-s[0])/e,i=(r[1]-s[1])/e;for(var u=0;u<e;++u)l.push([s[0]+u*n,s[1]+u*i]);s=r}return l.push(r),l}function o(t,e){return Math.abs(t[0]-e[0])<L&&Math.abs(t[1]-e[1])<L}var s,l=[[[[-C,0],[0,I],[C,0]]],[[[-C,0],[0,-I],[C,0]]]];e.invert&&(r.invert=function(t,n){for(var i=s[+(n<0)],a=l[+(n<0)],u=0,c=i.length;u<c;++u){var h=i[u];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=n&&n<h[1][1]){var f=e.invert(t-e(a[u][1][0],0)[0],n);return f[0]+=a[u][1][0],o(r(f[0],f[1]),[t,n])?f:null}}});var u=t.geo.projection(r),c=u.stream;return u.stream=function(e){var r=u.rotate(),n=c(e),a=(u.rotate([0,0]),c(e));return u.rotate(r),n.sphere=function(){t.geo.stream(i(),a)},n},u.lobes=function(t){return arguments.length?(l=t.map(function(t){return t.map(function(t){return[[t[0][0]*C/180,t[0][1]*C/180],[t[1][0]*C/180,t[1][1]*C/180],[t[2][0]*C/180,t[2][1]*C/180]]})}),n(),u):l.map(function(t){return t.map(function(t){return[[180*t[0][0]/C,180*t[0][1]/C],[180*t[1][0]/C,180*t[1][1]/C],[180*t[2][0]/C,180*t[2][1]/C]]})})},u},u.invert=function(t,e){var r=.5*e*Math.sqrt((4+C)/C),n=s(r),i=Math.cos(n);return[t/(2/Math.sqrt(C*(4+C))*(1+i)),s((n+r*(i+2))/(2+I))]},(t.geo.eckert4=function(){return O(u)}).raw=u;var F=t.geo.azimuthalEqualArea.raw;f.invert=function(t,e){var r=2*s(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=h).raw=c,d.invert=function(t,e){return[2/3*C*t/Math.sqrt(C*C/3-e*e),e]},(t.geo.kavrayskiy7=function(){return O(d)}).raw=d,p.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*C]},(t.geo.miller=function(){return O(p)}).raw=p;var j=(g(C),m(Math.SQRT2/I,Math.SQRT2,C));(t.geo.mollweide=function(){return O(j)}).raw=j,v.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-e)/(1.007226+a*(.045255+o*(-.311325+.259866*a-.005916*11*o)))}while(Math.abs(r)>L&&--i>0);return[t/(.8707+(a=n*n)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),n]},(t.geo.naturalEarth=function(){return O(v)}).raw=v;var N=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];N.forEach(function(t){t[1]*=1.0144}),y.invert=function(t,e){var r=e/I,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=N[a][1],s=N[a+1][1],l=N[Math.min(19,a+2)][1],u=l-o,c=l-2*s+o,h=2*(Math.abs(r)-s)/u,f=c/u,d=h*(1-f*h*(1-2*f*h));if(d>=0||1===a){n=(e>=0?5:-5)*(d+i);var p,g=50;do i=Math.min(18,Math.abs(n)/5),a=Math.floor(i),d=i-a,o=N[a][1],s=N[a+1][1],l=N[Math.min(19,a+2)][1],n-=(p=(e>=0?I:-I)*(s+d*(l-o)/2+d*d*(l-2*s+o)/2)-e)*D;while(Math.abs(p)>z&&--g>0);break}}while(--a>=0);var m=N[a][0],v=N[a+1][0],y=N[Math.min(19,a+2)][0];return[t/(v+d*(y-m)/2+d*d*(y-2*v+m)/2),n*P]},(t.geo.robinson=function(){return O(y)}).raw=y,x.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return O(x)}).raw=x,b.invert=function(t,e){if(!(t*t+4*e*e>C*C+L)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),u=Math.cos(r/2),c=Math.sin(n),h=Math.cos(n),f=Math.sin(2*n),d=c*c,p=h*h,g=s*s,m=1-p*u*u,v=m?l(h*u)*Math.sqrt(a=1/m):a=0,y=2*v*h*s-t,x=v*c-e,b=a*(p*g+v*h*u*d),_=a*(.5*o*f-2*v*c*s),w=.25*a*(f*s-v*c*p*o),M=a*(d*u+v*g*h),A=_*w-M*b;if(!A)break;var k=(x*_-y*M)/A,T=(y*w-x*b)/A;r-=k,n-=T}while((Math.abs(k)>L||Math.abs(T)>L)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return O(b)}).raw=b,_.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),u=Math.sin(2*n),c=s*s,h=o*o,f=Math.sin(r),d=Math.cos(r/2),p=Math.sin(r/2),g=p*p,m=1-h*d*d,v=m?l(o*d)*Math.sqrt(a=1/m):a=0,y=.5*(2*v*o*p+r/I)-t,x=.5*(v*s+n)-e,b=.5*a*(h*g+v*o*d*c)+.5/I,_=a*(f*u/4-v*s*p),w=.125*a*(u*p-v*s*h*f),M=.5*a*(c*d+v*g*o)+.5,A=_*w-M*b,k=(x*_-y*M)/A,T=(y*w-x*b)/A;r-=k,n-=T}while((Math.abs(k)>L||Math.abs(T)>L)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return O(_)}).raw=_}e.exports=n},{}],695:[function(t,e,r){\"use strict\";function n(t,e){var r=t.projection,n=t.lonaxis,o=t.lataxis,l=t.domain,u=t.framewidth||0,c=e.w*(l.x[1]-l.x[0]),h=e.h*(l.y[1]-l.y[0]),f=n.range[0]+s,d=n.range[1]-s,p=o.range[0]+s,g=o.range[1]-s,m=n._fullRange[0]+s,v=n._fullRange[1]-s,y=o._fullRange[0]+s,x=o._fullRange[1]-s;r._translate0=[e.l+c/2,e.t+h/2];var b=d-f,_=g-p,w=[f+b/2,p+_/2],M=r._rotate;r._center=[w[0]+M[0],w[1]+M[1]];var A=function(e){function n(t){return Math.min(_*c/(t[1][0]-t[0][0]),_*h/(t[1][1]-t[0][1]))}var o,s,l,b,_=e.scale(),w=r._translate0,M=i(f,p,d,g),A=i(m,y,v,x);l=a(e,M),o=n(l),b=a(e,A),r._fullScale=n(b),e.scale(o),l=a(e,M),s=[w[0]-l[0][0]+u,w[1]-l[0][1]+u],r._translate=s,e.translate(s),l=a(e,M),t._isAlbersUsa||e.clipExtent(l),o=r.scale*o,r._scale=o,t._width=Math.round(l[1][0])+u,t._height=Math.round(l[1][1])+u,t._marginX=(c-Math.round(l[1][0]))/2,t._marginY=(h-Math.round(l[1][1]))/2};return A}function i(t,e,r,n){var i=(r-t)/4;return{type:\"Polygon\",coordinates:[[[t,e],[t,n],[t+i,n],[t+2*i,n],[t+3*i,n],[r,n],[r,e],[r-i,e],[r-2*i,e],[r-3*i,e],[t,e]]]}}function a(t,e){return o.geo.path().projection(t).bounds(e)}var o=t(\"d3\"),s=t(\"./constants\").clipPad;e.exports=n},{\"./constants\":686,d3:95}],696:[function(t,e,r){\"use strict\";function n(t,e){var r;return(r=e._isScoped?a:e._clipAngle?s:o)(t,e.projection)}function i(t,e){var r=e._fullScale;return _.behavior.zoom().translate(t.translate()).scale(t.scale()).scaleExtent([.5*r,100*r])}function a(t,e){function r(){_.select(this).style(A)}function n(){o.scale(_.event.scale).translate(_.event.translate),t.render()}function a(){_.select(this).style(k)}var o=t.projection,s=i(o,e);return s.on(\"zoomstart\",r).on(\"zoom\",n).on(\"zoomend\",a),s}function o(t,e){function r(t){return m.invert(t)}function n(t){var e=m(r(t));return Math.abs(e[0]-t[0])>y||Math.abs(e[1]-t[1])>y}function a(){_.select(this).style(A),l=_.mouse(this),u=m.rotate(),c=m.translate(),h=u,f=r(l)}function o(){return d=_.mouse(this),n(l)?(v.scale(m.scale()),void v.translate(m.translate())):(m.scale(_.event.scale),m.translate([c[0],_.event.translate[1]]),f?r(d)&&(g=r(d),p=[h[0]+(g[0]-f[0]),u[1],u[2]],m.rotate(p),h=p):(l=d,f=r(l)),void t.render())}function s(){_.select(this).style(k)}var l,u,c,h,f,d,p,g,m=t.projection,v=i(m,e),y=2;return v.on(\"zoomstart\",a).on(\"zoom\",o).on(\"zoomend\",s),v}function s(t,e){function r(t){v++||t({type:\"zoomstart\"})}function n(t){t({type:\"zoom\"})}function a(t){--v||t({type:\"zoomend\"})}var o,s=t.projection,d={r:s.rotate(),k:s.scale()},p=i(s,e),g=b(p,\"zoomstart\",\"zoom\",\"zoomend\"),v=0,y=p.on;return p.on(\"zoomstart\",function(){_.select(this).style(A);var t=_.mouse(this),e=s.rotate(),i=e,a=s.translate(),v=u(e);o=l(s,t),y.call(p,\"zoom\",function(){var r=_.mouse(this);if(s.scale(d.k=_.event.scale),o){if(l(s,r)){s.rotate(e).translate(a);var u=l(s,r),p=h(o,u),y=m(c(v,p)),x=d.r=f(y,o,i);isFinite(x[0])&&isFinite(x[1])&&isFinite(x[2])||(x=i),s.rotate(x),i=x}}else t=r,o=l(s,t);n(g.of(this,arguments))}),r(g.of(this,arguments))}).on(\"zoomend\",function(){_.select(this).style(k),y.call(p,\"zoom\",null),a(g.of(this,arguments))}).on(\"zoom.redraw\",function(){t.render()}),_.rebind(p,g,\"on\")}function l(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&v(r)}function u(t){var e=.5*t[0]*w,r=.5*t[1]*w,n=.5*t[2]*w,i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function c(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=e[0],s=e[1],l=e[2],u=e[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function h(t,e){if(t&&e){var r=x(t,e),n=Math.sqrt(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function f(t,e,r){var n=g(e,2,t[0]);n=g(n,1,t[1]),n=g(n,0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],c=n[1],h=n[2],f=Math.atan2(s,o)*M,p=Math.sqrt(o*o+s*s);Math.abs(c)>p?(a=(c>0?90:-90)-f,i=0):(a=Math.asin(c/p)*M-f,i=Math.sqrt(p*p-c*c));var m=180-a-2*f,v=(Math.atan2(h,u)-Math.atan2(l,i))*M,y=(Math.atan2(h,u)-Math.atan2(l,-i))*M,x=d(r[0],r[1],a,v),b=d(r[0],r[1],m,y);return x<=b?[a,v,r[2]]:[m,y,r[2]]}function d(t,e,r,n){var i=p(r-t),a=p(n-e);return Math.sqrt(i*i+a*a)}function p(t){return(t%360+540)%360-180}function g(t,e,r){var n=r*w,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function m(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*M,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*M,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*M]}function v(t){var e=t[0]*w,r=t[1]*w,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}function x(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function b(t){for(var e=0,r=arguments.length,n=[];++e<r;)n.push(arguments[e]);var i=_.dispatch.apply(null,n);return i.of=function(e,r){return function(n){var a;try{a=n.sourceEvent=_.event,n.target=t,_.event=n,i[n.type].apply(e,r)}finally{_.event=a}}},i}var _=t(\"d3\"),w=Math.PI/180,M=180/Math.PI,A={cursor:\"pointer\"},k={cursor:\"auto\"};e.exports=n},{d3:95}],697:[function(t,e,r){\"use strict\";function n(t,e){var r=t.projection,n=t.zoom,a=function(){t.makeProjection(e),t.makePath(),n.scale(r.scale()),n.translate(r.translate()),i.loneUnhover(t.hoverContainer),t.render()};return a}var i=t(\"../cartesian/graph_interact\");e.exports=n},{\"../cartesian/graph_interact\":671}],698:[function(t,e,r){\"use strict\";function n(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxStart=[0,0],this.boxEnd=[0,0]}function i(t){function e(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}var r=t.mouseContainer,i=t.glplot,s=new n(r,i);return s.mouseListener=a(r,function(r,n,a){function o(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,s.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}var l=t.calcDataBox(),u=i.viewBox,c=s.lastPos[0],h=s.lastPos[1];switch(n*=i.pixelRatio,a*=i.pixelRatio,a=u[3]-u[1]-a,t.fullLayout.dragmode){case\"zoom\":if(r){var f=n/(u[2]-u[0])*(l[2]-l[0])+l[0],d=a/(u[3]-u[1])*(l[3]-l[1])+l[1];s.boxEnabled||(s.boxStart[0]=f,s.boxStart[1]=d),s.boxEnd[0]=f,s.boxEnd[1]=d,s.boxEnabled=!0}else s.boxEnabled&&(o(0,s.boxStart[0],s.boxEnd[0]),o(1,s.boxStart[1],s.boxEnd[1]),e(),s.boxEnabled=!1);break;case\"pan\":if(s.boxEnabled=!1,r){var p=(c-n)*(l[2]-l[0])/(i.viewBox[2]-i.viewBox[0]),g=(h-a)*(l[3]-l[1])/(i.viewBox[3]-i.viewBox[1]);l[0]+=p,l[2]+=p,l[1]+=g,l[3]+=g,t.setRanges(l),s.lastInputTime=Date.now(),e(),t.cameraChanged()}}s.lastPos[0]=n,s.lastPos[1]=a}),s.wheelListener=o(r,function(r,n){var a=t.calcDataBox(),o=i.viewBox,l=s.lastPos[0],u=s.lastPos[1];switch(t.fullLayout.dragmode){case\"zoom\":break;case\"pan\":var c=Math.exp(.1*n/(o[3]-o[1])),h=l/(o[2]-o[0])*(a[2]-a[0])+a[0],f=u/(o[3]-o[1])*(a[3]-a[1])+a[1];a[0]=(a[0]-h)*c+h,a[2]=(a[2]-h)*c+h,a[1]=(a[1]-f)*c+f,a[3]=(a[3]-f)*c+f,t.setRanges(a),s.lastInputTime=Date.now(),e(),t.cameraChanged()}return!0}),s}var a=t(\"mouse-change\"),o=t(\"mouse-wheel\");e.exports=i},{\"mouse-change\":413,\"mouse-wheel\":415}],699:[function(t,e,r){\"use strict\";function n(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=[\"x\",\"y\"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=[\"sans-serif\",\"sans-serif\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=\"\",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=\"sans-serif\",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}function i(t){return new n(t)}var a=t(\"../plots\"),o=t(\"../cartesian/axes\"),s=t(\"../../lib/html2unicode\"),l=t(\"../../lib/str2rgbarray\"),u=n.prototype,c=[\"xaxis\",\"yaxis\"];u.merge=function(t){this.titleEnable=!1,this.backgroundColor=l(t.plot_bgcolor);var e,r,n,i,a,o,u,h,f,d,p;for(d=0;d<2;++d){for(e=c[d],r=t[this.scene[e]._name],n=/Click to enter .+ title/.test(r.title)?\"\":r.title,p=0;p<=2;p+=2)this.labelEnable[d+p]=!1,this.labels[d+p]=s(n),this.labelColor[d+p]=l(r.titlefont.color),this.labelFont[d+p]=r.titlefont.family,this.labelSize[d+p]=r.titlefont.size,this.labelPad[d+p]=this.getLabelPad(e,r),this.tickEnable[d+p]=!1,this.tickColor[d+p]=l((r.tickfont||{}).color),this.tickAngle[d+p]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[d+p]=this.getTickPad(r),this.tickMarkLength[d+p]=0,this.tickMarkWidth[d+p]=r.tickwidth||0,this.tickMarkColor[d+p]=l(r.tickcolor),this.borderLineEnable[d+p]=!1,this.borderLineColor[d+p]=l(r.linecolor),this.borderLineWidth[d+p]=r.linewidth||0;u=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(e,r)&&!u,o=this.hasAxisInAltrPos(e,r)&&!u,i=r.mirror||!1,h=u?String(i).indexOf(\"all\")!==-1:!!i,f=u?\"allticks\"===i:String(i).indexOf(\"ticks\")!==-1,\na?this.labelEnable[d]=!0:o&&(this.labelEnable[d+2]=!0),a?this.tickEnable[d]=r.showticklabels:o&&(this.tickEnable[d+2]=r.showticklabels),(a||h)&&(this.borderLineEnable[d]=r.showline),(o||h)&&(this.borderLineEnable[d+2]=r.showline),(a||f)&&(this.tickMarkLength[d]=this.getTickMarkLength(r)),(o||f)&&(this.tickMarkLength[d+2]=this.getTickMarkLength(r)),this.gridLineEnable[d]=r.showgrid,this.gridLineColor[d]=l(r.gridcolor),this.gridLineWidth[d]=r.gridwidth,this.zeroLineEnable[d]=r.zeroline,this.zeroLineColor[d]=l(r.zerolinecolor),this.zeroLineWidth[d]=r.zerolinewidth}},u.hasSharedAxis=function(t){var e=this.scene,r=a.getSubplotIds(e.fullLayout,\"gl2d\"),n=o.findSubplotsWithAxis(r,t);return 0!==n.indexOf(e.id)},u.hasAxisInDfltPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"bottom\"===r:\"yaxis\"===t?\"left\"===r:void 0},u.hasAxisInAltrPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"top\"===r:\"yaxis\"===t?\"right\"===r:void 0},u.getLabelPad=function(t,e){var r=1.5,n=e.titlefont.size,i=e.showticklabels;return\"xaxis\"===t?\"top\"===e.side?-10+n*(r+(i?1:0)):-10+n*(r+(i?.5:0)):\"yaxis\"===t?\"right\"===e.side?10+n*(r+(i?1:.5)):10+n*(r+(i?.5:0)):void 0},u.getTickPad=function(t){return\"outside\"===t.ticks?10+t.ticklen:15},u.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\"inside\"===t.ticks?-e:e},e.exports=i},{\"../../lib/html2unicode\":632,\"../../lib/str2rgbarray\":646,\"../cartesian/axes\":664,\"../plots\":724}],700:[function(t,e,r){\"use strict\";var n=t(\"./scene2d\"),i=t(\"../plots\"),a=t(\"../../constants/xmlns_namespaces\");r.name=\"gl2d\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex={x:/^x([2-9]|[1-9][0-9]+)?$/,y:/^y([2-9]|[1-9][0-9]+)?$/},r.attrRegex={x:/^xaxis([2-9]|[1-9][0-9]+)?$/,y:/^yaxis([2-9]|[1-9][0-9]+)?$/},r.attributes=t(\"../cartesian/attributes\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,a=i.getSubplotIds(e,\"gl2d\"),o=0;o<a.length;o++){var s=a[o],l=e._plots[s],u=i.getSubplotData(r,\"gl2d\",s),c=l._scene2d;void 0===c&&(c=new n({id:s,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),l._scene2d=c),c.plot(u,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\"gl2d\"),o=0;o<a.length;o++){var s=a[o],l=n._plots[s];if(l._scene2d){var u=i.getSubplotData(t,\"gl2d\",s);0===u.length&&(l._scene2d.destroy(),delete n._plots[s])}}},r.toSVG=function(t){for(var e=t._fullLayout,r=i.getSubplotIds(e,\"gl2d\"),n=0;n<r.length;n++){var o=e._plots[r[n]],s=o._scene2d,l=s.toImage(\"png\"),u=e._glimages.append(\"svg:image\");u.attr({xmlns:a.svg,\"xlink:href\":l,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),s.destroy()}}},{\"../../constants/xmlns_namespaces\":618,\"../cartesian/attributes\":663,\"../plots\":724,\"./scene2d\":701}],701:[function(t,e,r){\"use strict\";function n(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.fullLayout=e,this.fullData=null,this.updateAxes(e),this.makeFramework(),this.glplotOptions=d(this),this.glplotOptions.merge(e),this.glplot=u(this.glplotOptions),this.camera=p(this),this.traces={},this._inputs={},this.spikes=c(this.glplot),this.selectBox=h(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}function i(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1}var a,o,s=t(\"../../plots/cartesian/axes\"),l=t(\"../../plots/cartesian/graph_interact\"),u=t(\"gl-plot2d\"),c=t(\"gl-spikes2d\"),h=t(\"gl-select-box\"),f=t(\"webgl-context\"),d=t(\"./convert\"),p=t(\"./camera\"),g=t(\"../../lib/html2unicode\"),m=t(\"../../lib/show_no_webgl_msg\"),v=[\"xaxis\",\"yaxis\"];e.exports=n;var y=n.prototype;y.makeFramework=function(){if(this.staticPlot){if(!o&&(a=document.createElement(\"canvas\"),o=f({canvas:a,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}),!o))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=a,this.gl=o}else{var t=document.createElement(\"canvas\"),e=f({canvas:t,premultipliedAlpha:!0});e||m(this),this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=\"100%\",r.style.height=\"100%\",r.style.position=\"absolute\",r.style.top=\"0px\",r.style.left=\"0px\",r.style[\"pointer-events\"]=\"none\",this.updateSize(r),r.className+=\"user-select-none\";var n=this.svgContainer=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");n.style.position=\"absolute\",n.style.top=n.style.left=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"z-index\"]=20,n.style[\"pointer-events\"]=\"none\";var i=this.mouseContainer=document.createElement(\"div\");i.style.position=\"absolute\";var s=this.container;s.appendChild(r),s.appendChild(n),s.appendChild(i)},y.toImage=function(t){t||(t=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(a),this.updateSize(this.canvas),this.glplot.setDirty(),this.glplot.draw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=n-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var u=0;u<4;++u){var c=i[4*(r*o+l)+u];i[4*(r*o+l)+u]=i[4*(r*s+l)+u],i[4*(r*s+l)+u]=c}var h=document.createElement(\"canvas\");h.width=r,h.height=n;var f=h.getContext(\"2d\"),d=f.createImageData(r,n);d.data.set(i),f.putImageData(d,0,0);var p;switch(t){case\"jpeg\":p=h.toDataURL(\"image/jpeg\");break;case\"webp\":p=h.toDataURL(\"image/webp\");break;default:p=h.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(a),p},y.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},y.computeTickMarks=function(){this.xaxis._length=this.glplot.viewBox[2]-this.glplot.viewBox[0],this.yaxis._length=this.glplot.viewBox[3]-this.glplot.viewBox[1];for(var t=[s.calcTicks(this.xaxis),s.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=g(t[e][r].text+\"\");return t},y.updateAxes=function(t){var e=s.subplotMatch,r=\"xaxis\"+this.id.match(e)[1],n=\"yaxis\"+this.id.match(e)[2];this.xaxis=t[r],this.yaxis=t[n]},y.updateFx=function(t){var e=this.fullLayout;e.dragmode=t.dragmode,e.hovermode=t.hovermode};var x=function(t){var e=t.xaxis.range,r=t.yaxis.range;t.graphDiv.layout.xaxis.autorange=t.xaxis.autorange,t.graphDiv.layout.xaxis.range=e.slice(0),t.graphDiv.layout.yaxis.autorange=t.yaxis.autorange,t.graphDiv.layout.yaxis.range=r.slice(0);var n={lastInputTime:t.camera.lastInputTime};n[t.xaxis._name]=e.slice(),n[t.yaxis._name]=r.slice(),t.graphDiv.emit(\"plotly_relayout\",n)};y.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks(),r=this.glplotOptions.ticks;i(e,r)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),x(this))},y.destroy=function(){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.staticPlot||this.container.removeChild(this.canvas),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this._inputs=null,this.glplot=null,this.stopped=!0},y.plot=function(t,e,r){var n=this.glplot;this.fullLayout=r,this.updateAxes(r),this.updateTraces(t,e);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var l=r._size,u=this.xaxis.domain,c=this.yaxis.domain;o.viewBox=[l.l+u[0]*l.w,l.b+c[0]*l.h,i-l.r-(1-u[1])*l.w,a-l.t-(1-c[1])*l.h],this.mouseContainer.style.width=l.w*(u[1]-u[0])+\"px\",this.mouseContainer.style.height=l.h*(c[1]-c[0])+\"px\",this.mouseContainer.height=l.h*(c[1]-c[0]),this.mouseContainer.style.left=l.l+u[0]*l.w+\"px\",this.mouseContainer.style.top=l.t+(1-c[1])*l.h+\"px\";var h=this.bounds;h[0]=h[1]=1/0,h[2]=h[3]=-(1/0);var f,d,p=Object.keys(this.traces);for(d=0;d<p.length;++d)for(var g=this.traces[p[d]],m=0;m<2;++m)h[m]=Math.min(h[m],g.bounds[m]),h[m+2]=Math.max(h[m+2],g.bounds[m+2]);for(d=0;d<2;++d)h[d]>h[d+2]&&(h[d]=-1,h[d+2]=1),f=this[v[d]],f._length=o.viewBox[d+2]-o.viewBox[d],s.doAutoRange(f);o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},y.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},y.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},y.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if(i=t[n],i.uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r],this._inputs[i.uid]=r;var l=e[r],u=this.traces[i.uid];u?u.update(i,l):(u=i._module.plot(this,i,l),this.traces[i.uid]=u)}},y.emitPointAction=function(t,e){var r=this._inputs[t.trace.uid];this.graphDiv.emit(e,{points:[{x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r,pointNumber:t.pointIndex,data:this.fullData[r]._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis}]})},y.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a=r.x*t.pixelRatio,o=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\"zoom\"===i.dragmode)this.selectBox.enabled=!0,this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],t.setDirty();else{this.selectBox.enabled=!1;var s=i._size,u=this.xaxis.domain,c=this.yaxis.domain,h=t.pick(a/t.pixelRatio+s.l+u[0]*s.w,o/t.pixelRatio-(s.t+(1-c[1])*s.h)),f=h&&h.object._trace.handlePick(h);if(f&&n&&this.emitPointAction(f,\"plotly_click\"),h&&\"skip\"!==h.object._trace.hoverinfo&&i.hovermode){if(f&&(!this.lastPickResult||this.lastPickResult.traceUid!==f.trace.uid||this.lastPickResult.dataCoord[0]!==f.dataCoord[0]||this.lastPickResult.dataCoord[1]!==f.dataCoord[1])){var d=f;this.lastPickResult={traceUid:f.trace?f.trace.uid:null,dataCoord:f.dataCoord.slice()},this.spikes.update({center:h.dataCoord}),d.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(h.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(h.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(f,\"plotly_hover\");var p=d.hoverinfo;if(\"all\"!==p){var g=p.split(\"+\");g.indexOf(\"x\")===-1&&(d.traceCoord[0]=void 0),g.indexOf(\"y\")===-1&&(d.traceCoord[1]=void 0),g.indexOf(\"z\")===-1&&(d.traceCoord[2]=void 0),g.indexOf(\"text\")===-1&&(d.textLabel=void 0),g.indexOf(\"name\")===-1&&(d.name=void 0)}l.loneHover({x:d.screenCoord[0],y:d.screenCoord[1],xLabel:this.hoverFormatter(\"xaxis\",d.traceCoord[0]),yLabel:this.hoverFormatter(\"yaxis\",d.traceCoord[1]),zLabel:d.traceCoord[2],text:d.textLabel,name:d.name,color:d.color},{container:this.svgContainer})}}else!h&&this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),l.loneUnhover(this.svgContainer))}t.draw()}},y.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return s.tickText(r,r.c2l(e),\"hover\").text}}},{\"../../lib/html2unicode\":632,\"../../lib/show_no_webgl_msg\":644,\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/graph_interact\":671,\"./camera\":698,\"./convert\":699,\"gl-plot2d\":187,\"gl-select-box\":218,\"gl-spikes2d\":227,\"webgl-context\":518}],702:[function(t,e,r){\"use strict\";function n(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]),\"zoomMin\"in e&&(r[0]=e.zoomMin),\"zoomMax\"in e&&(r[1]=e.zoomMax);var n=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],u=0,c=t.clientWidth,h=t.clientHeight,f={keyBindingMode:\"rotate\",view:n,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:n.modes,tick:function(){var e=i(),r=this.delay,a=e-2*r;n.idle(e-r),n.recalcMatrix(a),n.flush(e-(100+2*r));for(var o=!0,s=n.computedMatrix,f=0;f<16;++f)o=o&&l[f]===s[f],l[f]=s[f];var d=t.clientWidth===c&&t.clientHeight===h;return c=t.clientWidth,h=t.clientHeight,o?!d:(u=Math.exp(n.computedRadius[0]),!0)},lookAt:function(t,e,r){n.lookAt(n.lastT(),t,e,r)},rotate:function(t,e,r){n.rotate(n.lastT(),t,e,r)},pan:function(t,e,r){n.pan(n.lastT(),t,e,r)},translate:function(t,e,r){n.translate(n.lastT(),t,e,r)}};Object.defineProperties(f,{matrix:{get:function(){return n.computedMatrix},set:function(t){return n.setMatrix(n.lastT(),t),n.computedMatrix},enumerable:!0},mode:{get:function(){return n.getMode()},set:function(t){var e=n.computedUp.slice(),r=n.computedEye.slice(),a=n.computedCenter.slice();if(n.setMode(t),\"turntable\"===t){var o=i();n._active.lookAt(o,r,a,e),n._active.lookAt(o+500,r,a,[0,0,1]),n._active.flush(o)}return n.getMode()},enumerable:!0},center:{get:function(){return n.computedCenter},set:function(t){return n.lookAt(n.lastT(),null,t),n.computedCenter},enumerable:!0},eye:{get:function(){return n.computedEye},set:function(t){return n.lookAt(n.lastT(),t),n.computedEye},enumerable:!0},up:{get:function(){return n.computedUp},set:function(t){return n.lookAt(n.lastT(),null,null,t),n.computedUp},enumerable:!0},distance:{get:function(){return u},set:function(t){return n.setDistance(n.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return n.getDistanceLimits(r)},set:function(t){return n.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",function(t){return t.preventDefault(),!1});var d=0,p=0;return o(t,function(e,r,a,o){var s=\"rotate\"===f.keyBindingMode,l=\"pan\"===f.keyBindingMode,c=\"zoom\"===f.keyBindingMode,h=!!o.control,g=!!o.alt,m=!!o.shift,v=!!(1&e),y=!!(2&e),x=!!(4&e),b=1/t.clientHeight,_=b*(r-d),w=b*(a-p),M=f.flipX?1:-1,A=f.flipY?1:-1,k=i(),T=Math.PI*f.rotateSpeed;if((s&&v&&!h&&!g&&!m||v&&!h&&!g&&m)&&n.rotate(k,M*T*_,-A*T*w,0),(l&&v&&!h&&!g&&!m||y||v&&h&&!g&&!m)&&n.pan(k,-f.translateSpeed*_*u,f.translateSpeed*w*u,0),c&&v&&!h&&!g&&!m||x||v&&!h&&g&&!m){var E=-f.zoomSpeed*w/window.innerHeight*(k-n.lastT())*100;n.pan(k,0,0,u*(Math.exp(E)-1))}return d=r,p=a,!0}),s(t,function(t,e){var r=f.flipX?1:-1,a=f.flipY?1:-1,o=i();if(Math.abs(t)>Math.abs(e))n.rotate(o,0,0,-t*r*Math.PI*f.rotateSpeed/window.innerWidth);else{var s=-f.zoomSpeed*a*e/window.innerHeight*(o-n.lastT())/100;n.pan(o,0,0,u*(Math.exp(s)-1))}},!0),f}e.exports=n;var i=t(\"right-now\"),a=t(\"3d-view\"),o=t(\"mouse-change\"),s=t(\"mouse-wheel\")},{\"3d-view\":27,\"mouse-change\":413,\"mouse-wheel\":415,\"right-now\":459}],703:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r<3;++r){var n=s[r];e[n]._gd=t}}var i=t(\"./scene\"),a=t(\"../plots\"),o=t(\"../../constants/xmlns_namespaces\"),s=[\"xaxis\",\"yaxis\",\"zaxis\"];r.name=\"gl3d\",r.attr=\"scene\",r.idRoot=\"scene\",r.idRegex=/^scene([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^scene([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){var e=t._fullLayout,r=t._fullData,o=a.getSubplotIds(e,\"gl3d\");e._paperdiv.style({width:e.width+\"px\",height:e.height+\"px\"}),t._context.setBackground(t,e.paper_bgcolor);for(var s=0;s<o.length;s++){var l=o[s],u=a.getSubplotData(r,\"gl3d\",l),c=e[l],h=c._scene;void 0===h&&(n(t,c),h=new i({id:l,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),c._scene=h),h.plot(u,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=a.getSubplotIds(n,\"gl3d\"),o=0;o<i.length;o++){var s=i[o];!e[s]&&n[s]._scene&&n[s]._scene.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=a.getSubplotIds(e,\"gl3d\"),n=e._size,i=0;i<r.length;i++){var s=e[r[i]],l=s.domain,u=s._scene,c=u.toImage(\"png\"),h=e._glimages.append(\"svg:image\");h.attr({xmlns:o.svg,\"xlink:href\":c,x:n.l+n.w*l.x[0],y:n.t+n.h*(1-l.y[1]),width:n.w*(l.x[1]-l.x[0]),height:n.h*(l.y[1]-l.y[0]),preserveAspectRatio:\"none\"}),u.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),\"scene\"+e}},r.setConvert=t(\"./set_convert\")},{\"../../constants/xmlns_namespaces\":618,\"../plots\":724,\"./layout/attributes\":704,\"./layout/defaults\":708,\"./layout/layout_attributes\":709,\"./scene\":713,\"./set_convert\":714}],704:[function(t,e,r){\"use strict\";e.exports={scene:{valType:\"subplotid\",dflt:\"scene\"}}},{}],705:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color\"),i=t(\"../../cartesian/layout_attributes\"),a=t(\"../../../lib/extend\").extendFlat;e.exports={showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:n.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,fixedrange:i.fixedrange,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth}},{\"../../../components/color\":533,\"../../../lib/extend\":626,\"../../cartesian/layout_attributes\":673}],706:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../../lib\"),a=t(\"./axis_attributes\"),o=t(\"../../cartesian/axis_defaults\"),s=[\"xaxis\",\"yaxis\",\"zaxis\"],l=13600/187;e.exports=function(t,e,r){function u(t,e){return i.coerce(c,h,a,t,e)}for(var c,h,f=0;f<s.length;f++){var d=s[f];c=t[d]||{},h={_id:d[0]+r.scene,_name:d},e[d]=h=o(c,h,u,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor}),u(\"gridcolor\",n(h.color,r.bgColor,l).toRgbString()),u(\"title\",d[0]),h.setScale=i.noop,u(\"showspikes\")&&(u(\"spikesides\"),u(\"spikethickness\"),u(\"spikecolor\",h.color)),u(\"showaxeslabels\"),u(\"showbackground\")&&u(\"backgroundcolor\")}}},{\"../../../lib\":633,\"../../cartesian/axis_defaults\":666,\"./axis_attributes\":705,tinycolor2:489}],707:[function(t,e,r){\"use strict\";function n(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=l(this.tickPad),this._defaultLabelPad=l(this.labelPad),this._defaultLineTickLength=l(this.lineTickLength)}function i(t){var e=new n;return e.merge(t),e}var a=t(\"arraytools\"),o=t(\"../../../lib/html2unicode\"),s=t(\"../../../lib/str2rgbarray\"),l=a.copy1D,u=[\"xaxis\",\"yaxis\",\"zaxis\"],c=n.prototype;c.merge=function(t){for(var e=this,r=0;r<3;++r){var n=t[u[r]];e.labels[r]=o(n.title),\"titlefont\"in n&&(n.titlefont.color&&(e.labelColor[r]=s(n.titlefont.color)),n.titlefont.family&&(e.labelFont[r]=n.titlefont.family),n.titlefont.size&&(e.labelSize[r]=n.titlefont.size)),\"showline\"in n&&(e.lineEnable[r]=n.showline),\"linecolor\"in n&&(e.lineColor[r]=s(n.linecolor)),\"linewidth\"in n&&(e.lineWidth[r]=n.linewidth),\"showgrid\"in n&&(e.gridEnable[r]=n.showgrid),\"gridcolor\"in n&&(e.gridColor[r]=s(n.gridcolor)),\"gridwidth\"in n&&(e.gridWidth[r]=n.gridwidth),\"log\"===n.type?e.zeroEnable[r]=!1:\"zeroline\"in n&&(e.zeroEnable[r]=n.zeroline),\"zerolinecolor\"in n&&(e.zeroLineColor[r]=s(n.zerolinecolor)),\"zerolinewidth\"in n&&(e.zeroLineWidth[r]=n.zerolinewidth),\"ticks\"in n&&n.ticks?e.lineTickEnable[r]=!0:e.lineTickEnable[r]=!1,\"ticklen\"in n&&(e.lineTickLength[r]=e._defaultLineTickLength[r]=n.ticklen),\"tickcolor\"in n&&(e.lineTickColor[r]=s(n.tickcolor)),\"tickwidth\"in n&&(e.lineTickWidth[r]=n.tickwidth),\"tickangle\"in n&&(e.tickAngle[r]=\"auto\"===n.tickangle?0:Math.PI*-n.tickangle/180),\"showticklabels\"in n&&(e.tickEnable[r]=n.showticklabels),\"tickfont\"in n&&(n.tickfont.color&&(e.tickColor[r]=s(n.tickfont.color)),n.tickfont.family&&(e.tickFont[r]=n.tickfont.family),n.tickfont.size&&(e.tickSize[r]=n.tickfont.size)),\"mirror\"in n?[\"ticks\",\"all\",\"allticks\"].indexOf(n.mirror)!==-1?(e.lineTickMirror[r]=!0,e.lineMirror[r]=!0):n.mirror===!0?(e.lineTickMirror[r]=!1,e.lineMirror[r]=!0):(e.lineTickMirror[r]=!1,e.lineMirror[r]=!1):e.lineMirror[r]=!1,\"showbackground\"in n&&n.showbackground!==!1?(e.backgroundEnable[r]=!0,e.backgroundColor[r]=s(n.backgroundcolor)):e.backgroundEnable[r]=!1}},e.exports=i},{\"../../../lib/html2unicode\":632,\"../../../lib/str2rgbarray\":646,arraytools:33}],708:[function(t,e,r){\"use strict\";function n(t,e,r,n){for(var a=r(\"bgcolor\"),l=i.combine(a,n.paper_bgcolor),u=Object.keys(o.camera),c=0;c<u.length;c++)r(\"camera.\"+u[c]+\".x\"),r(\"camera.\"+u[c]+\".y\"),r(\"camera.\"+u[c]+\".z\");var h=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),f=h?\"manual\":\"auto\",d=r(\"aspectmode\",f);h||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\"manual\"===d&&(e.aspectmode=\"auto\")),s(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:l}),r(\"dragmode\",n.getDfltFromLayout(\"dragmode\")),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}var i=t(\"../../../components/color\"),a=t(\"../../subplot_defaults\"),o=t(\"./layout_attributes\"),s=t(\"./axis_defaults\");e.exports=function(t,e,r){function i(e){if(!s){var r=o[e].values.indexOf(t[e])!==-1;return r?t[e]:void 0}}var s=e._has(\"cartesian\")||e._has(\"geo\")||e._has(\"gl2d\")||e._has(\"pie\")||e._has(\"ternary\");a(t,e,r,{type:\"gl3d\",attributes:o,handleDefaults:n,font:e.font,fullData:r,getDfltFromLayout:i,paper_bgcolor:e.paper_bgcolor})}},{\"../../../components/color\":533,\"../../subplot_defaults\":731,\"./axis_defaults\":706,\"./layout_attributes\":709}],709:[function(t,e,r){\"use strict\";function n(t,e,r){return{x:{valType:\"number\",dflt:t},y:{valType:\"number\",dflt:e},z:{valType:\"number\",dflt:r}}}var i=t(\"./axis_attributes\"),a=t(\"../../../lib/extend\").extendFlat;e.exports={bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},camera:{up:a(n(0,0,1),{}),center:a(n(0,0,0),{}),eye:a(n(1.25,1.25,1.25),{})},domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\"},aspectratio:{x:{valType:\"number\",min:0},y:{valType:\"number\",min:0},z:{valType:\"number\",min:0}},xaxis:i,yaxis:i,zaxis:i,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\"],dflt:\"turntable\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\"},_deprecated:{cameraposition:{valType:\"info_array\"}}}},{\"../../../lib/extend\":626,\"./axis_attributes\":705}],710:[function(t,e,r){\"use strict\";function n(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}function i(t){var e=new n;return e.merge(t),e}var a=t(\"../../../lib/str2rgbarray\"),o=[\"xaxis\",\"yaxis\",\"zaxis\"],s=n.prototype;s.merge=function(t){for(var e=0;e<3;++e){var r=t[o[e]];this.enabled[e]=r.showspikes,this.colors[e]=a(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness}},e.exports=i},{\"../../../lib/str2rgbarray\":646}],711:[function(t,e,r){\"use strict\";function n(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}function i(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,i=t.fullSceneLayout,c=[[],[],[]],h=0;h<3;++h){var f=i[l[h]];if(f._length=(r[h].hi-r[h].lo)*r[h].pixelsPerDataUnit/t.dataScale[h],Math.abs(f._length)===1/0)c[h]=[];else{f.range[0]=r[h].lo/t.dataScale[h],f.range[1]=r[h].hi/t.dataScale[h],f._m=1/(t.dataScale[h]*r[h].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var d=f.tickmode;if(\"auto\"===f.tickmode){f.tickmode=\"linear\";var p=f.nticks||o.constrain(f._length/40,4,9);a.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var g=a.calcTicks(f),m=0;m<g.length;++m)g[m].x=g[m].x*t.dataScale[h],g[m].text=s(g[m].text);c[h]=g,f.tickmode=d}}e.ticks=c;for(var h=0;h<3;++h){u[h]=.5*(t.glplot.bounds[0][h]+t.glplot.bounds[1][h]);for(var m=0;m<2;++m)e.bounds[m][h]=t.glplot.bounds[m][h]}t.contourLevels=n(c)}e.exports=i;var a=t(\"../../cartesian/axes\"),o=t(\"../../../lib\"),s=t(\"../../../lib/html2unicode\"),l=[\"xaxis\",\"yaxis\",\"zaxis\"],u=[0,0,0]},{\"../../../lib\":633,\"../../../lib/html2unicode\":632,\"../../cartesian/axes\":664}],712:[function(t,e,r){\"use strict\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}function i(t,e){var r=n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])));return r}e.exports=i},{}],713:[function(t,e,r){\"use strict\";function n(t){function e(e,r){if(\"string\"==typeof r)return r;var n=t.fullSceneLayout[e];return g.tickText(n,n.c2l(r),\"hover\").text}var r,n=t.svgContainer,i=t.container.getBoundingClientRect(),a=i.width,o=i.height;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+a+\" \"+o),n.setAttributeNS(null,\"width\",a),n.setAttributeNS(null,\"height\",o),A(t),t.glplot.axes.update(t.axesOptions);for(var s=Object.keys(t.traces),l=null,u=t.glplot.selection,c=0;c<s.length;++c)r=t.traces[s[c]],\"skip\"!==r.data.hoverinfo&&r.handlePick(u)&&(l=r),r.setContourLevels&&r.setContourLevels();var h;if(null!==l){var f=b(t.glplot.cameraParams,u.dataCoordinate);r=l.data;var d=r.hoverinfo,p=e(\"xaxis\",u.traceCoordinate[0]),v=e(\"yaxis\",u.traceCoordinate[1]),y=e(\"zaxis\",u.traceCoordinate[2]);if(\"all\"!==d){var x=d.split(\"+\");x.indexOf(\"x\")===-1&&(p=void 0),x.indexOf(\"y\")===-1&&(v=void 0),x.indexOf(\"z\")===-1&&(y=void 0),x.indexOf(\"text\")===-1&&(u.textLabel=void 0),x.indexOf(\"name\")===-1&&(l.name=void 0)}t.fullSceneLayout.hovermode&&m.loneHover({x:(.5+.5*f[0]/f[3])*a,y:(.5-.5*f[1]/f[3])*o,xLabel:p,yLabel:v,zLabel:y,text:u.textLabel,name:l.name,color:l.color},{container:n});var _={points:[{x:p,y:v,z:y,data:r._input,fullData:r,curveNumber:r.index,pointNumber:u.data.index}]};u.buttons&&u.distance<5?t.graphDiv.emit(\"plotly_click\",_):t.graphDiv.emit(\"plotly_hover\",_),h=_}else m.loneUnhover(n),t.graphDiv.emit(\"plotly_unhover\",h)}function i(t,e,r,i){var a={canvas:r,gl:i,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!h&&(c=document.createElement(\"canvas\"),h=d({canvas:c,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!h))throw new Error(\"error creating static canvas/context for image server\");a.pixelRatio=t.pixelRatio,a.gl=h,a.canvas=c}try{t.glplot=f(a)}catch(e){y(t)}var o=function(t){var e={};e[t.id]=u(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\"plotly_relayout\",e)};if(t.glplot.canvas.addEventListener(\"mouseup\",o.bind(null,t)),t.glplot.canvas.addEventListener(\"wheel\",o.bind(null,t)),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",function(t){p.warn(\"Lost WebGL context.\"),t.preventDefault()}),!t.camera){var s=t.fullSceneLayout.camera;t.camera=x(t.container,{center:[s.center.x,s.center.y,s.center.z],eye:[s.eye.x,s.eye.y,s.eye.z],up:[s.up.x,s.up.y,s.up.z],zoomMin:.1,zoomMax:100,mode:\"orbit\"})}return t.glplot.mouseListener.enabled=!1,t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=n.bind(null,t),t.traces={},!0}function a(t,e){var r=document.createElement(\"div\"),n=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");a.style.position=\"absolute\",a.style.top=a.style.left=\"0px\",a.style.width=a.style.height=\"100%\",a.style[\"z-index\"]=20,a.style[\"pointer-events\"]=\"none\",r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=e,this.id=t.id||\"scene\",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=w(e[this.id]),this.spikeOptions=M(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],!i(this,e)}function o(t,e,r,n){for(var i,a=0;a<e.length;++a)if(Array.isArray(e[a]))for(var o=0;o<e[a].length;++o)i=t.d2l(e[a][o]),!isNaN(i)&&isFinite(i)&&(n[0][r]=Math.min(n[0][r],i),n[1][r]=Math.max(n[1][r],i));else i=t.d2l(e[a]),!isNaN(i)&&isFinite(i)&&(n[0][r]=Math.min(n[0][r],i),n[1][r]=Math.max(n[1][r],i))}function s(t,e,r){var n=t.fullSceneLayout;o(n.xaxis,e.x,0,r),o(n.yaxis,e.y,1,r),o(n.zaxis,e.z,2,r)}function l(t){return[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]}function u(t){return{up:{x:t.up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]}}}var c,h,f=t(\"gl-plot3d\"),d=t(\"webgl-context\"),p=t(\"../../lib\"),g=t(\"../../plots/cartesian/axes\"),m=t(\"../../plots/cartesian/graph_interact\"),v=t(\"../../lib/str2rgbarray\"),y=t(\"../../lib/show_no_webgl_msg\"),x=t(\"./camera\"),b=t(\"./project\"),_=t(\"./set_convert\"),w=t(\"./layout/convert\"),M=t(\"./layout/spikes\"),A=t(\"./layout/tick_marks\"),k=a.prototype;k.recoverContext=function(){function t(){return r.isContextLost()?void requestAnimationFrame(t):i(e,e.fullLayout,n,r)?void e.plot.apply(e,e.plotArgs):void p.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")}var e=this,r=this.glplot.gl,n=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(t)};var T=[\"xaxis\",\"yaxis\",\"zaxis\"];k.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,l,u,c=e[this.id],h=r[this.id];for(c.bgcolor?this.glplot.clearColor=v(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),a=0;a<3;++a)l=c[T[a]],_(l);t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]];for(a=0;a<t.length;++a)n=t[a],n.visible===!0&&s(this,n,f);var d=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?d[o]=1:f[1][o]===f[0][o]?d[o]=1:d[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=d,\na=0;a<t.length;++a)n=t[a],n.visible===!0&&(i=this.traces[n.uid],i?i.update(n):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&t[o].visible===!0)continue t;i=this.traces[p[a]],i.dispose(),delete this.traces[p[a]]}var g=[[0,0,0],[0,0,0]],m=[],y={};for(a=0;a<3;++a){if(l=c[T[a]],u=l.type,u in y?(y[u].acc*=d[a],y[u].count+=1):y[u]={acc:d[a],count:1},l.autorange){for(g[0][a]=1/0,g[1][a]=-(1/0),o=0;o<this.glplot.objects.length;++o){var x=this.glplot.objects[o].bounds;g[0][a]=Math.min(g[0][a],x[0][a]/d[a]),g[1][a]=Math.max(g[1][a],x[1][a]/d[a])}if(\"rangemode\"in l&&\"tozero\"===l.rangemode&&(g[0][a]=Math.min(g[0][a],0),g[1][a]=Math.max(g[1][a],0)),g[0][a]>g[1][a])g[0][a]=-1,g[1][a]=1;else{var b=g[1][a]-g[0][a];g[0][a]-=b/32,g[1][a]+=b/32}}else{var w=c[T[a]].range;g[0][a]=w[0],g[1][a]=w[1]}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),m[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*d[a],this.glplot.bounds[1][a]=g[1][a]*d[a]}var M=[1,1,1];for(a=0;a<3;++a){l=c[T[a]],u=l.type;var A=y[u];M[a]=Math.pow(A.acc,1/A.count)/d[a]}var k,E=4;if(\"auto\"===c.aspectmode)k=Math.max.apply(null,M)/Math.min.apply(null,M)<=E?M:[1,1,1];else if(\"cube\"===c.aspectmode)k=[1,1,1];else if(\"data\"===c.aspectmode)k=M;else{if(\"manual\"!==c.aspectmode)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var S=c.aspectratio;k=[S.x,S.y,S.z]}c.aspectratio.x=h.aspectratio.x=k[0],c.aspectratio.y=h.aspectratio.y=k[1],c.aspectratio.z=h.aspectratio.z=k[2],this.glplot.aspect=k;var L=c.domain||null,z=e._size||null;if(L&&z){var C=this.container.style;C.position=\"absolute\",C.left=z.l+L.x[0]*z.w+\"px\",C.top=z.t+(1-L.y[1])*z.h+\"px\",C.width=z.w*(L.x[1]-L.x[0])+\"px\",C.height=z.h*(L.y[1]-L.y[0])+\"px\"}this.glplot.redraw()}},k.destroy=function(){this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null},k.setCameraToDefault=function(){this.setCamera({eye:{x:1.25,y:1.25,z:1.25},center:{x:0,y:0,z:0},up:{x:0,y:0,z:1}})},k.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),u(this.glplot.camera)},k.setCamera=function(t){var e={};e[this.id]=t,this.glplot.camera.lookAt.apply(this,l(t)),this.graphDiv.emit(\"plotly_relayout\",e)},k.saveCamera=function(t){function e(t,e,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var r=this.getCamera(),n=p.nestedProperty(t,this.id+\".camera\"),i=n.get(),a=!1;if(void 0===i)a=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!e(r,i,o,s)){a=!0;break}return a&&n.set(r),a},k.updateFx=function(t,e){var r=this.camera;r&&(\"orbit\"===t?(r.mode=\"orbit\",r.keyBindingMode=\"rotate\"):\"turntable\"===t?(r.up=[0,0,1],r.mode=\"turntable\",r.keyBindingMode=\"rotate\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},k.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(c),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var h=document.createElement(\"canvas\");h.width=r,h.height=n;var f=h.getContext(\"2d\"),d=f.createImageData(r,n);d.data.set(i),f.putImageData(d,0,0);var p;switch(t){case\"jpeg\":p=h.toDataURL(\"image/jpeg\");break;case\"webp\":p=h.toDataURL(\"image/webp\");break;default:p=h.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(c),p},e.exports=a},{\"../../lib\":633,\"../../lib/show_no_webgl_msg\":644,\"../../lib/str2rgbarray\":646,\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/graph_interact\":671,\"./camera\":702,\"./layout/convert\":707,\"./layout/spikes\":710,\"./layout/tick_marks\":711,\"./project\":712,\"./set_convert\":714,\"gl-plot3d\":189,\"webgl-context\":518}],714:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../cartesian/axes\");e.exports=function(t){i.setConvert(t),t.setScale=n.noop}},{\"../../lib\":633,\"../cartesian/axes\":664}],715:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.extendFlat,a=t(\"./font_attributes\"),o=t(\"../components/color/attributes\");e.exports={font:{family:i({},a.family,{dflt:'\"Open Sans\", verdana, arial, sans-serif'}),size:i({},a.size,{dflt:12}),color:i({},a.color,{dflt:o.defaultLine})},title:{valType:\"string\",dflt:\"Click to enter Plot title\"},titlefont:i({},a,{}),autosize:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:10,dflt:700},height:{valType:\"number\",min:10,dflt:450},margin:{l:{valType:\"number\",min:0,dflt:80},r:{valType:\"number\",min:0,dflt:80},t:{valType:\"number\",min:0,dflt:100},b:{valType:\"number\",min:0,dflt:80},pad:{valType:\"number\",min:0,dflt:0},autoexpand:{valType:\"boolean\",dflt:!0}},paper_bgcolor:{valType:\"color\",dflt:o.background},plot_bgcolor:{valType:\"color\",dflt:o.background},separators:{valType:\"string\",dflt:\".,\"},hidesources:{valType:\"boolean\",dflt:!1},smith:{valType:\"enumerated\",values:[!1],dflt:!1},showlegend:{valType:\"boolean\"},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"orbit\",\"turntable\"],dflt:\"zoom\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1]}}},{\"../components/color/attributes\":532,\"../lib\":633,\"./font_attributes\":684}],716:[function(t,e,r){\"use strict\";e.exports={styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",controlContainerClassName:\"mapboxgl-control-container\",noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\"  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\"}},{}],717:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=Array.isArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s}var h;return h=u[0]&&u[1]?u.join(\"-\"):u[0]?u[0]:u[1]?u[1]:\"center\",{anchor:h,offset:c}}},{\"../../lib\":633}],718:[function(t,e,r){\"use strict\";function n(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.subplot===e&&r.push(i)}return r}function i(t,e){var r=t._fullLayout,n=t._context;if(\"\"===n.mapboxAccessToken)return\"\";for(var i=n.mapboxAccessToken,a=0;a<e.length;a++){var o=r[e[a]];if(o.accesstoken){i=o.accesstoken;break}}if(!i)throw new Error(u.noAccessTokenErrorMsg);return i}var a=t(\"mapbox-gl\"),o=t(\"../plots\"),s=t(\"../../constants/xmlns_namespaces\"),l=t(\"./mapbox\"),u=t(\"./constants\");r.name=\"mapbox\",r.attr=\"subplot\",r.idRoot=\"mapbox\",r.idRegex=/^mapbox([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^mapbox([2-9]|[1-9][0-9]+)?$/,r.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\"}},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,s=o.getSubplotIds(e,\"mapbox\"),u=i(t,s);a.accessToken=u;for(var c=0;c<s.length;c++){var h=s[c],f=n(r,h),d=e[h],p=d._subplot;d.accesstoken=u,p||(p=l({gd:t,container:e._glcontainer.node(),id:h,fullLayout:e,staticPlot:t._context.staticPlot}),e[h]._subplot=p),p.plot(f,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=o.getSubplotIds(n,\"mapbox\"),a=0;a<i.length;a++){var s=i[a];!e[s]&&n[s]._subplot&&n[s]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=o.getSubplotIds(e,\"mapbox\"),n=e._size,i=0;i<r.length;i++){var a=e[r[i]],l=a.domain,u=a._subplot,c=u.toImage(\"png\"),h=e._glimages.append(\"svg:image\");h.attr({xmlns:s.svg,\"xlink:href\":c,x:n.l+n.w*l.x[0],y:n.t+n.h*(1-l.y[1]),width:n.w*(l.x[1]-l.x[0]),height:n.h*(l.y[1]-l.y[0]),preserveAspectRatio:\"none\"}),u.destroy()}}},{\"../../constants/xmlns_namespaces\":618,\"../plots\":724,\"./constants\":716,\"./layout_attributes\":720,\"./layout_defaults\":721,\"./mapbox\":722,\"mapbox-gl\":304}],719:[function(t,e,r){\"use strict\";function n(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\"-layer\"+e,this.idSource=this.uid+\"-source\",this.idLayer=this.uid+\"-layer\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}function i(t){var e=t.source;return s.isPlainObject(e)||\"string\"==typeof e&&e.length>0}function a(t){var e={},r={};switch(t.type){case\"circle\":s.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":s.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity});break;case\"fill\":s.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var n=t.symbol,i=l(n.textposition,n.iconsize);s.extendFlat(e,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset}),s.extendFlat(r,{\"icon-color\":t.color,\"text-color\":n.textfont.color,\"text-opacity\":t.opacity})}return{layout:e,paint:r}}function o(t){var e,r=t.sourcetype,n=t.source,i={type:r},a=\"string\"==typeof n;return\"geojson\"===r?e=\"data\":\"vector\"===r&&(e=a?\"url\":\"tiles\"),i[e]=n,i}var s=t(\"../../lib\"),l=t(\"./convert_text_opts\"),u=n.prototype;u.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)&&this.updateLayer(t):(this.updateSource(t),this.updateLayer(t)),this.updateStyle(t),this.visible=i(t)},u.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},u.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},u.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,i(t)){var r=o(t);e.addSource(this.idSource,r)}},u.updateLayer=function(t){var e=this.map;if(e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,i(t)){e.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":t.sourcelayer||\"\",type:t.type},t.below);var r={visibility:\"visible\"};this.mapbox.setOptions(this.idLayer,\"setLayoutProperty\",r)}},u.updateStyle=function(t){var e=a(t);i(t)&&(this.mapbox.setOptions(this.idLayer,\"setLayoutProperty\",e.layout),this.mapbox.setOptions(this.idLayer,\"setPaintProperty\",e.paint))},u.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var i=new n(t,e);return i.update(r),i}},{\"../../lib\":633,\"./convert_text_opts\":717}],720:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\").defaultLine,a=t(\"../font_attributes\"),o=t(\"../../traces/scatter/attributes\").textposition;e.exports={domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],dflt:\"basic\"},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},layers:{_isLinkedToArray:\"layer\",sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\"],dflt:\"circle\"},below:{valType:\"string\",dflt:\"\"},color:{valType:\"color\",dflt:i},opacity:{valType:\"number\",min:0,max:1,dflt:1},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2}},fill:{outlinecolor:{valType:\"color\",dflt:i}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},textfont:n.extendDeep({},a,{family:{dflt:\"Open Sans Regular, Arial Unicode MS Regular\"}}),textposition:n.extendFlat({},o,{arrayOk:!1})}}}},{\"../../components/color\":533,\"../../lib\":633,\"../../traces/scatter/attributes\":846,\"../font_attributes\":684}],721:[function(t,e,r){\"use strict\";function n(t,e,r){r(\"accesstoken\"),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\"),i(t,e),e._input=t}function i(t,e){function r(t,e){return a.coerce(n,i,s.layers,t,e)}for(var n,i,o=t.layers||[],l=e.layers=[],u=0;u<o.length;u++)if(n=o[u],i={},a.isPlainObject(n)){var c=r(\"sourcetype\");r(\"source\"),\"vector\"===c&&r(\"sourcelayer\");var h=r(\"type\");r(\"below\"),r(\"color\"),r(\"opacity\"),\"circle\"===h&&r(\"circle.radius\"),\"line\"===h&&r(\"line.width\"),\"fill\"===h&&r(\"fill.outlinecolor\"),\"symbol\"===h&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),a.coerceFont(r,\"symbol.textfont\"),r(\"symbol.textposition\")),i._index=u,l.push(i)}}var a=t(\"../../lib\"),o=t(\"../subplot_defaults\"),s=t(\"./layout_attributes\");e.exports=function(t,e,r){o(t,e,r,{type:\"mapbox\",attributes:s,handleDefaults:n,partition:\"y\"})}},{\"../../lib\":633,\"../subplot_defaults\":731,\"./layout_attributes\":720}],722:[function(t,e,r){\"use strict\";function n(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\"-\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}function i(t){var e=h.style.values,r=h.style.dflt,n={};return u.isPlainObject(t)?(n.id=t.id,n.style=t):\"string\"==typeof t?(n.id=t,n.style=e.indexOf(t)!==-1?a(t):t):(n.id=r,n.style=a(r)),n}function a(t){return c.styleUrlPrefix+t+\"-\"+c.styleUrlSuffix}function o(t){return[t.lon,t.lat]}var s=t(\"mapbox-gl\"),l=t(\"../cartesian/graph_interact\"),u=t(\"../../lib\"),c=t(\"./constants\"),h=t(\"./layout_attributes\"),f=t(\"./layers\"),d=n.prototype;e.exports=function(t){var e=new n(t);return e},d.plot=function(t,e,r){var n=this,i=n.opts=e[this.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash=[],n.layerList={});var a;a=n.map?new Promise(function(r,i){n.updateMap(t,e,r,i)}):new Promise(function(r,i){n.createMap(t,e,r,i)}),r.push(a)},d.createMap=function(t,e,r,n){function a(){l.loneUnhover(e._toppaper)}var h=this,f=h.gd,d=h.opts,p=h.styleObj=i(d.style);h.accessToken=d.accesstoken;var g=h.map=new s.Map({container:h.div,style:p.style,center:o(d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch,interactive:!h.isStatic,preserveDrawingBuffer:h.isStatic}),m=c.controlContainerClassName,v=h.div.getElementsByClassName(m)[0];h.div.removeChild(v),h.rejectOnError(n),g.once(\"load\",function(){h.updateData(t),h.updateLayout(e),h.resolveOnRender(r)}),g.on(\"moveend\",function(t){var e=h.getView();if(d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,t.originalEvent){var r={};r[h.id]=u.extendFlat({},e),f.emit(\"plotly_relayout\",r)}}),g.on(\"mousemove\",function(t){var e=h.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},h.xaxis.p2c=function(){return t.lngLat.lng},h.yaxis.p2c=function(){return t.lngLat.lat},l.hover(f,t,h.id)}),g.on(\"click\",function(){l.click(f,{target:!0})}),g.on(\"dragstart\",a),g.on(\"zoomstart\",a)},d.updateMap=function(t,e,r,n){var a=this,o=a.map;a.rejectOnError(n);var s=i(a.opts.style);a.styleObj.id!==s.id?(a.styleObj=s,o.setStyle(s.style),o.style.once(\"load\",function(){a.traceHash={},a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})):(a.updateData(t),a.updateLayout(e),a.resolveOnRender(r))},d.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];r=o[0].trace,e=a[r.uid],e?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(r=t[i][0].trace,l===r.uid)continue t;e=a[l],e.dispose(),delete a[l]}},d.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(o(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.map.resize()},d.resolveOnRender=function(t){var e=this.map;e.on(\"render\",function r(){e.loaded()&&(e.off(\"render\",r),t())})},d.rejectOnError=function(t){function e(){t(new Error(c.mapOnErrorMsg))}var r=this.map;r.once(\"error\",e),r.once(\"style.error\",e),r.once(\"source.error\",e),r.once(\"tile.error\",e),r.once(\"layer.error\",e)},d.createFramework=function(t){var e=this,r=e.div=document.createElement(\"div\");r.id=e.uid,r.style.position=\"absolute\",e.container.appendChild(r),e.xaxis={_id:\"x\",c2p:function(t){return e.project(t).x}},e.yaxis={_id:\"y\",c2p:function(t){return e.project(t).y}},e.updateFramework(t)},d.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},d.updateLayers=function(){var t,e=this.opts,r=e.layers,n=this.layerList;if(r.length!==n.length){for(t=0;t<n.length;t++)n[t].dispose();for(n=this.layerList=[],t=0;t<r.length;t++)n.push(f(this,t,r[t]))}else for(t=0;t<r.length;t++)n[t].update(r[t])},d.destroy=function(){this.map&&this.map.remove(),this.container.removeChild(this.div)},d.toImage=function(){return this.map.getCanvas().toDataURL()},d.initSource=function(t){var e={type:\"geojson\",data:{type:\"Feature\",geometry:{type:\"Point\",coordinates:[]}}};return this.map.addSource(t,e)},d.setSourceData=function(t,e){this.map.getSource(t).setData(e)},d.setOptions=function(t,e,r){for(var n=this.map,i=Object.keys(r),a=0;a<i.length;a++){var o=i[a];n[e](t,o,r[o])}},d.project=function(t){return this.map.project(new s.LngLat(t[0],t[1]))},d.getView=function(){var t=this.map,e=t.getCenter(),r={lon:e.lng,lat:e.lat};return{center:r,zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{\"../../lib\":633,\"../cartesian/graph_interact\":671,\"./constants\":716,\"./layers\":719,\"./layout_attributes\":720,\"mapbox-gl\":304}],723:[function(t,e,r){\"use strict\";e.exports={t:{valType:\"number\",dflt:0},r:{valType:\"number\",dflt:0},b:{valType:\"number\",dflt:0},l:{valType:\"number\",dflt:0}}},{}],724:[function(t,e,r){\"use strict\";function n(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",function(){p.sendDataToCloud(t)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}function i(t,e){for(var r=f.isPlainObject,n=Array.isArray,a=Object.keys(e||{}),o=0;o<a.length;o++){var s=a[o],l=e[s],u=t[s];if(\"_\"===s.charAt(0)||\"function\"==typeof l){if(s in t)continue;t[s]=l}else if(n(l)&&n(u)&&r(l[0]))for(var c=0;c<l.length;c++)r(l[c])&&r(u[c])&&i(u[c],l[c]);else r(l)&&r(u)&&(i(u,l),Object.keys(u).length||delete t[s])}}function a(t,e,r){var n=r._globalTransforms||[];if(Array.isArray(t.transforms)||0!==n.length)for(var i=t.transforms||[],a=n.concat(i),o=e.transforms=[],s=0;s<a.length;s++){var l,u=a[s],c=u.type,h=y[c];h||f.warn(\"Unrecognized transform type \"+c+\".\"),h&&h.supplyDefaults?(l=h.supplyDefaults(u,e,r,t),l.type=c,l._module=h,f.pushUnique(r._transformModules,h)):l=f.extendFlat({},u),o.push(l)}}function o(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=y[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function s(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}var l=t(\"d3\"),u=t(\"fast-isnumeric\"),c=t(\"../plotly\"),h=t(\"../registry\"),f=t(\"../lib\"),d=t(\"../components/color\"),p=e.exports={},g=t(\"./animation_attributes\"),m=t(\"./frame_attributes\");f.extendFlat(p,h),p.attributes=t(\"./attributes\"),p.attributes.type.values=p.allTypes,p.fontAttrs=t(\"./font_attributes\"),p.layoutAttributes=t(\"./layout_attributes\"),p.fontWeight=\"normal\";var v=p.subplotsRegistry,y=p.transformsRegistry,x=t(\"../components/errorbars\"),b=t(\"./command\");p.executeAPICommand=b.executeAPICommand,p.computeAPICommandBindings=b.computeAPICommandBindings,p.manageCommandObserver=b.manageCommandObserver,p.hasSimpleAPICommandBindings=b.hasSimpleAPICommandBindings,p.findSubplotIds=function(t,e){var r=[];if(void 0===p.subplotsRegistry[e])return r;for(var n=p.subplotsRegistry[e].attr,i=0;i<t.length;i++){var a=t[i];p.traceIs(a,e)&&r.indexOf(a[n])===-1&&r.push(a[n])}return r},p.getSubplotIds=function(t,e){var r=p.subplotsRegistry[e];if(void 0===r)return[];if(!(\"cartesian\"!==e||t._has&&t._has(\"cartesian\")))return[];if(!(\"gl2d\"!==e||t._has&&t._has(\"gl2d\")))return[];if(\"cartesian\"===e||\"gl2d\"===e)return Object.keys(t._plots||{});for(var n=r.idRegex,i=Object.keys(t),a=[],o=0;o<i.length;o++){var s=i[o];n.test(s)&&a.push(s)}var l=r.idRoot.length;return a.sort(function(t,e){var r=+(t.substr(l)||1),n=+(e.substr(l)||1);return r-n}),a},p.getSubplotData=function(t,e,r){if(void 0===p.subplotsRegistry[e])return[];for(var n,i=p.subplotsRegistry[e].attr,a=[],o=0;o<t.length;o++)if(n=t[o],\"gl2d\"===e&&p.traceIs(n,\"gl2d\")){var s=c.Axes.subplotMatch,l=\"x\"+r.match(s)[1],u=\"y\"+r.match(s)[2];n[i[0]]===l&&n[i[1]]===u&&a.push(n)}else n[i]===r&&a.push(n);return a},p.redrawText=function(t){if(!(t.data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){h.getComponentMethod(\"annotations\",\"draw\")(t),h.getComponentMethod(\"legend\",\"draw\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(p.previousPromises(t))},300)})},p.resize=function(t){return new Promise(function(e,r){t&&\"none\"!==l.select(t).style(\"display\")||r(new Error(\"Resize must be passed a plot div element.\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)return void e(t);delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,c.relayout(t,{autosize:!0}).then(function(){t.changed=r,e(t)})},100)})},p.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},p.addLinks=function(t){var e=t._fullLayout,r=e._paper.selectAll(\"text.js-plot-link-container\").data([0]);r.enter().append(\"text\").classed(\"js-plot-link-container\",!0).style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:d.defaultLine,\"pointer-events\":\"all\"}).each(function(){var t=l.select(this);t.append(\"tspan\").classed(\"js-link-to-tool\",!0),t.append(\"tspan\").classed(\"js-link-spacer\",!0),t.append(\"tspan\").classed(\"js-sourcelinks\",!0)});var i=r.node(),a={y:e._paper.attr(\"height\")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=e._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),u=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&n(t,o),s.text(o.text()&&u.text()?\" - \":\"\")},p.sendDataToCloud=function(t){t.emit(\"plotly_beforeexport\");var e=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\"https://plot.ly\",r=l.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),n=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"}),i=n.append(\"input\").attr({type:\"text\",name:\"data\"});return i.node().value=p.graphJson(t,!1,\"keepdata\"),n.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1},p.supplyDefaults=function(t){var e,r=t._fullLayout||{},n=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],l=t.data||[];if(t._transitionData||p.createTransitionData(t),r._initialAutoSizeIsDone){var u=r.width,h=r.height;p.supplyLayoutGlobalDefaults(a,n),a.width||(n.width=u),a.height||(n.height=h)}else{p.supplyLayoutGlobalDefaults(a,n);var f=!a.width||!a.height,d=n.autosize,g=t._context&&t._context.autosizable,m=f&&(d||g);m?p.plotAutoSize(t,a,n):f&&p.sanitizeMargins(t),!d&&f&&(a.width=n.width,a.height=n.height)}n._initialAutoSizeIsDone=!0,n._dataLength=l.length,n._globalTransforms=(t._context||{}).globalTransforms,p.supplyDataDefaults(l,s,a,n),n._has=p._hasPlotType.bind(n);var v=n._modules;for(e=0;e<v.length;e++){var y=v[e];y.cleanData&&y.cleanData(s)}if(o.length===l.length)for(e=0;e<s.length;e++)i(s[e],o[e]);p.supplyLayoutModuleDefaults(a,n,s,t._transitionData),n._hasCartesian=n._has(\"cartesian\"),n._hasGeo=n._has(\"geo\"),n._hasGL3D=n._has(\"gl3d\"),n._hasGL2D=n._has(\"gl2d\"),n._hasTernary=n._has(\"ternary\"),n._hasPie=n._has(\"pie\"),p.cleanPlot(s,n,o,r),p.linkSubplots(s,n,o,r),i(n,r),p.doAutoMargin(t);var x=c.Axes.list(t);for(e=0;e<x.length;e++){var b=x[e];b._gd=t,b.setScale()}if((t.calcdata||[]).length===s.length)for(e=0;e<s.length;e++){var _=s[e];(t.calcdata[e][0]||{}).trace=_}},p.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},p._hasPlotType=function(t){for(var e=this._basePlotModules||[],r=0;r<e.length;r++){var n=e[r];if(n.name===t)return!0}return!1},p.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=!!n._paper,u=!!n._infolayer;t:for(i=0;i<r.length;i++){var c=r[i],h=c.uid;for(a=0;a<t.length;a++){var f=t[a];if(h===f.uid)continue t}l&&n._paper.selectAll(\".hm\"+h+\",.contour\"+h+\",#clip\"+h+\",.trace\"+h).remove(),u&&n._infolayer.selectAll(\".cb\"+h).remove()}},p.linkSubplots=function(t,e,r,n){for(var i=n._plots||{},a=e._plots={},o={_fullData:t,_fullLayout:e},s=c.Axes.getSubplots(o),l=0;l<s.length;l++){var u,h=s[l],f=i[h];f?u=a[h]=f:(u=a[h]={},u.id=h),u.xaxis=c.Axes.getFromId(o,h,\"x\"),u.yaxis=c.Axes.getFromId(o,h,\"y\")}},p.supplyDataDefaults=function(t,e,r,n){function i(t){e.push(t);var r=t._module;r&&(f.pushUnique(a,r),f.pushUnique(s,t._module.basePlotModule),l++)}var a=n._modules=[],s=n._basePlotModules=[],l=0;n._transformModules=[];for(var u=0;u<t.length;u++){var c=t[u],h=p.supplyTraceDefaults(c,l,n,u);if(h.index=u,h._input=c,h._expandedIndex=l,h.transforms&&h.transforms.length)for(var d=o(h,e,r,n),g=0;g<d.length;g++){var m=d[g],v=p.supplyTraceDefaults(m,l,n,u);m.uid=v.uid=h.uid+g,v.index=u,v._input=c,v._fullInput=h,v._expandedIndex=l,v._expandedInput=m,i(v)}else h._fullInput=h,h._expandedInput=h,i(h)}},p.supplyAnimationDefaults=function(t){function e(e,r){return f.coerce(t||{},n,g,e,r)}t=t||{};var r,n={};if(e(\"mode\"),e(\"direction\"),e(\"fromcurrent\"),Array.isArray(t.frame))for(n.frame=[],r=0;r<t.frame.length;r++)n.frame[r]=p.supplyAnimationFrameDefaults(t.frame[r]||{});else n.frame=p.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(n.transition=[],r=0;r<t.transition.length;r++)n.transition[r]=p.supplyAnimationTransitionDefaults(t.transition[r]||{});else n.transition=p.supplyAnimationTransitionDefaults(t.transition||{});return n},p.supplyAnimationFrameDefaults=function(t){function e(e,n){return f.coerce(t||{},r,g.frame,e,n)}var r={};return e(\"duration\"),e(\"redraw\"),r},p.supplyAnimationTransitionDefaults=function(t){function e(e,n){return f.coerce(t||{},r,g.transition,e,n)}var r={};return e(\"duration\"),e(\"easing\"),r},p.supplyFrameDefaults=function(t){function e(e,n){return f.coerce(t,r,m,e,n)}var r={};return e(\"group\"),e(\"name\"),e(\"traces\"),e(\"baseframe\"),e(\"data\"),e(\"layout\"),r},p.supplyTraceDefaults=function(t,e,r,n){function i(e,r){return f.coerce(t,s,p.attributes,e,r)}function o(e,r){if(p.traceIs(s,e))return f.coerce(t,s,p.subplotsRegistry[e].attributes,r)}var s={},l=d.defaults[e%d.defaults.length],u=i(\"visible\");i(\"type\"),i(\"uid\"),i(\"name\",\"trace \"+n);for(var c=Object.keys(v),h=0;h<c.length;h++){var g=c[h];if([\"cartesian\",\"gl2d\"].indexOf(g)===-1){var m=v[g].attr;m&&o(g,m)}}if(u){var y=p.getModule(s);s._module=y,i(\"hoverinfo\",1===r._dataLength?\"x+y+z+text\":void 0),y&&y.supplyDefaults(t,s,l,r),p.traceIs(s,\"noOpacity\")||i(\"opacity\"),o(\"cartesian\",\"xaxis\"),o(\"cartesian\",\"yaxis\"),o(\"gl2d\",\"xaxis\"),o(\"gl2d\",\"yaxis\"),p.traceIs(s,\"showLegend\")&&(i(\"showlegend\"),i(\"legendgroup\")),a(t,s,r)}return s},p.supplyLayoutGlobalDefaults=function(t,e){function r(r,n){return f.coerce(t,e,p.layoutAttributes,r,n)}var n=f.coerceFont(r,\"font\");r(\"title\"),f.coerceFont(r,\"titlefont\",{family:n.family,size:Math.round(1.4*n.size),color:n.color}),r(\"autosize\",!(t.width&&t.height)),r(\"width\"),r(\"height\"),r(\"margin.l\"),r(\"margin.r\"),r(\"margin.t\"),r(\"margin.b\"),r(\"margin.pad\"),r(\"margin.autoexpand\"),t.width&&t.height&&p.sanitizeMargins(e),r(\"paper_bgcolor\"),r(\"separators\"),r(\"hidesources\"),r(\"smith\")},p.plotAutoSize=function(t,e,r){var n,i,a=t._context||{},o=a.frameMargins,l=f.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),a.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=\"hidden\";else if(u(o)&&o>0){var c=s(t._boundingBoxMargins),h=c.left+c.right,d=c.bottom+c.top,g=1-2*o,m=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(g*(m.width-h)),i=Math.round(g*(m.height-d))}else{var v=l?window.getComputedStyle(t):{};n=parseFloat(v.width)||r.width,i=parseFloat(v.height)||r.height}var y=p.layoutAttributes.width.min,x=p.layoutAttributes.height.min;n<y&&(n=y),i<x&&(i=x);var b=!e.width&&Math.abs(r.width-n)>1,_=!e.height&&Math.abs(r.height-i)>1;(_||b)&&(b&&(r.width=n),_&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),p.sanitizeMargins(r)},p.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a;c.Axes.supplyLayoutDefaults(t,e,r);var o=e._basePlotModules;for(i=0;i<o.length;i++)a=o[i],\"cartesian\"!==a.name&&a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r);var s=e._modules;for(i=0;i<s.length;i++)a=s[i],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r);var l=e._transformModules;for(i=0;i<l.length;i++)a=l[i],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r,n);c.Fx.supplyLayoutDefaults(t,e,r);var u=Object.keys(h.componentsRegistry);for(i=0;i<u.length;i++)a=h.componentsRegistry[u[i]],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r)},p.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&e._glcontainer.remove(),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._tester,delete t._testref,delete t._promises,delete t._redrawTimer,delete t._replotting,delete t.firstscatter,delete t.hmlumcount,delete t.hmpixcount,delete t.numboxes,delete t._hoverTimer,delete t._lastHoverTime,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,t.removeAllListeners&&t.removeAllListeners()},p.style=function(t){for(var e=t._fullLayout._modules,r=0;r<e.length;r++){var n=e[r];n.style&&n.style(t)}},p.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},p.autoMargin=function(t,e,r){\nvar n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),n.margin.autoexpand!==!1){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];t._replotting||p.doAutoMargin(t)}},p.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),i=Math.max(e.margin.l||0,0),a=Math.max(e.margin.r||0,0),o=Math.max(e.margin.t||0,0),s=Math.max(e.margin.b||0,0),l=e._pushmargin;if(e.margin.autoexpand!==!1&&(l.base={l:{val:0,size:i},r:{val:1,size:a},t:{val:1,size:o},b:{val:0,size:s}},Object.keys(l).forEach(function(t){var r=l[t].l||{},n=l[t].b||{},c=r.val,h=r.size,f=n.val,d=n.size;Object.keys(l).forEach(function(t){if(u(h)&&l[t].r){var r=l[t].r.val,n=l[t].r.size;if(r>c){var p=(h*r+(n-e.width)*c)/(r-c),g=(n*(1-c)+(h-e.width)*(1-r))/(r-c);p>=0&&g>=0&&p+g>i+a&&(i=p,a=g)}}if(u(d)&&l[t].t){var m=l[t].t.val,v=l[t].t.size;if(m>f){var y=(d*m+(v-e.height)*f)/(m-f),x=(v*(1-f)+(d-e.height)*(1-m))/(m-f);y>=0&&x>=0&&y+x>s+o&&(s=y,o=x)}}})})),r.l=Math.round(i),r.r=Math.round(a),r.t=Math.round(o),r.b=Math.round(s),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!t._replotting&&\"{}\"!==n&&n!==JSON.stringify(e._size))return c.plot(t)},p.graphJson=function(t,e,r,n,i){function a(t){if(\"function\"==typeof t)return null;if(f.isPlainObject(t)){var e,n,i={};for(e in t)if(\"function\"!=typeof t[e]&&[\"_\",\"[\"].indexOf(e.charAt(0))===-1){if(\"keepdata\"===r){if(\"src\"===e.substr(e.length-3))continue}else if(\"keepstream\"===r){if(n=t[e+\"src\"],\"string\"==typeof n&&n.indexOf(\":\")>0&&!f.isPlainObject(t.stream))continue}else if(\"keepall\"!==r&&(n=t[e+\"src\"],\"string\"==typeof n&&n.indexOf(\":\")>0))continue;i[e]=a(t[e])}return i}return Array.isArray(t)?t.map(a):f.isJSDate(t)?f.ms2DateTime(+t):t}(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&p.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l={data:(o||[]).map(function(t){var r=a(t);return e&&delete r.fit,r})};return e||(l.layout=a(s)),t.framework&&t.framework.isPolar&&(l=t.framework.getConfig()),\"object\"===n?l:JSON.stringify(l)},p.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch(n=e[r],n.type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\"delete\":i=a[n.index],delete o[i.name],a.splice(n.index,1)}return Promise.resolve()},p.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash,s=o[e];if(!s)return!1;for(var l=[s],u=[s.name];(s=o[s.baseframe])&&u.indexOf(s.name)===-1;)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=p.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),n=s.traces,!n)for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(c.traces||(c.traces=[]),r=0;r<s.data.length;r++)i=n[r],void 0!==i&&null!==i&&(a=c.traces.indexOf(i),a===-1&&(a=c.data.length,c.traces[a]=i),c.data[a]=p.extendTrace(c.data[a],s.data[r]))}return c},p.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,c,h=f.extendDeepNoArrays({},e||{}),d=f.expandObjectPaths(h),g={};if(r&&r.length)for(a=0;a<r.length;a++)n=f.nestedProperty(d,r[a]),i=n.get(),void 0===i?f.nestedProperty(g,r[a]).set(null):(n.set(null),f.nestedProperty(g,r[a]).set(i));if(t=f.extendDeepNoArrays(t||{},d),r&&r.length)for(a=0;a<r.length;a++)if(s=f.nestedProperty(g,r[a]),u=s.get()){for(l=f.nestedProperty(t,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var m=u[o];null===m?c[o]=null:c[o]=p.extendObjectWithContainers(c[o],m)}l.set(c)}return t},p.dataArrayContainers=[\"transforms\"],p.layoutArrayContainers=h.layoutArrayContainers,p.extendTrace=function(t,e){return p.extendObjectWithContainers(t,e,p.dataArrayContainers)},p.extendLayout=function(t,e){return p.extendObjectWithContainers(t,e,p.layoutArrayContainers)},p.transition=function(t,e,r,n,i,a){function o(){var n;for(n=0;n<y.length;n++){var i=y[n],a=t._fullData[i],o=a._module;o&&(o.animatable&&b.push(i),t.data[y[n]]=p.extendTrace(t.data[y[n]],e[n]))}var s=f.expandObjectPaths(f.extendDeepNoArrays({},r)),l=/^[xy]axis[0-9]*$/;for(var u in s)l.test(u)&&delete s[u].range;return p.extendLayout(t.layout,s),p.supplyDefaults(t),p.doCalcdata(t),x.calc(t),Promise.resolve()}function s(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}function l(t){if(t)for(;t.length;)t.shift()}function u(){return t.emit(\"plotly_transitioning\",[]),new Promise(function(e){function n(){return l++,function(){u++,_||u!==l||h(e)}}t._transitioning=!0,a.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){_=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return c.redraw(t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\"plotly_transitioninterrupted\",[])});var o,s,l=0,u=0,d=t._fullLayout._basePlotModules,p=!1;if(r)for(s=0;s<d.length;s++)if(d[s].transitionAxes){var g=f.expandObjectPaths(r);p=d[s].transitionAxes(t,g,a,n)||p}for(p?(o=f.extendFlat({},a),o.duration=0):o=a,s=0;s<d.length;s++)d[s].plot(t,b,o,n);setTimeout(n())})}function h(e){if(t._transitionData)return l(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return c.redraw(t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])}).then(e)}function d(){if(t._transitionData)return t._transitioning=!1,s(t._transitionData._interruptCallbacks)}var g,m,v=Array.isArray(e)?e.length:0,y=n.slice(0,v),b=[],_=!1;for(g=0;g<y.length;g++){m=y[g];var w=t._fullData[m],M=w._module;if(M&&!M.animatable){var A={};for(var k in e[g])A[k]=[e[g][k]]}}var T=[p.previousPromises,d,o,u],E=f.syncOrAsync(T,t);return E&&E.then||(E=Promise.resolve()),E.then(function(){return t})},p.doCalcdata=function(t,e){var r,n,i=c.Axes.list(t),a=t._fullData,o=t._fullLayout,s=new Array(a.length),l=(t.calcdata||[]).slice(0);for(t.calcdata=s,t.firstscatter=!0,t.numboxes=0,t._hmpixcount=0,t._hmlumcount=0,o._piecolormap={},o._piedefaultcolorcount=0,r=0;r<i.length;r++)i[r]._categories=i[r]._initialCategories.slice();for(r=0;r<a.length;r++)if(Array.isArray(e)&&e.indexOf(r)===-1)s[r]=l[r];else{var u=a[r],h=[];if(Array.isArray(e)&&e.indexOf(r)===-1)s[r]=l[r];else{var f;if(u.visible===!0){if(u.transforms)for(f=u._module,f&&f.calc&&f.calc(t,u),n=0;n<u.transforms.length;n++){var d=u.transforms[n];f=y[d.type],f&&f.calcTransform&&f.calcTransform(t,u,d)}f=u._module,f&&f.calc&&(h=f.calc(t,u))}Array.isArray(h)&&h[0]||(h=[{x:!1,y:!1,placeholder:!0}]),h[0].t||(h[0].t={}),h[0].trace=u,s[r]=h}}}},{\"../components/color\":533,\"../components/errorbars\":562,\"../lib\":633,\"../plotly\":659,\"../registry\":739,\"./animation_attributes\":660,\"./attributes\":662,\"./command\":683,\"./font_attributes\":684,\"./frame_attributes\":685,\"./layout_attributes\":715,d3:95,\"fast-isnumeric\":104}],725:[function(t,e,r){\"use strict\";var n=t(\"../../traces/scatter/attributes\"),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity}}},{\"../../traces/scatter/attributes\":846}],726:[function(t,e,r){\"use strict\";function n(t,e){var r={showline:{valType:\"boolean\"},showticklabels:{valType:\"boolean\"},tickorientation:{valType:\"enumerated\",values:[\"horizontal\",\"vertical\"]},ticklen:{valType:\"number\",min:0},tickcolor:{valType:\"color\"},ticksuffix:{valType:\"string\"},endpadding:{valType:\"number\"},visible:{valType:\"boolean\"}};return a({},e,r)}var i=t(\"../cartesian/layout_attributes\"),a=t(\"../../lib/extend\").extendFlat,o=a({},i.domain,{});e.exports={radialaxis:n(\"radial\",{range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},domain:o,orientation:{valType:\"number\"}}),angularaxis:n(\"angular\",{range:{valType:\"info_array\",items:[{valType:\"number\",dflt:0},{valType:\"number\",dflt:360}]},domain:o}),layout:{direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"]},orientation:{valType:\"angle\"}}}},{\"../../lib/extend\":626,\"../cartesian/layout_attributes\":673}],727:[function(t,e,r){\"use strict\";var n=e.exports=t(\"./micropolar\");n.manager=t(\"./micropolar_manager\")},{\"./micropolar\":728,\"./micropolar_manager\":729}],728:[function(t,e,r){var n=t(\"d3\"),i=t(\"../../lib\"),a=i.extendDeepAll,o=e.exports={version:\"0.2.2\"};o.Axis=function(){function t(t){r=t||r;var u=l.data,h=l.layout;return(\"string\"==typeof r||r.nodeName)&&(r=n.select(r)),r.datum(u).each(function(t,r){function l(t,e){return s(t)%360+h.orientation}var u=t.slice();c={data:o.util.cloneJson(u),layout:o.util.cloneJson(h)};var f=0;u.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor=\"LinePlot\"===t.geometry?t.color:n.rgb(t.color).darker().toString()),c.data[e].color=t.color,c.data[e].strokeColor=t.strokeColor,c.data[e].strokeDash=t.strokeDash,c.data[e].strokeSize=t.strokeSize});var d=u.filter(function(t,e){var r=t.visible;return\"undefined\"==typeof r||r===!0}),p=!1,g=d.map(function(t,e){return p=p||\"undefined\"!=typeof t.groupId,t});if(p){var m=n.nest().key(function(t,e){return\"undefined\"!=typeof t.groupId?t.groupId:\"unstacked\"}).entries(g),v=[],y=m.map(function(t,e){if(\"unstacked\"===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});d=n.merge(y)}d.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;x=Math.max(10,x);var b,_=[h.margin.left+x,h.margin.top+x];if(p){var w=n.max(o.util.sumArrays(o.util.arrayLast(d).r[0],o.util.arrayLast(v)));b=[0,w]}else b=n.extent(o.util.flattenArray(d.map(function(t,e){return t.r})));h.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),i=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),c.layout.radialAxis.domain=i.domain();var M,A=o.util.flattenArray(d.map(function(t,e){return t.t})),k=\"string\"==typeof A[0];k&&(A=o.util.deduplicate(A),M=A.slice(),A=n.range(A.length),d=d.map(function(t,e){var r=t;return t.t=[A],p&&(r.yStack=t.yStack),r}));var T=d.filter(function(t,e){return\"LinePlot\"===t.geometry||\"DotPlot\"===t.geometry}).length===d.length,E=null===h.needsEndSpacing?k||!T:h.needsEndSpacing,S=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!k&&h.angularAxis.domain[0]>=0,L=S?h.angularAxis.domain:n.extent(A),z=Math.abs(A[1]-A[0]);T&&!k&&(z=0);var C=L.slice();E&&k&&(C[1]+=z);var I=h.angularAxis.ticksCount||4;I>8&&(I=I/(I/8)+I%8),h.angularAxis.ticksStep&&(I=(C[1]-C[0])/I);var P=h.angularAxis.ticksStep||(C[1]-C[0])/(I*(h.minorTicks+1));M&&(P=Math.max(Math.round(P),1)),C[2]||(C[2]=P);var D=n.range.apply(this,C);if(D=D.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range(\"clockwise\"===h.direction?[0,360]:[360,0]),c.layout.angularAxis.domain=s.domain(),c.layout.angularAxis.endPadding=E?z:0,e=n.select(this).select(\"svg.chart-root\"),\"undefined\"==typeof e||e.empty()){var O=\"<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>\",R=(new DOMParser).parseFromString(O,\"application/xml\"),F=this.appendChild(this.ownerDocument.importNode(R.documentElement,!0));e=n.select(F)}e.select(\".guides-group\").style({\"pointer-events\":\"none\"}),e.select(\".angular.axis-group\").style({\"pointer-events\":\"none\"}),e.select(\".radial.axis-group\").style({\"pointer-events\":\"none\"});var j,N=e.select(\".chart-group\"),B={fill:\"none\",stroke:h.tickColor},U={\"font-size\":h.font.size,\"font-family\":h.font.family,fill:h.font.color,\"text-shadow\":[\"-1px 0px\",\"1px -1px\",\"-1px 1px\",\"1px 1px\"].map(function(t,e){return\" \"+t+\" 0 \"+h.font.outlineColor}).join(\",\")};if(h.showLegend){j=e.select(\".legend-group\").attr({transform:\"translate(\"+[x,h.margin.top]+\")\"}).style({display:\"block\"});var V=d.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol=\"DotPlot\"===t.geometry?t.dotType||\"circle\":\"LinePlot\"!=t.geometry?\"square\":\"line\",r.visibleInLegend=\"undefined\"==typeof t.visibleInLegend||t.visibleInLegend,r.color=\"LinePlot\"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:d.map(function(t,e){return t.name||\"Element\"+e}),legendConfig:a({},o.Legend.defaultConfig().legendConfig,{container:j,elements:V,reverseOrder:h.legend.reverseOrder})})();var q=j.node().getBBox();x=Math.min(h.width-q.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,x=Math.max(10,x),_=[h.margin.left+x,h.margin.top+x],i.range([0,x]),c.layout.radialAxis.domain=i.domain(),j.attr(\"transform\",\"translate(\"+[_[0]+x,_[1]-x]+\")\")}else j=e.select(\".legend-group\").style({display:\"none\"});e.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),N.attr(\"transform\",\"translate(\"+_+\")\").style({cursor:\"crosshair\"});var H=[(h.width-(h.margin.left+h.margin.right+2*x+(q?q.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*x))/2];if(H[0]=Math.max(0,H[0]),H[1]=Math.max(0,H[1]),e.select(\".outer-group\").attr(\"transform\",\"translate(\"+H+\")\"),h.title){var G=e.select(\"g.title-group text\").style(U).text(h.title),X=G.node().getBBox();G.attr({x:_[0]-X.width/2,y:_[1]-x-20})}var Y=e.select(\".radial.axis-group\");if(h.radialAxis.gridLinesVisible){var W=Y.selectAll(\"circle.grid-circle\").data(i.ticks(5));W.enter().append(\"circle\").attr({class:\"grid-circle\"}).style(B),W.attr(\"r\",i),W.exit().remove()}Y.select(\"circle.outside-circle\").attr({r:x}).style(B);var Z=e.select(\"circle.background-circle\").attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});if(h.radialAxis.visible){var Q=n.svg.axis().scale(i).ticks(5).tickSize(5);Y.call(Q).attr({transform:\"rotate(\"+h.radialAxis.orientation+\")\"}),Y.selectAll(\".domain\").style(B),Y.selectAll(\"g>text\").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(U).style({\"text-anchor\":\"start\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\"horizontal\"===h.radialAxis.tickOrientation?\"rotate(\"+-h.radialAxis.orientation+\") translate(\"+[0,U[\"font-size\"]]+\")\":\"translate(\"+[0,U[\"font-size\"]]+\")\"}}),Y.selectAll(\"g>line\").style({stroke:\"black\"})}var K=e.select(\".angular.axis-group\").selectAll(\"g.angular-tick\").data(D),$=K.enter().append(\"g\").classed(\"angular-tick\",!0);K.attr({transform:function(t,e){return\"rotate(\"+l(t,e)+\")\"}}).style({display:h.angularAxis.visible?\"block\":\"none\"}),K.exit().remove(),$.append(\"line\").classed(\"grid-line\",!0).classed(\"major\",function(t,e){return e%(h.minorTicks+1)==0}).classed(\"minor\",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(B),$.selectAll(\".minor\").style({stroke:h.minorTickColor}),K.select(\"line.grid-line\").attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?\"block\":\"none\"}),$.append(\"text\").classed(\"axis-text\",!0).style(U);var J=K.select(\"text.axis-text\").attr({x:x+h.labelOffset,dy:\".35em\",transform:function(t,e){var r=l(t,e),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return\"horizontal\"==i?\"rotate(\"+-r+\" \"+n+\" 0)\":\"radial\"==i?r<270&&r>90?\"rotate(180 \"+n+\" 0)\":null:\"rotate(\"+(r<=180&&r>0?-90:90)+\" \"+n+\" 0)\"}}).style({\"text-anchor\":\"middle\",display:h.angularAxis.labelsVisible?\"block\":\"none\"}).text(function(t,e){return e%(h.minorTicks+1)!=0?\"\":M?M[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(U);h.angularAxis.rewriteTicks&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?\"\":h.angularAxis.rewriteTicks(this.textContent,e)});var tt=n.max(N.selectAll(\".angular-tick text\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));j.attr({transform:\"translate(\"+[x+tt,h.margin.top]+\")\"});var et=e.select(\"g.geometry-group\").selectAll(\"g\").size()>0,rt=e.select(\"g.geometry-group\").selectAll(\"g.geometry\").data(d);if(rt.enter().append(\"g\").attr({class:function(t,e){return\"geometry geometry\"+e}}),rt.exit().remove(),d[0]||et){var nt=[];d.forEach(function(t,e){var r={};r.radialScale=i,r.angularScale=s,r.container=rt.filter(function(t,r){return r==e}),r.geometry=t.geometry,r.orientation=h.orientation,r.direction=h.direction,r.index=e,nt.push({data:t,geometryConfig:r})});var it=n.nest().key(function(t,e){return\"undefined\"!=typeof t.data.groupId||\"unstacked\"}).entries(nt),at=[];it.forEach(function(t,e){\"unstacked\"===t.key?at=at.concat(t.values.map(function(t,e){return[t]})):at.push(t.values)}),at.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return a(o[r].defaultConfig(),t)});o[r]().config(n)()})}var ot,st,lt=e.select(\".guides-group\"),ut=e.select(\".tooltips-group\"),ct=o.tooltipPanel().config({container:ut,fontSize:8})(),ht=o.tooltipPanel().config({container:ut,fontSize:8})(),ft=o.tooltipPanel().config({container:ut,hasTick:!0})();if(!k){var dt=lt.select(\"line\").attr({x1:0,y1:0,y2:0}).style({stroke:\"grey\",\"pointer-events\":\"none\"});N.on(\"mousemove.angular-guide\",function(t,e){var r=o.util.getMousePos(Z).angle;dt.attr({x2:-x,transform:\"rotate(\"+r+\")\"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;ot=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);ct.text(o.util.round(ot)).move([i[0]+_[0],i[1]+_[1]])}).on(\"mouseout.angular-guide\",function(t,e){lt.select(\"line\").style({opacity:0})})}var pt=lt.select(\"circle\").style({stroke:\"grey\",fill:\"none\"});N.on(\"mousemove.radial-guide\",function(t,e){var r=o.util.getMousePos(Z).radius;pt.attr({r:r}).style({opacity:.5}),st=i.invert(o.util.getMousePos(Z).radius);var n=o.util.convertToCartesian(r,h.radialAxis.orientation);ht.text(o.util.round(st)).move([n[0]+_[0],n[1]+_[1]])}).on(\"mouseout.radial-guide\",function(t,e){pt.style({opacity:0}),ft.hide(),ct.hide(),ht.hide()}),e.selectAll(\".geometry-group .mark\").on(\"mouseover.tooltip\",function(t,r){var i=n.select(this),a=i.style(\"fill\"),s=\"black\",l=i.style(\"opacity\")||1;if(i.attr({\"data-opacity\":l}),\"none\"!=a){i.attr({\"data-fill\":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var u={t:o.util.round(t[0]),r:o.util.round(t[1])};k&&(u.t=M[t[0]]);var c=\"t: \"+u.t+\", r: \"+u.r,h=this.getBoundingClientRect(),f=e.node().getBoundingClientRect(),d=[h.left+h.width/2-H[0]-f.left,h.top+h.height/2-H[1]-f.top];ft.config({color:s}).text(c),ft.move(d)}else a=i.style(\"stroke\"),i.attr({\"data-stroke\":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(\"mousemove.tooltip\",function(t,e){return 0==n.event.which&&void(n.select(this).attr(\"data-fill\")&&ft.show())}).on(\"mouseout.tooltip\",function(t,e){ft.hide();var r=n.select(this),i=r.attr(\"data-fill\");i?r.style({fill:i,opacity:r.attr(\"data-opacity\")}):r.style({stroke:r.attr(\"data-stroke\"),opacity:r.attr(\"data-opacity\")})})}),f}var e,r,i,s,l={data:[],layout:{}},u={},c={},h=n.dispatch(\"hover\"),f={};return f.render=function(e){return t(e),this},f.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),a(l.data[e],o.Axis.defaultConfig().data[0]),a(l.data[e],t)}),a(l.layout,o.Axis.defaultConfig().layout),a(l.layout,e.layout),this},f.getLiveConfig=function(){return c},f.getinputConfig=function(){return u},f.radialScale=function(t){return i},f.angularScale=function(t){return s},f.svg=function(){return e},n.rebind(f,h,\"on\"),f},o.Axis.defaultConfig=function(t,e){var r={data:[{t:[1,2,3,4],r:[10,11,12,13],name:\"Line1\",geometry:\"LinePlot\",color:null,strokeDash:\"solid\",strokeColor:null,strokeSize:\"1\",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:\"gray\",outlineColor:\"white\",family:\"Tahoma, sans-serif\"},direction:\"clockwise\",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:\"silver\",minorTickColor:\"#eee\",backgroundColor:\"none\",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}};return r},o.util={},o.DATAEXTENT=\"dataExtent\",o.AREA=\"AreaChart\",o.LINE=\"LinePlot\",o.DOT=\"DotPlot\",o.BAR=\"BarChart\",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6,i=n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180,i=t(n);return[e,i]});return i},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(\"undefined\"==typeof t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){\"string\"==typeof e&&(e=e.split(\".\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return r===-2},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180,n=t*Math.cos(r),i=t*Math.sin(r);return[n,i]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)e=t[i],e in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(\"undefined\"!=typeof t)return t[e]},t);\"undefined\"!=typeof a&&(e.reduce(function(t,r,n){if(\"undefined\"!=typeof t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return\"undefined\"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},o.PolyChart=function(){function t(){var t=r[0].geometryConfig,e=t.container;\"string\"==typeof e&&(e=n.select(e)),e.datum(r).each(function(e,r){function i(e,r){var n=t.radialScale(e[1]),i=(t.angularScale(e[0])+t.orientation)*Math.PI/180;return{r:n,t:i}}function a(t){var e=t.r*Math.cos(t.t),r=t.r*Math.sin(t.t);return{x:e,y:r}}var o=!!e[0].data.yStack,l=e.map(function(t,e){return o?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),u=t.angularScale,c=t.radialScale.domain()[0],h={};h.bar=function(r,i,a){var o=e[a].data,s=t.radialScale(r[1])-t.radialScale(0),l=t.radialScale(r[2]||0),c=o.barWidth;n.select(this).attr({class:\"mark bar\",d:\"M\"+[[s+l,-c/2],[s+l,c/2],[l,c/2],[l,-c/2]].join(\"L\")+\"Z\",transform:function(e,r){return\"rotate(\"+(t.orientation+u(e[0]))+\")\"}})},h.dot=function(t,r,o){var s=t[2]?[t[0],t[1]+t[2]]:t,l=n.svg.symbol().size(e[o].data.dotSize).type(e[o].data.dotType)(t,r);n.select(this).attr({class:\"mark dot\",d:l,transform:function(t,e){var r=a(i(s));return\"translate(\"+[r.x,r.y]+\")\"}})};var f=n.svg.line.radial().interpolate(e[0].data.lineInterpolation).radius(function(e){return t.radialScale(e[1])}).angle(function(e){return t.angularScale(e[0])*Math.PI/180});h.line=function(r,i,a){var o=r[2]?l[a].map(function(t,e){return[t[0],t[1]+t[2]]}):l[a];if(n.select(this).each(h.dot).style({opacity:function(t,r){return+e[a].data.dotVisible},fill:m.stroke(r,i,a)}).attr({class:\"mark dot\"}),!(i>0)){var s=n.select(this.parentNode).selectAll(\"path.line\").data([0]);s.enter().insert(\"path\"),s.attr({class:\"line\",d:f(o),transform:function(e,r){return\"rotate(\"+(t.orientation+90)+\")\"},\"pointer-events\":\"none\"}).style({fill:function(t,e){return m.fill(r,i,a)},\"fill-opacity\":0,stroke:function(t,e){return m.stroke(r,i,a)},\"stroke-width\":function(t,e){return m[\"stroke-width\"](r,i,a)},\"stroke-dasharray\":function(t,e){return m[\"stroke-dasharray\"](r,i,a)},opacity:function(t,e){return m.opacity(r,i,a)},display:function(t,e){return m.display(r,i,a)}})}};var d=t.angularScale.range(),p=Math.abs(d[1]-d[0])/l[0].length*Math.PI/180,g=n.svg.arc().startAngle(function(t){return-p/2}).endAngle(function(t){return p/2}).innerRadius(function(e){return t.radialScale(c+(e[2]||0))}).outerRadius(function(e){return t.radialScale(c+(e[2]||0))+t.radialScale(e[1])});h.arc=function(e,r,i){n.select(this).attr({class:\"mark arc\",d:g,transform:function(e,r){return\"rotate(\"+(t.orientation+u(e[0])+90)+\")\"}})};var m={fill:function(t,r,n){return e[n].data.color},stroke:function(t,r,n){return e[n].data.strokeColor},\"stroke-width\":function(t,r,n){return e[n].data.strokeSize+\"px\"},\"stroke-dasharray\":function(t,r,n){return s[e[n].data.strokeDash]},opacity:function(t,r,n){return e[n].data.opacity},display:function(t,r,n){return\"undefined\"==typeof e[n].data.visible||e[n].data.visible?\"block\":\"none\"}},v=n.select(this).selectAll(\"g.layer\").data(l);v.enter().append(\"g\").attr({class:\"layer\"});var y=v.selectAll(\"path.mark\").data(function(t,e){return t});y.enter().append(\"path\").attr({class:\"mark\"}),y.style(m).each(h[t.geometryType]),y.exit().remove(),v.exit().remove()})}var e,r=[o.PolyChart.defaultConfig()],i=n.dispatch(\"hover\"),s={solid:\"none\",dash:[5,2],dot:[2,5]};return t.config=function(t){return arguments.length?(t.forEach(function(t,e){r[e]||(r[e]={}),a(r[e],o.PolyChart.defaultConfig()),a(r[e],t)}),this):r},t.getColorScale=function(){return e},n.rebind(t,i,\"on\"),t},o.PolyChart.defaultConfig=function(){var t={data:{name:\"geom1\",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:\"circle\",dotSize:64,dotVisible:!1,barWidth:20,color:\"#ffa500\",strokeSize:1,strokeColor:\"silver\",strokeDash:\"solid\",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:\"LinePlot\",geometryType:\"arc\",direction:\"clockwise\",orientation:0,container:\"body\",radialScale:null,angularScale:null,colorScale:n.scale.category20()}};return t},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){var t={geometryConfig:{geometryType:\"bar\"}};return t},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){var t={geometryConfig:{geometryType:\"arc\"}};return t},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){var t={geometryConfig:{geometryType:\"dot\",dotType:\"circle\"}};return t},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){var t={geometryConfig:{geometryType:\"line\"}};return t},o.Legend=function(){function t(){var r=e.legendConfig,i=e.data.map(function(t,e){return[].concat(t).map(function(t,n){var i=a({},r.elements[e]);return i.name=t,i.color=[].concat(r.elements[e].color)[n],i})}),o=n.merge(i);o=o.filter(function(t,e){return r.elements[e]&&(r.elements[e].visibleInLegend||\"undefined\"==typeof r.elements[e].visibleInLegend)}),r.reverseOrder&&(o=o.reverse());var s=r.container;(\"string\"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),u=r.fontSize,c=null==r.isContinuous?\"number\"==typeof o[0]:r.isContinuous,h=c?r.height:u*o.length,f=s.classed(\"legend-group\",!0),d=f.selectAll(\"svg\").data([0]),p=d.enter().append(\"svg\").attr({width:300,height:h+u,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\"});p.append(\"g\").classed(\"legend-axis\",!0),p.append(\"g\").classed(\"legend-marks\",!0);var g=n.range(o.length),m=n.scale[c?\"linear\":\"ordinal\"]().domain(g).range(l),v=n.scale[c?\"linear\":\"ordinal\"]().domain(g)[c?\"range\":\"rangePoints\"]([0,h]),y=function(t,e){var r=3*e;return\"line\"===t?\"M\"+[[-e/2,-e/12],[e/2,-e/12],[e/2,e/12],[-e/2,e/12]]+\"Z\":n.svg.symbolTypes.indexOf(t)!=-1?n.svg.symbol().type(t).size(r)():n.svg.symbol().type(\"square\").size(r)()};if(c){var x=d.select(\".legend-marks\").append(\"defs\").append(\"linearGradient\").attr({id:\"grad1\",x1:\"0%\",y1:\"0%\",x2:\"0%\",y2:\"100%\"}).selectAll(\"stop\").data(l);x.enter().append(\"stop\"),x.attr({offset:function(t,e){return e/(l.length-1)*100+\"%\"}}).style({\"stop-color\":function(t,e){return t}}),d.append(\"rect\").classed(\"legend-mark\",!0).attr({height:r.height,width:r.colorBandWidth,fill:\"url(#grad1)\"})}else{var b=d.select(\".legend-marks\").selectAll(\"path.legend-mark\").data(o);b.enter().append(\"path\").classed(\"legend-mark\",!0),b.attr({transform:function(t,e){return\"translate(\"+[u/2,v(e)+u/2]+\")\"},d:function(t,e){var r=t.symbol;return y(r,u)},fill:function(t,e){return m(e)}}),b.exit().remove()}var _=n.svg.axis().scale(v).orient(\"right\"),w=d.select(\"g.legend-axis\").attr({transform:\"translate(\"+[c?r.colorBandWidth:u,u/2]+\")\"}).call(_);return w.selectAll(\".domain\").style({fill:\"none\",stroke:\"none\"}),w.selectAll(\"line\").style({fill:\"none\",stroke:c?r.textColor:\"none\"}),w.selectAll(\"text\").style({fill:r.textColor,\"font-size\":r.fontSize}).text(function(t,e){return o[e].name}),t}var e=o.Legend.defaultConfig(),r=n.dispatch(\"hover\");return t.config=function(t){return arguments.length?(a(e,t),this):e},n.rebind(t,r,\"on\"),t},o.Legend.defaultConfig=function(t,e){var r={data:[\"a\",\"b\",\"c\"],legendConfig:{elements:[{symbol:\"line\",color:\"red\"},{symbol:\"square\",color:\"yellow\"},{symbol:\"diamond\",color:\"limegreen\"}],height:150,colorBandWidth:30,fontSize:12,container:\"body\",isContinuous:null,textColor:\"grey\",reverseOrder:!1}};return r},o.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:\"white\",padding:5},s=\"tooltip-\"+o.tooltipPanel.uid++,l=10,u=function(){t=i.container.selectAll(\"g.\"+s).data([0]);var n=t.enter().append(\"g\").classed(s,!0).style({\"pointer-events\":\"none\",display:\"none\"});return r=n.append(\"path\").style({fill:\"white\",\"fill-opacity\":.9}).attr({d:\"M0 0\"}),e=n.append(\"text\").attr({dx:i.padding+l,dy:.3*+i.fontSize}),u};return u.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?\"#aaa\":\"white\",c=o>=.5?\"black\":\"white\",h=a||\"\";e.style({fill:c,\"font-size\":i.fontSize+\"px\"}).text(h);var f=i.padding,d=e.node().getBBox(),p={fill:i.color,stroke:s,\"stroke-width\":\"2px\"},g=d.width+2*f+l,m=d.height+2*f;return r.attr({d:\"M\"+[[l,-m/2],[l,-m/4],[i.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join(\"L\")+\"Z\"}).style(p),t.attr({transform:\"translate(\"+[l,-m/2+2*f]+\")\"}),t.style({display:\"block\"}),u},u.move=function(e){if(t)return t.attr({transform:\"translate(\"+[e[0],e[1]]+\")\"}).style({display:\"block\"}),u},u.hide=function(){if(t)return t.style({display:\"none\"}),u},u.show=function(){if(t)return t.style({display:\"block\"}),u},u.config=function(t){return a(i,t),u},u},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={};return t.convert=function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=a({},t),i=[[n,[\"marker\",\"color\"],[\"color\"]],[n,[\"marker\",\"opacity\"],[\"opacity\"]],[n,[\"marker\",\"line\",\"color\"],[\"strokeColor\"]],[n,[\"marker\",\"line\",\"dash\"],[\"strokeDash\"]],[n,[\"marker\",\"line\",\"width\"],[\"strokeSize\"]],[n,[\"marker\",\"symbol\"],[\"dotType\"]],[n,[\"marker\",\"size\"],[\"dotSize\"]],[n,[\"marker\",\"barWidth\"],[\"barWidth\"]],[n,[\"line\",\"interpolation\"],[\"lineInterpolation\"]],[n,[\"showlegend\"],[\"visibleInLegend\"]]];\nreturn i.forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?(\"LinePlot\"===n.geometry?(n.type=\"scatter\",n.dotVisible===!0?(delete n.dotVisible,n.mode=\"lines+markers\"):n.mode=\"lines\"):\"DotPlot\"===n.geometry?(n.type=\"scatter\",n.mode=\"markers\"):\"AreaChart\"===n.geometry?n.type=\"area\":\"BarChart\"===n.geometry&&(n.type=\"bar\"),delete n.geometry):(\"scatter\"===n.type?\"lines\"===n.mode?n.geometry=\"LinePlot\":\"markers\"===n.mode?n.geometry=\"DotPlot\":\"lines+markers\"===n.mode&&(n.geometry=\"LinePlot\",n.dotVisible=!0):\"area\"===n.type?n.geometry=\"AreaChart\":\"bar\"===n.type&&(n.geometry=\"BarChart\"),delete n.mode,delete n.type),n}),!e&&t.layout&&\"stack\"===t.layout.barmode)){var i=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=i.indexOf(t.geometry);n!=-1&&(r.data[e].groupId=n)})}if(t.layout){var s=a({},t.layout),l=[[s,[\"plot_bgcolor\"],[\"backgroundColor\"]],[s,[\"showlegend\"],[\"showLegend\"]],[s,[\"radialaxis\"],[\"radialAxis\"]],[s,[\"angularaxis\"],[\"angularAxis\"]],[s.angularaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularaxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularaxis,[\"nticks\"],[\"ticksCount\"]],[s.angularaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularaxis,[\"range\"],[\"domain\"]],[s.angularaxis,[\"endpadding\"],[\"endPadding\"]],[s.radialaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialaxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularAxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularAxis,[\"nticks\"],[\"ticksCount\"]],[s.angularAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularAxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"endpadding\"],[\"endPadding\"]],[s.radialAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialAxis,[\"range\"],[\"domain\"]],[s.font,[\"outlinecolor\"],[\"outlineColor\"]],[s.legend,[\"traceorder\"],[\"reverseOrder\"]],[s,[\"labeloffset\"],[\"labelOffset\"]],[s,[\"defaultcolorrange\"],[\"defaultColorRange\"]]];if(l.forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(\"undefined\"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&\"undefined\"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&\"undefined\"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&\"boolean\"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder=\"normal\"!=s.legend.reverseOrder),s.legend&&\"boolean\"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?\"reversed\":\"normal\",delete s.legend.reverseOrder),s.margin&&\"undefined\"!=typeof s.margin.t){var u=[\"t\",\"r\",\"b\",\"l\",\"pad\"],c=[\"top\",\"right\",\"bottom\",\"left\",\"pad\"],h={};n.entries(s.margin).forEach(function(t,e){h[c[u.indexOf(t.key)]]=t.value}),s.margin=h}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r},t}},{\"../../lib\":633,d3:95}],729:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"./micropolar\"),s=t(\"./undo_manager\"),l=i.extendDeepAll,u=e.exports={};u.framework=function(t){function e(e,i){return i&&(h=i),n.select(n.select(h).node().parentNode).selectAll(\".svg-container>*:not(.chart-root)\").remove(),r=r?l(r,e):e,a||(a=o.Axis()),c=o.adapter.plotly().convert(r),a.config(c).render(h),t.data=r.data,t.layout=r.layout,u.fillLayout(t),r}var r,i,a,c,h,f=new s;return e.isPolar=!0,e.svg=function(){return a.svg()},e.getConfig=function(){return r},e.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},e.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},e.setUndoPoint=function(){var t=this,e=o.util.cloneJson(r);!function(e,r){f.add({undo:function(){r&&t(r)},redo:function(){t(e)}})}(e,i),i=o.util.cloneJson(e)},e.undo=function(){f.undo()},e.redo=function(){f.redo()},e},u.fillLayout=function(t){var e=n.select(t).selectAll(\".plot-container\"),r=e.selectAll(\".svg-container\"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{\"../../components/color\":533,\"../../lib\":633,\"./micropolar\":728,\"./undo_manager\":730,d3:95}],730:[function(t,e,r){\"use strict\";e.exports=function(){function t(t,e){return t?(i=!0,t[e](),i=!1,this):this}var e,r=[],n=-1,i=!1;return{add:function(t){return i?this:(r.splice(n+1,r.length-n),r.push(t),n=r.length-1,this)},setCallback:function(t){e=t},undo:function(){var i=r[n];return i?(t(i,\"undo\"),n-=1,e&&e(i.undo),this):this},redo:function(){var i=r[n+1];return i?(t(i,\"redo\"),n+=1,e&&e(i.redo),this):this},clear:function(){r=[],n=-1},hasUndo:function(){return n!==-1},hasRedo:function(){return n<r.length-1},getCommands:function(){return r},getPreviousCommand:function(){return r[n-1]},getIndex:function(){return n}}}},{}],731:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"./plots\");e.exports=function(t,e,r,a){function o(t,e){return n.coerce(s,l,c,t,e)}for(var s,l,u=a.type,c=a.attributes,h=a.handleDefaults,f=a.partition||\"x\",d=i.findSubplotIds(r,u),p=d.length,g=0;g<p;g++){var m=d[g];s=t[m]?t[m]:t[m]={},e[m]=l={},o(\"domain.\"+f,[g/p,(g+1)/p]),o(\"domain.\"+{x:\"y\",y:\"x\"}[f]),a.id=m,h(s,l,o,a)}}},{\"../lib\":633,\"./plots\":724}],732:[function(t,e,r){\"use strict\";var n=t(\"./ternary\"),i=t(\"../../plots/plots\");r.name=\"ternary\",r.attr=\"subplot\",r.idRoot=\"ternary\",r.idRegex=/^ternary([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^ternary([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,a=i.getSubplotIds(e,\"ternary\"),o=0;o<a.length;o++){var s=a[o],l=i.getSubplotData(r,\"ternary\",s),u=e[s]._subplot;void 0===u&&(u=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=u),u.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\"ternary\"),o=0;o<a.length;o++){var s=a[o],l=n[s]._subplot;!e[s]&&l&&(l.plotContainer.remove(),l.clipDef.remove())}}},{\"../../plots/plots\":724,\"./layout/attributes\":733,\"./layout/defaults\":736,\"./layout/layout_attributes\":737,\"./ternary\":738}],733:[function(t,e,r){\"use strict\";e.exports={subplot:{valType:\"subplotid\",dflt:\"ternary\"}}},{}],734:[function(t,e,r){\"use strict\";var n=t(\"../../cartesian/layout_attributes\"),i=t(\"../../../lib/extend\").extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,min:{valType:\"number\",dflt:0,min:0}}},{\"../../../lib/extend\":626,\"../../cartesian/layout_attributes\":673}],735:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../../lib\"),a=t(\"./axis_attributes\"),o=t(\"../../cartesian/tick_label_defaults\"),s=t(\"../../cartesian/tick_mark_defaults\"),l=t(\"../../cartesian/tick_value_defaults\");e.exports=function(t,e,r){function u(r,n){return i.coerce(t,e,a,r,n)}e.type=\"linear\";var c=u(\"color\"),h=c===t.color?c:r.font.color,f=e._name,d=f.charAt(0).toUpperCase(),p=\"Component \"+d,g=u(\"title\",p);e._hovertitle=g===p?g:d,i.coerceFont(u,\"titlefont\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:h}),u(\"min\"),l(t,e,u,\"linear\"),o(t,e,u,\"linear\",{noHover:!1}),s(t,e,u,{outerTicks:!0});var m=u(\"showticklabels\");m&&(i.coerceFont(u,\"tickfont\",{family:r.font.family,size:r.font.size,color:h}),u(\"tickangle\"),u(\"tickformat\")),u(\"hoverformat\");var v=u(\"showline\");v&&(u(\"linecolor\",c),u(\"linewidth\"));var y=u(\"showgrid\");y&&(u(\"gridcolor\",n(c,r.bgColor,60).toRgbString()),u(\"gridwidth\"))}},{\"../../../lib\":633,\"../../cartesian/tick_label_defaults\":679,\"../../cartesian/tick_mark_defaults\":680,\"../../cartesian/tick_value_defaults\":681,\"./axis_attributes\":734,tinycolor2:489}],736:[function(t,e,r){\"use strict\";function n(t,e,r,n){var a=r(\"bgcolor\"),o=r(\"sum\");n.bgColor=i.combine(a,n.paper_bgcolor);for(var u,c,h,f=0;f<l.length;f++)u=l[f],c=t[u]||{},h=e[u]={_name:u},s(c,h,n);var d=e.aaxis,p=e.baxis,g=e.caxis;d.min+p.min+g.min>=o&&(d.min=0,p.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}var i=t(\"../../../components/color\"),a=t(\"../../subplot_defaults\"),o=t(\"./layout_attributes\"),s=t(\"./axis_defaults\"),l=[\"aaxis\",\"baxis\",\"caxis\"];e.exports=function(t,e,r){a(t,e,r,{type:\"ternary\",attributes:o,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\"../../../components/color\":533,\"../../subplot_defaults\":731,\"./axis_defaults\":735,\"./layout_attributes\":737}],737:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color/attributes\"),i=t(\"./axis_attributes\");e.exports={domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},bgcolor:{valType:\"color\",dflt:n.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:i,baxis:i,caxis:i}},{\"../../../components/color/attributes\":532,\"./axis_attributes\":734}],738:[function(t,e,r){\"use strict\";function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework()}function i(t){a.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}var a=t(\"d3\"),o=t(\"tinycolor2\"),s=t(\"../../plotly\"),l=t(\"../../lib\"),u=t(\"../../components/color\"),c=t(\"../../components/drawing\"),h=t(\"../cartesian/set_convert\"),f=t(\"../../lib/extend\").extendFlat,d=t(\"../cartesian/axes\"),p=t(\"../../components/dragelement\"),g=t(\"../../components/titles\"),m=t(\"../cartesian/select\"),v=t(\"../cartesian/constants\"),y=t(\"../cartesian/graph_interact\");e.exports=n;var x=n.prototype;x.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={}},x.plot=function(t,e){var r,n=this,i=e[n.id],a=e._size;l.getPlotDiv(n.plotContainer.node())!==n.graphDiv&&(n.init(n.graphDiv._fullLayout),n.makeFramework()),n.adjustLayout(i,a);var o=n.traceHash,s={};for(r=0;r<t.length;r++){var c=t[r];s[c.type]=s[c.type]||[],s[c.type].push(c)}var h=Object.keys(o),f=Object.keys(s);for(r=0;r<h.length;r++){var d=h[r];if(f.indexOf(d)===-1){var p=o[d][0];p.visible=!1,s[d]=[p]}}for(f=Object.keys(s),r=0;r<f.length;r++){var g=s[f[r]],m=g[0]._module;m.plot(n,l.filterVisible(g),i)}n.traceHash=s,n.layers.plotbg.select(\"path\").call(u.fill,i.bgcolor)},x.makeFramework=function(){var t=this,e=t.defs.selectAll(\"g.clips\").data([0]);e.enter().append(\"g\").classed(\"clips\",!0);var r=\"clip\"+t.layoutId+t.id;t.clipDef=e.selectAll(\"#\"+r).data([0]),t.clipDef.enter().append(\"clipPath\").attr(\"id\",r).append(\"path\").attr(\"d\",\"M0,0Z\"),t.plotContainer=t.container.selectAll(\"g.\"+t.id).data([0]),t.plotContainer.enter().append(\"g\").classed(t.id,!0),t.layers={};var n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\",\"frontplot\",\"zoom\",\"aaxis\",\"baxis\",\"caxis\",\"axlines\"],i=t.plotContainer.selectAll(\"g.toplevel\").data(n);i.enter().append(\"g\").attr(\"class\",function(t){return\"toplevel \"+t}).each(function(e){var r=a.select(this);t.layers[e]=r,\"frontplot\"===e?r.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===e?r.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===e?r.append(\"path\").attr(\"d\",\"M0,0Z\"):\"axlines\"===e&&r.selectAll(\"path\").data([\"aline\",\"bline\",\"cline\"]).enter().append(\"path\").each(function(t){a.select(this).classed(t,!0)})});var o=t.plotContainer.select(\".grids\").selectAll(\"g.grid\").data([\"agrid\",\"bgrid\",\"cgrid\"]);o.enter().append(\"g\").attr(\"class\",function(t){return\"grid \"+t}).each(function(e){t.layers[e]=a.select(this)}),t.plotContainer.selectAll(\".backplot,.frontplot,.grids\").call(c.setClipUrl,r),t.graphDiv._context.staticPlot||t.initInteractions()};var b=Math.sqrt(4/3);x.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,c=t.domain,d=(c.x[0]+c.x[1])/2,p=(c.y[0]+c.y[1])/2,g=c.x[1]-c.x[0],m=c.y[1]-c.y[0],v=g*e.w,y=m*e.h,x=t.sum,_=t.aaxis.min,w=t.baxis.min,M=t.caxis.min;v>b*y?(a=y,i=a*b):(i=v,a=i/b),o=g*i/v,s=m*a/y,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-p)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=x,l.xaxis={type:\"linear\",range:[_+2*M-x,x-_-2*w],domain:[d-o/2,d+o/2],_id:\"x\",_gd:l.graphDiv},h(l.xaxis),l.xaxis.setScale(),l.yaxis={type:\"linear\",range:[_,x-w-M],domain:[p-s/2,p+s/2],_id:\"y\",_gd:l.graphDiv},h(l.yaxis),l.yaxis.setScale();var A=l.yaxis.domain[0],k=l.aaxis=f({},t.aaxis,{range:[_,x-w-M],side:\"left\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*b],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_gd:l.graphDiv,_id:\"y\",_length:i,_gridpath:\"M0,0l\"+a+\",-\"+i/2});h(k);var T=l.baxis=f({},t.baxis,{range:[x-_-M,w],side:\"bottom\",_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_gd:l.graphDiv,_id:\"x\",_length:i,_gridpath:\"M0,0l-\"+i/2+\",-\"+a});h(T),k._counteraxis=T;var E=l.caxis=f({},t.caxis,{range:[x-_-w,M],side:\"right\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*b],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_gd:l.graphDiv,_id:\"y\",_length:i,_gridpath:\"M0,0l-\"+a+\",\"+i/2});h(E);var S=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";l.clipDef.select(\"path\").attr(\"d\",S),l.layers.plotbg.select(\"path\").attr(\"d\",S);var L=\"translate(\"+r+\",\"+n+\")\";l.plotContainer.selectAll(\".scatterlayer,.maplayer,.zoom\").attr(\"transform\",L);var z=\"translate(\"+r+\",\"+(n+a)+\")\";l.layers.baxis.attr(\"transform\",z),l.layers.bgrid.attr(\"transform\",z);var C=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(30)\";l.layers.aaxis.attr(\"transform\",C),l.layers.agrid.attr(\"transform\",C);var I=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(-30)\";l.layers.caxis.attr(\"transform\",I),l.layers.cgrid.attr(\"transform\",I),l.drawAxes(!0),l.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1);var P=l.layers.axlines;P.select(\".aline\").attr(\"d\",k.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(u.stroke,k.linecolor||\"#000\").style(\"stroke-width\",(k.linewidth||0)+\"px\"),P.select(\".bline\").attr(\"d\",T.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(u.stroke,T.linecolor||\"#000\").style(\"stroke-width\",(T.linewidth||0)+\"px\"),P.select(\".cline\").attr(\"d\",E.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(u.stroke,E.linecolor||\"#000\").style(\"stroke-width\",(E.linewidth||0)+\"px\")},x.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+\"title\",i=e.aaxis,a=e.baxis,o=e.caxis;if(d.doTicks(r,i,!0),d.doTicks(r,a,!0),d.doTicks(r,o,!0),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+(\"outside\"===o.ticks?.87*o.ticklen:0));g.draw(r,\"a\"+n,{propContainer:i,propName:e.id+\".aaxis.title\",dfltName:\"Component A\",attributes:{x:e.x0+e.w/2,y:e.y0-i.titlefont.size/3-s,\"text-anchor\":\"middle\"}});var l=(a.showticklabels?a.tickfont.size:0)+(\"outside\"===a.ticks?a.ticklen:0)+3;g.draw(r,\"b\"+n,{propContainer:a,propName:e.id+\".baxis.title\",dfltName:\"Component B\",attributes:{x:e.x0-l,y:e.y0+e.h+.83*a.titlefont.size+l,\"text-anchor\":\"middle\"}}),g.draw(r,\"c\"+n,{propContainer:o,propName:e.id+\".caxis.title\",dfltName:\"Component C\",attributes:{x:e.x0+e.w+l,y:e.y0+e.h+.83*o.titlefont.size+l,\"text-anchor\":\"middle\"}})}};var _=v.MINZOOM/2+.87,w=\"m-0.87,.5h\"+_+\"v3h-\"+(_+5.2)+\"l\"+(_/2+2.6)+\",-\"+(.87*_+4.5)+\"l2.6,1.5l-\"+_/2+\",\"+.87*_+\"Z\",M=\"m0.87,.5h-\"+_+\"v3h\"+(_+5.2)+\"l-\"+(_/2+2.6)+\",-\"+(.87*_+4.5)+\"l-2.6,1.5l\"+_/2+\",\"+.87*_+\"Z\",A=\"m0,1l\"+_/2+\",\"+.87*_+\"l2.6,-1.5l-\"+(_/2+2.6)+\",-\"+(.87*_+4.5)+\"l-\"+(_/2+2.6)+\",\"+(.87*_+4.5)+\"l2.6,1.5l\"+_/2+\",-\"+.87*_+\"Z\",k=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",T=!0;x.initInteractions=function(){function t(t,e,r){var n=F.getBoundingClientRect();_=e-n.left,E=r-n.top,S={a:R.aaxis.range[0],b:R.baxis.range[1],c:R.caxis.range[1]},z=S,L=R.aaxis.range[1]-S.a,C=o(R.graphDiv._fullLayout[R.id].bgcolor).getLuminance(),I=\"M0,\"+R.h+\"L\"+R.w/2+\", 0L\"+R.w+\",\"+R.h+\"Z\",P=!1,D=N.append(\"path\").attr(\"class\",\"zoombox\").style({fill:C>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",I),O=N.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:u.background,stroke:u.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),g()}function e(t,e){return 1-e/R.h}function r(t,e){return 1-(t+(R.h-e)/Math.sqrt(3))/R.w}function n(t,e){return(t-(R.h-e)/Math.sqrt(3))/R.w}function a(t,i){var a=_+t,o=E+i,s=Math.max(0,Math.min(1,e(_,E),e(a,o))),l=Math.max(0,Math.min(1,r(_,E),r(a,o))),u=Math.max(0,Math.min(1,n(_,E),n(a,o))),c=(s/2+u)*R.w,h=(1-s/2-l)*R.w,f=(c+h)/2,d=h-c,p=(1-s)*R.h,g=p-d/b;d<v.MINZOOM?(z=S,D.attr(\"d\",I),O.attr(\"d\",\"M0,0Z\")):(z={a:S.a+s*L,b:S.b+l*L,c:S.c+u*L},D.attr(\"d\",I+\"M\"+c+\",\"+p+\"H\"+h+\"L\"+f+\",\"+g+\"L\"+c+\",\"+p+\"Z\"),O.attr(\"d\",\"M\"+_+\",\"+E+k+\"M\"+c+\",\"+p+w+\"M\"+h+\",\"+p+M+\"M\"+f+\",\"+g+A)),P||(D.transition().style(\"fill\",C>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),O.transition().style(\"opacity\",1).duration(200),P=!0)}function c(t,e){if(z===S)return 2===e&&x(),i(j);i(j);var r={};r[R.id+\".aaxis.min\"]=z.a,r[R.id+\".baxis.min\"]=z.b,r[R.id+\".caxis.min\"]=z.c,s.relayout(j,r),T&&j.data&&j._context.showTips&&(l.notifier(\"Double-click to<br>zoom back out\",\"long\"),T=!1)}function h(){S={a:R.aaxis.range[0],b:R.baxis.range[1],c:R.caxis.range[1]},z=S}function f(t,e){var r=t/R.xaxis._m,n=e/R.yaxis._m;z={a:S.a-n,b:S.b+(r+n)/2,c:S.c-(r-n)/2};var i=[z.a,z.b,z.c].sort(),a={a:i.indexOf(z.a),b:i.indexOf(z.b),c:i.indexOf(z.c)};i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),z={a:i[a.a],b:i[a.b],c:i[a.c]},e=(S.a-z.a)*R.yaxis._m,t=(S.c-z.c-S.b+z.b)*R.xaxis._m);var o=\"translate(\"+(R.x0+t)+\",\"+(R.y0+e)+\")\";R.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",o),R.aaxis.range=[z.a,R.sum-z.b-z.c],R.baxis.range=[R.sum-z.a-z.c,z.b],R.caxis.range=[R.sum-z.a-z.b,z.c],R.drawAxes(!1),R.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1)}function d(t,e){if(t){var r={};r[R.id+\".aaxis.min\"]=z.a,r[R.id+\".baxis.min\"]=z.b,r[R.id+\".caxis.min\"]=z.c,s.relayout(j,r)}else 2===e&&x()}function g(){R.plotContainer.selectAll(\".select-outline\").remove()}function x(){var t={};t[R.id+\".aaxis.min\"]=0,t[R.id+\".baxis.min\"]=0,t[R.id+\".caxis.min\"]=0,j.emit(\"plotly_doubleclick\",null),s.relayout(j,t)}var _,E,S,L,z,C,I,P,D,O,R=this,F=R.layers.plotbg.select(\"path\").node(),j=R.graphDiv,N=R.layers.zoom,B={element:F,gd:j,plotinfo:{plot:N},doubleclick:x,subplot:R.id,prepFn:function(e,r,n){B.xaxes=[R.xaxis],B.yaxes=[R.yaxis];var i=j._fullLayout.dragmode;e.shiftKey&&(i=\"pan\"===i?\"zoom\":\"pan\"),\"lasso\"===i?B.minDrag=1:B.minDrag=void 0,\"zoom\"===i?(B.moveFn=a,B.doneFn=c,t(e,r,n)):\"pan\"===i?(B.moveFn=f,B.doneFn=d,h(),g()):\"select\"!==i&&\"lasso\"!==i||m(e,r,n,B,i)}};F.onmousemove=function(t){y.hover(j,t,R.id),j._fullLayout._lasthover=F,j._fullLayout._hoversubplot=R.id},F.onmouseout=function(t){j._dragging||p.unhover(j,t)},F.onclick=function(t){y.click(j,t)},p.init(B)}},{\"../../components/color\":533,\"../../components/dragelement\":554,\"../../components/drawing\":556,\"../../components/titles\":607,\"../../lib\":633,\"../../lib/extend\":626,\"../../plotly\":659,\"../cartesian/axes\":664,\"../cartesian/constants\":669,\"../cartesian/graph_interact\":671,\"../cartesian/select\":677,\"../cartesian/set_convert\":678,d3:95,tinycolor2:489}],739:[function(t,e,r){\"use strict\";function n(t){return\"object\"==typeof t&&(t=t.type),t}var i=t(\"./lib\"),a=t(\"./plots/attributes\");r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.register=function(t,e,n,a){if(r.modules[e])return void i.log(\"Type \"+e+\" already registered\");for(var o={},s=0;s<n.length;s++)o[n[s]]=!0,r.allCategories[n[s]]=!0;r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e)},r.registerSubplot=function(t){var e=t.name;return r.subplotsRegistry[e]?void i.log(\"Plot type \"+e+\" already registered.\"):void(r.subplotsRegistry[e]=t)},r.registerComponent=function(t){var e=t.name;r.componentsRegistry[e]=t,t.layoutAttributes&&t.layoutAttributes._isLinkedToArray&&i.pushUnique(r.layoutArrayContainers,e)},r.getModule=function(t){if(void 0!==t.r)return i.warn(\"Tried to put a polar trace on an incompatible graph of cartesian data. Ignoring this dataset.\",t),!1;var e=r.modules[n(t)];return!!e&&e._module},r.traceIs=function(t,e){if(t=n(t),\"various\"===t)return!1;var o=r.modules[t];return o||(t&&\"area\"!==t&&i.log(\"Unrecognized trace type \"+t+\".\"),o=r.modules[a.type.dflt]),!!o.categories[e]},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n?n[e]:i.noop}},{\"./lib\":633,\"./plots/attributes\":662}],740:[function(t,e,r){\"use strict\";function n(t){var e;switch(t){case\"themes__thumb\":e={autosize:!0,width:150,height:150,title:\"\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":e={title:\"\",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}function i(t){var e=[\"xaxis\",\"yaxis\",\"zaxis\"];return e.indexOf(t.slice(0,5))>-1}var a=t(\"../lib\"),o=t(\"../plots/plots\"),s=a.extendFlat,l=a.extendDeep;e.exports=function(t,e){t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var r,a=t.data,u=t.layout,c=l([],a),h=l({},u,n(e.tileClass));if(e.width&&(h.width=e.width),e.height&&(h.height=e.height),\"thumbnail\"===e.tileClass||\"themes__thumb\"===e.tileClass){h.annotations=[];var f=Object.keys(h);for(r=0;r<f.length;r++)i(f[r])&&(h[f[r]].title=\"\");for(r=0;r<c.length;r++){var d=c[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),\"pie\"===d.type&&(d.textposition=\"none\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)h.annotations.push(e.annotations[r]);var p=o.getSubplotIds(h,\"gl3d\");if(p.length){var g={};for(\"thumbnail\"===e.tileClass&&(g={title:\"\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<p.length;r++){var m=p[r];s(h[m].xaxis,g),s(h[m].yaxis,g),s(h[m].zaxis,g),h[m]._scene=null}}var v=document.createElement(\"div\");e.tileClass&&(v.className=e.tileClass);var y={gd:v,td:v,layout:h,data:c,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1}};return\"transparent\"!==e.setBackground&&(y.config.setBackground=e.setBackground||\"opaque\"),y.gd.defaultLayout=n(e.tileClass),y}},{\"../lib\":633,\"../plots/plots\":724}],741:[function(t,e,r){\"use strict\";function n(t,e){return e=e||{},e.format=e.format||\"png\",new Promise(function(r,n){t._snapshotInProgress&&n(new Error(\"Snapshotting already in progress.\")),a.isIE()&&\"svg\"!==e.format&&n(new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\")),t._snapshotInProgress=!0;var s=i(t,e),l=e.filename||t.fn||\"newplot\";l+=\".\"+e.format,s.then(function(e){return t._snapshotInProgress=!1,o(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,n(e)})})}var i=t(\"../plot_api/to_image\"),a=t(\"../lib\"),o=t(\"./filesaver\");e.exports=n},{\"../lib\":633,\"../plot_api/to_image\":657,\"./filesaver\":742}],742:[function(t,e,r){\"use strict\";var n=function(t,e){var r=document.createElement(\"a\"),n=\"download\"in r,i=/Version\\/[\\d\\.]+.*Safari/.test(navigator.userAgent),a=new Promise(function(a,o){\"undefined\"!=typeof navigator&&/MSIE [1-9]\\./.test(navigator.userAgent)&&o(new Error(\"IE < 10 unsupported\")),i&&(document.location.href=\"data:application/octet-stream\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\"download\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\"undefined\"!=typeof navigator&&navigator.msSaveBlob&&(navigator.msSaveBlob(new Blob([t]),e),a(e)),o(new Error(\"download error\"))});return a};e.exports=n},{}],743:[function(t,e,r){\"use strict\";r.getDelay=function(t){return t._has&&(t._has(\"gl3d\")||t._has(\"gl2d\"))?500:0},r.getRedrawFunc=function(t){if(!(t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],744:[function(t,e,r){\"use strict\";var n=t(\"./helpers\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\"./cloneplot\"),toSVG:t(\"./tosvg\"),svgToImg:t(\"./svgtoimg\"),toImage:t(\"./toimage\"),downloadImage:t(\"./download\")};e.exports=i},{\"./cloneplot\":740,\"./download\":741,\"./helpers\":743,\"./svgtoimg\":745,\"./toimage\":746,\"./tosvg\":747}],745:[function(t,e,r){\"use strict\";function n(t){var e=t.emitter||new a,r=new Promise(function(n,a){var o=window.Image,s=t.svg,l=t.format||\"png\";if(i.isIE()&&(s=s.replace(/\"/gi,\"'\"),s=s.replace(/(\\('#)(.*)('\\))/gi,'(\"$2\")'),s=s.replace(/(\\\\')/gi,'\"'),\"svg\"!==l)){var u=new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\");return a(u),t.promise?r:e.emit(\"error\",u)}var c=t.canvas,h=c.getContext(\"2d\"),f=new o,d=\"data:image/svg+xml,\"+encodeURIComponent(s);c.height=t.height||150,c.width=t.width||300,f.onload=function(){var r;switch(\"svg\"!==l&&h.drawImage(f,0,0),l){case\"jpeg\":r=c.toDataURL(\"image/jpeg\");break;case\"png\":r=c.toDataURL(\"image/png\");break;case\"webp\":r=c.toDataURL(\"image/webp\");break;case\"svg\":r=d;break;default:if(a(new Error(\"Image format is not jpeg, png or svg\")),!t.promise)return e.emit(\"error\",\"Image format is not jpeg, png or svg\")}n(r),t.promise||e.emit(\"success\",r)},f.onerror=function(r){if(a(r),!t.promise)return e.emit(\"error\",r)},f.src=d});return t.promise?r:e}var i=t(\"../lib\"),a=t(\"events\").EventEmitter;e.exports=n},{\"../lib\":633,events:102}],746:[function(t,e,r){\"use strict\";function n(t,e){function r(){var t=s.getDelay(f._fullLayout);setTimeout(function(){var t=u(f),r=document.createElement(\"canvas\");r.id=o.randstr(),n=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:r,emitter:n,svg:t}),n.clean=function(){f&&document.body.removeChild(f)}},t)}var n=new i,h=l(t,{format:\"png\"}),f=h.gd;f.style.position=\"absolute\",f.style.left=\"-5000px\",document.body.appendChild(f);var d=s.getRedrawFunc(f);return a.plot(f,h.data,h.layout,h.config).then(d).then(r).catch(function(t){n.emit(\"error\",t)}),n}var i=t(\"events\").EventEmitter,a=t(\"../plotly\"),o=t(\"../lib\"),s=t(\"./helpers\"),l=t(\"./cloneplot\"),u=t(\"./tosvg\"),c=t(\"./svgtoimg\");e.exports=n},{\"../lib\":633,\"../plotly\":659,\"./cloneplot\":740,\"./helpers\":743,\"./svgtoimg\":745,\"./tosvg\":747,events:102}],747:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../lib/svg_text_utils\"),a=t(\"../components/drawing\"),o=t(\"../components/color\"),s=t(\"../constants/xmlns_namespaces\");e.exports=function(t,e){var r,l=t._fullLayout,u=l._paper,c=l._toppaper;u.insert(\"rect\",\":first-child\").call(a.setRect,0,0,l.width,l.height).call(o.fill,l.paper_bgcolor);var h=l._basePlotModules||[];for(r=0;r<h.length;r++){var f=h[r];f.toSVG&&f.toSVG(t)}if(c){var d=c.node().childNodes,p=Array.prototype.slice.call(d);for(r=0;r<p.length;r++){var g=p[r];g.childNodes.length&&u.node().appendChild(g)}}l._draggers&&l._draggers.remove(),u.node().style.background=\"\",u.selectAll(\"text\").attr(\"data-unformatted\",null).each(function(){var t=n.select(this);if(\"hidden\"===t.style(\"visibility\"))return void t.remove();t.style(\"visibility\",\"visible\");var e=t.style(\"font-family\");e&&e.indexOf('\"')!==-1&&t.style(\"font-family\",e.replace(/\"/g,\"TOBESTRIPPED\"))}),\"pdf\"!==e&&\"eps\"!==e||u.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),u.node().setAttributeNS(s.xmlns,\"xmlns\",s.svg),u.node().setAttributeNS(s.xmlns,\"xmlns:xlink\",s.xlink);var m=(new window.XMLSerializer).serializeToString(u.node());return m=i.html_entity_decode(m),m=i.xml_entity_encode(m),m=m.replace(/(\"TOBESTRIPPED)|(TOBESTRIPPED\")/g,\"'\")}},{\"../components/color\":533,\"../components/drawing\":556,\"../constants/xmlns_namespaces\":618,\"../lib/svg_text_utils\":647,d3:95}],748:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").mergeArray;e.exports=function(t){var e=t[0].trace,r=e.marker;if(n(e.text,t,\"tx\"),r&&r.line){var i=r.line;n(r.opacity,t,\"mo\"),n(r.color,t,\"mc\"),n(i.color,t,\"mlc\"),n(i.width,t,\"mlw\")}}},{\"../../lib\":633}],749:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/color_attributes\"),a=t(\"../../components/errorbars/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker,u=l.line,c=s({},u.width,{dflt:0}),h=s({},{width:c},i(\"marker.line\")),f=s({},{line:h},i(\"marker\"),{showscale:l.showscale,colorbar:o});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,orientation:{valType:\"enumerated\",values:[\"v\",\"h\"]},base:{valType:\"any\",dflt:null,arrayOk:!0},offset:{valType:\"number\",dflt:null,arrayOk:!0},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0},marker:f,r:n.r,t:n.t,error_y:a,error_x:a,_deprecated:{bardir:{valType:\"enumerated\",values:[\"v\",\"h\"]}}}},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/color_attributes\":540,\"../../components/errorbars/attributes\":558,\"../../lib/extend\":626,\"../scatter/attributes\":846}],750:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../components/colorscale/has_colorscale\"),o=t(\"../../components/colorscale/calc\");e.exports=function(t,e){var r,s,l,u,c=i.getFromId(t,e.xaxis||\"x\"),h=i.getFromId(t,e.yaxis||\"y\"),f=e.orientation||(e.x&&!e.y?\"h\":\"v\");\"h\"===f?(r=c,l=c.makeCalcdata(e,\"x\"),s=h.makeCalcdata(e,\"y\")):(r=h,l=h.makeCalcdata(e,\"y\"),s=c.makeCalcdata(e,\"x\"));var d=Math.min(s.length,l.length),p=[];for(u=0;u<d;u++)n(s[u])&&p.push({p:s[u]});var g,m=e.base;if(Array.isArray(m)){for(u=0;u<Math.min(m.length,p.length);u++)g=r.d2c(m[u]),p[u].b=n(g)?g:0;for(;u<p.length;u++)p[u].b=0}else for(g=r.d2c(m),g=n(g)?g:0,u=0;u<p.length;u++)p[u].b=g;for(u=0;u<p.length;u++)n(l[u])&&(p[u].s=l[u]);return a(e,\"marker\")&&o(e,e.marker.color,\"marker\",\"c\"),a(e,\"marker.line\")&&o(e,e.marker.line.color,\"marker.line\",\"c\"),p}},{\"../../components/colorscale/calc\":539,\"../../components/colorscale/has_colorscale\":546,\"../../plots/cartesian/axes\":664,\"fast-isnumeric\":104}],751:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../scatter/xy_defaults\"),o=t(\"../bar/style_defaults\"),s=t(\"../../components/errorbars/defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}var h=a(t,e,c);return h?(c(\"orientation\",e.x&&!e.y?\"h\":\"v\"),c(\"base\"),c(\"offset\"),c(\"width\"),c(\"text\"),o(t,e,c,r,u),s(t,e,i.defaultLine,{axis:\"y\"}),void s(t,e,i.defaultLine,{axis:\"x\",inherit:\"y\"})):void(e.visible=!1)}},{\"../../components/color\":533,\"../../components/errorbars/defaults\":561,\"../../lib\":633,\"../bar/style_defaults\":760,\"../scatter/xy_defaults\":868,\"./attributes\":749}],752:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/graph_interact\"),i=t(\"../../components/errorbars\"),a=t(\"../../components/color\");e.exports=function(t,e,r,o){var s,l=t.cd,u=l[0].trace,c=l[0].t,h=t.xa,f=t.ya,d=\"closest\"===o?c.barwidth/2:c.bargroupwidth/2;s=\"closest\"!==o?function(t){\nreturn t.p}:\"h\"===u.orientation?function(t){return t.y}:function(t){return t.x};var p,g;\"h\"===u.orientation?(p=function(t){return n.inbox(t.b-e,t.x-e)+(t.x-e)/(t.x-t.b)},g=function(t){var e=s(t)-r;return n.inbox(e-d,e+d)}):(g=function(t){return n.inbox(t.b-r,t.y-r)+(t.y-r)/(t.y-t.b)},p=function(t){var r=s(t)-e;return n.inbox(r-d,r+d)});var m=n.getDistanceFunction(o,p,g);if(n.getClosest(l,m,t),t.index!==!1){var v=l[t.index],y=v.mcc||u.marker.color,x=v.mlcc||u.marker.line.color,b=v.mlw||u.marker.line.width;a.opacity(y)?t.color=y:a.opacity(x)&&b&&(t.color=x);var _=u.base?v.b+v.s:v.s;return\"h\"===u.orientation?(t.x0=t.x1=h.c2p(v.x,!0),t.xLabelVal=_,t.y0=f.c2p(s(v)-d,!0),t.y1=f.c2p(s(v)+d,!0),t.yLabelVal=v.p):(t.y0=t.y1=f.c2p(v.y,!0),t.yLabelVal=_,t.x0=h.c2p(s(v)-d,!0),t.x1=h.c2p(s(v)+d,!0),t.xLabelVal=v.p),v.tx&&(t.text=v.tx),i.hoverInfo(v,u,t),[t]}}},{\"../../components/color\":533,\"../../components/errorbars\":562,\"../../plots/cartesian/graph_interact\":671}],753:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"./layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.calc=t(\"./calc\"),n.setPositions=t(\"./set_positions\"),n.colorbar=t(\"../scatter/colorbar\"),n.arraysToCalcdata=t(\"./arrays_to_calcdata\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"bar\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"bar\",\"oriented\",\"markerColorscale\",\"errorBarsOK\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":672,\"../scatter/colorbar\":849,\"./arrays_to_calcdata\":748,\"./attributes\":749,\"./calc\":750,\"./defaults\":751,\"./hover\":752,\"./layout_attributes\":754,\"./layout_defaults\":755,\"./plot\":756,\"./set_positions\":757,\"./style\":759}],754:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\"},bargap:{valType:\"number\",min:0,max:1},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0}}},{}],755:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"./layout_attributes\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,u=!1,c=!1,h={},f=0;f<r.length;f++){var d=r[f];if(n.traceIs(d,\"bar\")){if(l=!0,\"overlay\"!==t.barmode&&\"stack\"!==t.barmode){var p=d.xaxis+d.yaxis;h[p]&&(c=!0),h[p]=!0}if(d.visible&&\"histogram\"===d.type){var g=i.getFromId({_fullLayout:e},d[\"v\"===d.orientation?\"xaxis\":\"yaxis\"]);\"category\"!==g.type&&(u=!0)}}}if(l){var m=s(\"barmode\");\"overlay\"!==m&&s(\"barnorm\"),s(\"bargap\",u&&!c?0:.2),s(\"bargroupgap\")}}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"../../registry\":739,\"./layout_attributes\":754}],756:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../components/color\"),s=t(\"../../components/errorbars\"),l=t(\"./arrays_to_calcdata\");e.exports=function(t,e,r){var u=e.xaxis,c=e.yaxis,h=t._fullLayout,f=e.plot.select(\".barlayer\").selectAll(\"g.trace.bars\").data(r).enter().append(\"g\").attr(\"class\",\"trace bars\");f.append(\"g\").attr(\"class\",\"points\").each(function(e){var r=e[0].t,s=e[0].trace,f=r.poffset,d=Array.isArray(f),p=r.barwidth,g=Array.isArray(p);l(e),n.select(this).selectAll(\"path\").data(a.identity).enter().append(\"path\").each(function(e,r){function a(t){return 0===h.bargap&&0===h.bargroupgap?n.round(Math.round(t)-k,2):t}function l(t,e){return Math.abs(t-e)>=2?a(t):t>e?Math.ceil(t):Math.floor(t)}var m,v,y,x,b=e.p+(d?f[r]:f),_=b+(g?p[r]:p),w=e.b,M=w+e.s;if(\"h\"===s.orientation?(y=c.c2p(b,!0),x=c.c2p(_,!0),m=u.c2p(w,!0),v=u.c2p(M,!0)):(m=u.c2p(b,!0),v=u.c2p(_,!0),y=c.c2p(w,!0),x=c.c2p(M,!0)),!(i(m)&&i(v)&&i(y)&&i(x)&&m!==v&&y!==x))return void n.select(this).remove();var A=(e.mlw+1||s.marker.line.width+1||(e.trace?e.trace.marker.line.width:0)+1)-1,k=n.round(A/2%1,2);if(!t._context.staticPlot){var T=o.opacity(e.mc||s.marker.color),E=T<1||A>.01?a:l;m=E(m,v),v=E(v,m),y=E(y,x),x=E(x,y)}n.select(this).attr(\"d\",\"M\"+m+\",\"+y+\"V\"+x+\"H\"+v+\"V\"+y+\"Z\")})}),f.call(s.plot,e)}},{\"../../components/color\":533,\"../../components/errorbars\":562,\"../../lib\":633,\"./arrays_to_calcdata\":748,d3:95,\"fast-isnumeric\":104}],757:[function(t,e,r){\"use strict\";function n(t,e,r,n){if(n.length){var s,l,u,c,h,f=t._fullLayout.barmode,d=\"overlay\"===f,p=\"group\"===f;if(d)i(t,e,r,n);else if(p){for(s=[],l=[],u=0;u<n.length;u++)c=n[u],h=c[0].trace,void 0===h.offset?l.push(c):s.push(c);l.length&&a(t,e,r,l),s.length&&i(t,e,r,s)}else{for(s=[],l=[],u=0;u<n.length;u++)c=n[u],h=c[0].trace,void 0===h.base?l.push(c):s.push(c);l.length&&o(t,e,r,l),s.length&&i(t,e,r,s)}}}function i(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!1,o=!i,l=0;l<n.length;l++){var u=n[l],c=new b([u],a,o);s(t,e,c),i?(p(t,r,c),g(t,r,c)):f(t,r,c)}}function a(t,e,r,n){var i=t._fullLayout,a=i.barnorm,o=!1,s=!a,u=new b(n,o,s);l(t,e,u),a?(p(t,r,u),g(t,r,u)):f(t,r,u)}function o(t,e,r,n){var i=t._fullLayout,a=i.barmode,o=\"stack\"===a,l=\"relative\"===a,u=t._fullLayout.barnorm,c=l,h=!(u||o||l),f=new b(n,c,h);s(t,e,f),d(t,r,f)}function s(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,f=s.bargroupgap,d=r.minDiff,p=r.traces,g=d*(1-l),m=g,v=m*(1-f),y=-v/2;for(n=0;n<p.length;n++)i=p[n],a=i[0],o=a.t,o.barwidth=v,o.poffset=y,o.bargroupwidth=g;r.binWidth=p[0][0].t.barwidth/100,u(r),c(t,e,r),h(t,e,r)}function l(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,f=s.bargroupgap,d=r.positions,p=r.distinctPositions,g=r.minDiff,m=r.traces,v=d.length!==p.length,y=m.length,x=g*(1-l),b=v?x/y:x,_=b*(1-f);for(n=0;n<y;n++){i=m[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;o=a.t,o.barwidth=_,o.poffset=w,o.bargroupwidth=x}r.binWidth=m[0][0].t.barwidth/100,u(r),c(t,e,r),h(t,e,r,v)}function u(t){var e,r,n,i,a,o,s=t.traces;for(e=0;e<s.length;e++){r=s[e],n=r[0],i=n.trace,o=n.t;var l,u=i.offset,c=o.poffset;if(Array.isArray(u)){for(l=u.slice(0,r.length),a=0;a<l.length;a++)v(l[a])||(l[a]=c);for(a=l.length;a<r.length;a++)l.push(c);o.poffset=l}else void 0!==u&&(o.poffset=u);var h=i.width,f=o.barwidth;if(Array.isArray(h)){var d=h.slice(0,r.length);for(a=0;a<d.length;a++)v(d[a])||(d[a]=f);for(a=d.length;a<r.length;a++)d.push(f);if(o.barwidth=d,void 0===u){for(l=[],a=0;a<r.length;a++)l.push(c+(f-d[a])/2);o.poffset=l}}else void 0!==h&&(o.barwidth=h,void 0===u&&(o.poffset=c+(f-h)/2))}}function c(t,e,r){for(var n=r.traces,i=m(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,u=Array.isArray(l),c=s.barwidth,h=Array.isArray(c),f=0;f<o.length;f++){var d=o[f];d[i]=d.p+(u?l[f]:l)+(h?c[f]:c)/2}}function h(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;x.minDtick(e,s,o,n);for(var u=Math.min.apply(Math,a)-l,c=Math.max.apply(Math,a)+l,h=0;h<i.length;h++){var f=i[h],d=f[0],p=d.trace;if(void 0!==p.width||void 0!==p.offset)for(var g=d.t,m=g.poffset,v=g.barwidth,y=Array.isArray(m),b=Array.isArray(v),_=0;_<f.length;_++){var w=f[_],M=y?m[_]:m,A=b?v[_]:v,k=w.p,T=k+M,E=T+A;u=Math.min(u,T),c=Math.max(c,E)}}x.expand(e,[u,c],{padded:!1})}function f(t,e,r){for(var n=r.traces,i=m(e),a=e.l2c(e.c2l(0)),o=a,s=0;s<n.length;s++)for(var l=n[s],u=0;u<l.length;u++){var c=l[u],h=c.b,f=h+c.s;c[i]=f,v(e.c2l(f))&&(a=Math.max(a,f),o=Math.min(o,f)),v(e.c2l(h))&&(a=Math.max(a,h),o=Math.min(o,h))}x.expand(e,[o,a],{tozero:!0,padded:!0})}function d(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.barnorm,u=m(e),c=r.traces,h=e.l2c(e.c2l(0)),f=h;for(n=0;n<c.length;n++)for(i=c[n],a=0;a<i.length;a++)if(o=i[a],v(o.s)){var d=r.put(o.p,o.b+o.s),p=d+o.b+o.s;o.b=d,o[u]=p,l||(v(e.c2l(p))&&(h=Math.max(h,p),f=Math.min(f,p)),v(e.c2l(d))&&(h=Math.max(h,d),f=Math.min(f,d)))}l?g(t,e,r):x.expand(e,[f,h],{tozero:!0,padded:!0})}function p(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var a=n[i],o=0;o<a.length;o++){var s=a[o];v(s.s)&&r.put(s.p,s.b+s.s)}}function g(t,e,r){for(var n=r.traces,i=m(e),a=\"fraction\"===t._fullLayout.barnorm?1:100,o=a/1e9,s=0,l=\"stack\"===t._fullLayout.barmode?a:0,u=!1,c=0;c<n.length;c++)for(var h=n[c],f=0;f<h.length;f++){var d=h[f];if(v(d.s)){var p=Math.abs(a/r.get(d.p,d.s));d.b*=p,d.s*=p;var g=d.b,y=g+d.s;d[i]=y,v(e.c2l(y))&&(y<s-o&&(u=!0,s=y),y>l+o&&(u=!0,l=y)),v(e.c2l(g))&&(g<s-o&&(u=!0,s=g),g>l+o&&(u=!0,l=g))}}x.expand(e,[s,l],{tozero:!0,padded:u})}function m(t){return t._id.charAt(0)}var v=t(\"fast-isnumeric\"),y=t(\"../../registry\"),x=t(\"../../plots/cartesian/axes\"),b=t(\"./sieve.js\");e.exports=function(t,e){var r,i=e.xaxis,a=e.yaxis,o=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<o.length;r++){var c=o[r];c.visible===!0&&y.traceIs(c,\"bar\")&&c.xaxis===i._id&&c.yaxis===a._id&&(\"h\"===c.orientation?l.push(s[r]):u.push(s[r]))}n(t,i,a,u),n(t,a,i,l)}},{\"../../plots/cartesian/axes\":664,\"../../registry\":739,\"./sieve.js\":758,\"fast-isnumeric\":104}],758:[function(t,e,r){\"use strict\";function n(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=[],a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];n.push(l.p)}this.positions=n;var u=i.distinctVals(this.positions);this.distinctPositions=u.vals,this.minDiff=u.minDiff,this.binWidth=this.minDiff,this.bins={}}e.exports=n;var i=t(\"../../lib\");n.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},n.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},n.prototype.getLabel=function(t,e){var r=e<0&&this.separateNegativeValues?\"v\":\"^\",n=this.dontMergeOverlappingData?t:Math.round(t/this.binWidth);return r+n}},{\"../../lib\":633}],759:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\"),o=t(\"../../components/errorbars\");e.exports=function(t){var e=n.select(t).selectAll(\"g.trace.bars\"),r=e.size(),s=t._fullLayout;e.style(\"opacity\",function(t){return t[0].trace.opacity}).each(function(t){(\"stack\"===s.barmode&&r>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")}),e.selectAll(\"g.points\").each(function(t){var e=t[0].trace,r=e.marker,o=r.line,s=a.tryColorscale(r,\"\"),l=a.tryColorscale(r,\"line\");n.select(this).selectAll(\"path\").each(function(t){var e,a,u=(t.mlw+1||o.width+1)-1,c=n.select(this);e=\"mc\"in t?t.mcc=s(t.mc):Array.isArray(r.color)?i.defaultLine:r.color,c.style(\"stroke-width\",u+\"px\").call(i.fill,e),u&&(a=\"mlc\"in t?t.mlcc=l(t.mlc):Array.isArray(o.color)?i.defaultLine:o.color,c.call(i.stroke,a))})}),e.call(o.style)}},{\"../../components/color\":533,\"../../components/drawing\":556,\"../../components/errorbars\":562,d3:95}],760:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s){r(\"marker.color\",o),i(t,\"marker\")&&a(t,e,s,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\")}},{\"../../components/color\":533,\"../../components/colorscale/defaults\":542,\"../../components/colorscale/has_colorscale\":546}],761:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:\"data_array\"},x:{valType:\"data_array\"},x0:{valType:\"any\"},y0:{valType:\"any\"},whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],dflt:\"outliers\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],dflt:!1},jitter:{valType:\"number\",min:0,max:1},pointpos:{valType:\"number\",min:-2,max:2},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"]},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\"},symbol:a({},o.symbol,{arrayOk:!1}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1}),size:a({},o.size,{arrayOk:!1}),color:a({},o.color,{arrayOk:!1}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine}),width:a({},s.width,{arrayOk:!1,dflt:0}),outliercolor:{valType:\"color\"},outlierwidth:{valType:\"number\",min:0,dflt:1}}},line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:2}},fillcolor:n.fillcolor}},{\"../../components/color/attributes\":532,\"../../lib/extend\":626,\"../scatter/attributes\":846}],762:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\");e.exports=function(t,e){function r(t,e,r,a,o){var s;return r in e?p=a.makeCalcdata(e,r):(s=r+\"0\"in e?e[r+\"0\"]:\"name\"in e&&(\"category\"===a.type||n(e.name)&&[\"linear\",\"log\"].indexOf(a.type)!==-1||i.isDateTime(e.name)&&\"date\"===a.type)?e.name:t.numboxes,s=a.d2c(s),p=o.map(function(){return s})),p}function o(t,e,r,a,o){var s,l,u,c,h=a.length,f=e.length,d=[],p=[];for(s=0;s<h;++s)l=a[s],t[s]={pos:l},p[s]=l-o,d[s]=[];for(p.push(a[h-1]+o),s=0;s<f;++s)c=e[s],n(c)&&(u=i.findBin(r[s],p),u>=0&&u<f&&d[u].push(c));return d}function s(t,e){var r,n,a,o;for(o=0;o<e.length;++o)r=e[o].sort(i.sorterAsc),n=r.length,a=t[o],a.val=r,a.min=r[0],a.max=r[n-1],a.mean=i.mean(r,n),a.sd=i.stdev(r,n,a.mean),a.q1=i.interp(r,.25),a.med=i.interp(r,.5),a.q3=i.interp(r,.75),a.lf=Math.min(a.q1,r[Math.min(i.findBin(2.5*a.q1-1.5*a.q3,r,!0)+1,n-1)]),a.uf=Math.max(a.q3,r[Math.max(i.findBin(2.5*a.q3-1.5*a.q1,r),0)]),a.lo=4*a.q1-3*a.q3,a.uo=4*a.q3-3*a.q1}var l,u,c,h,f,d,p,g,m,v=a.getFromId(t,e.xaxis||\"x\"),y=a.getFromId(t,e.yaxis||\"y\"),x=e.orientation,b=[];\"h\"===x?(l=v,u=\"x\",f=y,d=\"y\"):(l=y,u=\"y\",f=v,d=\"x\"),c=l.makeCalcdata(e,u),a.expand(l,c,{padded:!0}),p=r(t,e,d,f,c);var _=i.distinctVals(p);return g=_.vals,m=_.minDiff/2,h=o(b,c,p,g,m),s(b,h),b=b.filter(function(t){return t.val&&t.val.length}),b.length?(b[0].t={boxnum:t.numboxes,dPos:m},t.numboxes++,b):[{t:{emptybox:!0}}]}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"fast-isnumeric\":104}],763:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"./attributes\");e.exports=function(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}var s,l=o(\"y\"),u=o(\"x\");if(l&&l.length)s=\"v\",u||o(\"x0\");else{if(!u||!u.length)return void(e.visible=!1);s=\"h\",o(\"y0\")}o(\"orientation\",s),o(\"line.color\",(t.marker||{}).color||r),o(\"line.width\",2),o(\"fillcolor\",i.addOpacity(e.line.color,.5)),o(\"whiskerwidth\"),o(\"boxmean\");var c=n.coerce2(t,e,a,\"marker.outliercolor\"),h=o(\"marker.line.outliercolor\"),f=c||h?o(\"boxpoints\",\"suspectedoutliers\"):o(\"boxpoints\");f&&(o(\"jitter\",\"all\"===f?.3:0),o(\"pointpos\",\"all\"===f?-1.5:0),o(\"marker.symbol\"),o(\"marker.opacity\"),o(\"marker.size\"),o(\"marker.color\",e.line.color),o(\"marker.line.color\"),o(\"marker.line.width\"),\"suspectedoutliers\"===f&&(o(\"marker.line.outliercolor\",e.marker.color),o(\"marker.line.outlierwidth\")))}},{\"../../components/color\":533,\"../../lib\":633,\"./attributes\":761}],764:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/cartesian/graph_interact\"),a=t(\"../../lib\"),o=t(\"../../components/color\");e.exports=function(t,e,r,s){var l,u,c,h,f,d,p,g,m,v=t.cd,y=v[0].trace,x=v[0].t,b=t.xa,_=t.ya,w=[];if(h=\"closest\"===s?2.5*x.bdPos:x.bdPos,\"h\"===y.orientation?(l=function(t){return i.inbox(t.min-e,t.max-e)},u=function(t){var e=t.pos+x.bPos-r;return i.inbox(e-h,e+h)},f=\"y\",d=_,g=\"x\",m=b):(l=function(t){var r=t.pos+x.bPos-e;return i.inbox(r-h,r+h)},u=function(t){return i.inbox(t.min-r,t.max-r)},f=\"x\",d=b,g=\"y\",m=_),c=i.getDistanceFunction(s,l,u),i.getClosest(v,c,t),t.index!==!1){var M=v[t.index],A=y.line.color,k=(y.marker||{}).color;o.opacity(A)&&y.line.width?t.color=A:o.opacity(k)&&y.boxpoints?t.color=k:t.color=y.fillcolor,t[f+\"0\"]=d.c2p(M.pos+x.bPos-x.bdPos,!0),t[f+\"1\"]=d.c2p(M.pos+x.bPos+x.bdPos,!0),n.tickText(d,d.c2l(M.pos),\"hover\").text,t[f+\"LabelVal\"]=M.pos;var T,E,S={},L=[\"med\",\"min\",\"q1\",\"q3\",\"max\"];y.boxmean&&L.push(\"mean\"),y.boxpoints&&[].push.apply(L,[\"lf\",\"uf\"]);for(var z=0;z<L.length;z++)T=L[z],T in M&&!(M[T]in S)&&(S[M[T]]=!0,p=m.c2p(M[T],!0),E=a.extendFlat({},t),E[g+\"0\"]=E[g+\"1\"]=p,E[g+\"LabelVal\"]=M[T],E.attr=T,\"mean\"===T&&\"sd\"in M&&\"sd\"===y.boxmean&&(E[g+\"err\"]=M.sd),t.name=\"\",w.push(E));return w}}},{\"../../components/color\":533,\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/graph_interact\":671}],765:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"./layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.calc=t(\"./calc\"),n.setPositions=t(\"./set_positions\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"box\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"symbols\",\"oriented\",\"box\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":672,\"./attributes\":761,\"./calc\":762,\"./defaults\":763,\"./hover\":764,\"./layout_attributes\":766,\"./layout_defaults\":767,\"./plot\":768,\"./set_positions\":769,\"./style\":770}],766:[function(t,e,r){\"use strict\";e.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3}}},{}],767:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e,r){function o(r,n){return i.coerce(t,e,a,r,n)}for(var s,l=0;l<r.length;l++)if(n.traceIs(r[l],\"box\")){s=!0;break}s&&(o(\"boxmode\"),o(\"boxgap\"),o(\"boxgroupgap\"))}},{\"../../lib\":633,\"../../registry\":739,\"./layout_attributes\":766}],768:[function(t,e,r){\"use strict\";function n(){l=2e9}function i(){var t=l;return l=(69069*l+1)%4294967296,Math.abs(l-t)<429496729?i():l/4294967296}var a=t(\"d3\"),o=t(\"../../lib\"),s=t(\"../../components/drawing\"),l=2e9,u=5,c=.01;e.exports=function(t,e,r){var l,h,f=t._fullLayout,d=e.xaxis,p=e.yaxis,g=e.plot.select(\".boxlayer\").selectAll(\"g.trace.boxes\").data(r).enter().append(\"g\").attr(\"class\",\"trace boxes\");g.each(function(e){var r=e[0].t,g=e[0].trace,m=\"group\"===f.boxmode&&t.numboxes>1,v=r.dPos*(1-f.boxgap)*(1-f.boxgroupgap)/(m?t.numboxes:1),y=m?2*r.dPos*(-.5+(r.boxnum+.5)/t.numboxes)*(1-f.boxgap):0,x=v*g.whiskerwidth;return g.visible!==!0||r.emptybox?void a.select(this).remove():(\"h\"===g.orientation?(l=p,h=d):(l=d,h=p),r.bPos=y,r.bdPos=v,n(),a.select(this).selectAll(\"path.box\").data(o.identity).enter().append(\"path\").attr(\"class\",\"box\").each(function(t){var e=l.c2p(t.pos+y,!0),r=l.c2p(t.pos+y-v,!0),n=l.c2p(t.pos+y+v,!0),i=l.c2p(t.pos+y-x,!0),s=l.c2p(t.pos+y+x,!0),u=h.c2p(t.q1,!0),c=h.c2p(t.q3,!0),f=o.constrain(h.c2p(t.med,!0),Math.min(u,c)+1,Math.max(u,c)-1),d=h.c2p(g.boxpoints===!1?t.min:t.lf,!0),p=h.c2p(g.boxpoints===!1?t.max:t.uf,!0);\"h\"===g.orientation?a.select(this).attr(\"d\",\"M\"+f+\",\"+r+\"V\"+n+\"M\"+u+\",\"+r+\"V\"+n+\"H\"+c+\"V\"+r+\"ZM\"+u+\",\"+e+\"H\"+d+\"M\"+c+\",\"+e+\"H\"+p+(0===g.whiskerwidth?\"\":\"M\"+d+\",\"+i+\"V\"+s+\"M\"+p+\",\"+i+\"V\"+s)):a.select(this).attr(\"d\",\"M\"+r+\",\"+f+\"H\"+n+\"M\"+r+\",\"+u+\"H\"+n+\"V\"+c+\"H\"+r+\"ZM\"+e+\",\"+u+\"V\"+d+\"M\"+e+\",\"+c+\"V\"+p+(0===g.whiskerwidth?\"\":\"M\"+i+\",\"+d+\"H\"+s+\"M\"+i+\",\"+p+\"H\"+s))}),g.boxpoints&&a.select(this).selectAll(\"g.points\").data(function(t){return t.forEach(function(t){t.t=r,t.trace=g}),t}).enter().append(\"g\").attr(\"class\",\"points\").selectAll(\"path\").data(function(t){var e,r,n,a,s,l,h,f=\"all\"===g.boxpoints?t.val:t.val.filter(function(e){return e<t.lf||e>t.uf}),d=Math.max((t.max-t.min)/10,t.q3-t.q1),p=1e-9*d,m=d*c,x=[],b=0;if(g.jitter){if(0===d)for(b=1,x=new Array(f.length),e=0;e<f.length;e++)x[e]=1;else for(e=0;e<f.length;e++)r=Math.max(0,e-u),a=f[r],n=Math.min(f.length-1,e+u),s=f[n],\"all\"!==g.boxpoints&&(f[e]<t.lf?s=Math.min(s,t.lf):a=Math.max(a,t.uf)),l=Math.sqrt(m*(n-r)/(s-a+p))||0,l=o.constrain(Math.abs(l),0,1),x.push(l),b=Math.max(l,b);h=2*g.jitter/b}return f.map(function(e,r){var n,a=g.pointpos;return g.jitter&&(a+=h*x[r]*(i()-.5)),n=\"h\"===g.orientation?{y:t.pos+a*v+y,x:e}:{x:t.pos+a*v+y,y:e},\"suspectedoutliers\"===g.boxpoints&&e<t.uo&&e>t.lo&&(n.so=!0),n})}).enter().append(\"path\").call(s.translatePoints,d,p),void(g.boxmean&&a.select(this).selectAll(\"path.mean\").data(o.identity).enter().append(\"path\").attr(\"class\",\"mean\").style(\"fill\",\"none\").each(function(t){var e=l.c2p(t.pos+y,!0),r=l.c2p(t.pos+y-v,!0),n=l.c2p(t.pos+y+v,!0),i=h.c2p(t.mean,!0),o=h.c2p(t.mean-t.sd,!0),s=h.c2p(t.mean+t.sd,!0);\"h\"===g.orientation?a.select(this).attr(\"d\",\"M\"+i+\",\"+r+\"V\"+n+(\"sd\"!==g.boxmean?\"\":\"m0,0L\"+o+\",\"+e+\"L\"+i+\",\"+r+\"L\"+s+\",\"+e+\"Z\")):a.select(this).attr(\"d\",\"M\"+r+\",\"+i+\"H\"+n+(\"sd\"!==g.boxmean?\"\":\"m0,0L\"+e+\",\"+o+\"L\"+r+\",\"+i+\"L\"+e+\",\"+s+\"Z\"))})))})}},{\"../../components/drawing\":556,\"../../lib\":633,d3:95}],769:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\");e.exports=function(t,e){var r,o,s,l,u=t._fullLayout,c=e.xaxis,h=e.yaxis,f=[\"v\",\"h\"];for(o=0;o<f.length;++o){var d,p,g,m=f[o],v=[],y=[],x=0,b=0;for(r=\"h\"===m?h:c,s=0;s<t.calcdata.length;++s)d=t.calcdata[s],p=d[0].t,g=d[0].trace,g.visible===!0&&n.traceIs(g,\"box\")&&!p.emptybox&&g.orientation===m&&g.xaxis===c._id&&g.yaxis===h._id&&(v.push(s),g.boxpoints!==!1&&(x=Math.max(x,g.jitter-g.pointpos-1),b=Math.max(b,g.jitter+g.pointpos-1)));for(s=0;s<v.length;s++)for(d=t.calcdata[v[s]],l=0;l<d.length;l++)y.push(d[l].pos);if(y.length){var _=a.distinctVals(y),w=_.minDiff/2;for(y.length===_.vals.length&&(t.numboxes=1),i.minDtick(r,_.minDiff,_.vals[0],!0),o=0;o<v.length;o++){var M=v[o];t.calcdata[M][0].t.dPos=w}var A=(1-u.boxgap)*(1-u.boxgroupgap)*w/t.numboxes;i.expand(r,_.vals,{vpadminus:w+x*A,vpadplus:w+b*A})}}}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"../../registry\":739}],770:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\");e.exports=function(t){var e=n.select(t).selectAll(\"g.trace.boxes\");e.style(\"opacity\",function(t){return t[0].trace.opacity}).each(function(t){var e=t[0].trace,r=e.line.width;n.select(this).selectAll(\"path.box\").style(\"stroke-width\",r+\"px\").call(i.stroke,e.line.color).call(i.fill,e.fillcolor),n.select(this).selectAll(\"path.mean\").style({\"stroke-width\":r,\"stroke-dasharray\":2*r+\"px,\"+r+\"px\"}).call(i.stroke,e.line.color),n.select(this).selectAll(\"g.points path\").call(a.pointStyle,e)})}},{\"../../components/color\":533,\"../../components/drawing\":556,d3:95}],771:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../ohlc/attributes\"),a=t(\"../box/attributes\"),o={name:i.increasing.name,showlegend:i.increasing.showlegend,line:{color:n.extendFlat({},a.line.color),width:n.extendFlat({},a.line.width)},fillcolor:n.extendFlat({},a.fillcolor)};e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n.extendFlat({},a.line.width,{})},increasing:n.extendDeep({},o,{line:{color:{dflt:i.increasing.line.color.dflt}}}),decreasing:n.extendDeep({},o,{line:{color:{dflt:i.decreasing.line.color.dflt}}}),text:i.text,whiskerwidth:n.extendFlat({},a.whiskerwidth,{dflt:0})}},{\"../../lib\":633,\"../box/attributes\":761,\"../ohlc/attributes\":823}],772:[function(t,e,r){\"use strict\";function n(t,e,r,n){o(t,e,r,n),r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".fillcolor\")}var i=t(\"../../lib\"),a=t(\"../ohlc/ohlc_defaults\"),o=t(\"../ohlc/direction_defaults\"),s=t(\"../ohlc/helpers\"),l=t(\"./attributes\");e.exports=function(t,e){function r(r,n){return i.coerce(t,e,l,r,n)}s.pushDummyTransformOpts(t,e);var o=a(t,e,r);return 0===o?void(e.visible=!1):(r(\"line.width\"),n(t,e,r,\"increasing\"),n(t,e,r,\"decreasing\"),r(\"text\"),void r(\"whiskerwidth\"))}},{\"../../lib\":633,\"../ohlc/direction_defaults\":825,\"../ohlc/helpers\":826,\"../ohlc/ohlc_defaults\":828,\"./attributes\":771}],773:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/register\");e.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\")},n(t(\"../box\")),n(t(\"./transform\"))},{\"../../plot_api/register\":654,\"../../plots/cartesian\":672,\"../box\":765,\"./attributes\":771,\"./defaults\":772,\"./transform\":774}],774:[function(t,e,r){\"use strict\";function n(t,e,r){var n={type:\"box\",boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:a.makeTransform(t,e,r)},o=t[r];return o&&i.extendFlat(n,{x:t.x||[0],y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:o.name,showlegend:o.showlegend,line:o.line,fillcolor:o.fillcolor}),n}var i=t(\"../../lib\"),a=t(\"../ohlc/helpers\");r.moduleType=\"transform\",r.name=\"candlestick\",r.attributes={},r.supplyDefaults=function(t,e,r,n){return a.clearEphemeralTransformOpts(n),a.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i<t.length;i++){var o=t[i];\"candlestick\"===o.type?r.push(n(o,e,\"increasing\"),n(o,e,\"decreasing\")):r.push(o)}return a.addRangeSlider(e.layout),r},r.calcTransform=function(t,e,r){for(var n=r.direction,i=a.getFilterFn(n),o=e.open,s=e.high,l=e.low,u=e.close,c=o.length,h=[],f=[],d=e._fullInput.x?function(t){var r=e.x[t];h.push(r,r,r,r,r,r)}:function(t){h.push(t,t,t,t,t,t)},p=function(t,e,r,n){f.push(r,t,n,n,n,e)},g=0;g<c;g++)i(o[g],u[g])&&(d(g),p(o[g],s[g],l[g],u[g]));e.x=h,e.y=f}},{\"../../lib\":633,\"../ohlc/helpers\":826}],775:[function(t,e,r){\"use strict\";var n=t(\"../scattergeo/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker.line;e.exports=s({},{locations:{valType:\"data_array\"},locationmode:n.locationmode,z:{valType:\"data_array\"},text:{valType:\"data_array\"},marker:{line:{color:l.color,width:l.width}},hoverinfo:s({},o.hoverinfo,{flags:[\"location\",\"z\",\"text\",\"name\"]})},i,{colorbar:a})},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/attributes\":538,\"../../lib/extend\":626,\"../../plots/attributes\":662,\"../scattergeo/attributes\":875}],776:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){n(e,e.z,\"\",\"z\")}},{\"../../components/colorscale/calc\":539}],777:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l,u=s(\"locations\");if(u&&(l=u.length),!u||!l)return void(e.visible=!1);var c=s(\"z\");return Array.isArray(c)?(c.length>l&&(e.z=c.slice(0,l)),s(\"locationmode\"),s(\"text\"),s(\"marker.line.color\"),s(\"marker.line.width\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"}),void s(\"hoverinfo\",1===o._dataLength?\"location+z+text\":void 0)):void(e.visible=!1)}},{\"../../components/colorscale/defaults\":542,\"../../lib\":633,\"./attributes\":775}],778:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\").plot,n.hoverPoints=function(){},n.moduleType=\"trace\",n.name=\"choropleth\",n.basePlotModule=t(\"../../plots/geo\"),n.categories=[\"geo\",\"noOpacity\"],n.meta={},e.exports=n},{\"../../plots/geo\":688,\"../heatmap/colorbar\":792,\"./attributes\":775,\"./calc\":776,\"./defaults\":777,\"./plot\":779}],779:[function(t,e,r){\"use strict\";function n(t,e){function r(e){var r=t.mockAxis;return o.tickText(r,r.c2l(e),\"hover\").text}var n=e.hoverinfo;if(\"none\"===n||\"skip\"===n)return function(t){delete t.nameLabel,delete t.textLabel};var i=\"all\"===n?g.hoverinfo.flags:n.split(\"+\"),a=i.indexOf(\"name\")!==-1,s=i.indexOf(\"location\")!==-1,l=i.indexOf(\"z\")!==-1,u=i.indexOf(\"text\")!==-1,c=!a&&s;return function(t){var n=[];c?t.nameLabel=t.id:(a&&(t.nameLabel=e.name),s&&n.push(t.id)),l&&n.push(r(t.z)),u&&n.push(t.tx),t.textLabel=n.join(\"<br>\")}}function i(t){return function(e,r){return{points:[{data:t._input,fullData:t,curveNumber:t.index,pointNumber:r,location:e.id,z:e.z}]}}}var a=t(\"d3\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../../plots/cartesian/graph_interact\"),l=t(\"../../components/color\"),u=t(\"../../components/drawing\"),c=t(\"../../components/colorscale\"),h=t(\"../../lib/topojson_utils\").getTopojsonFeatures,f=t(\"../../lib/geo_location_utils\").locationToFeature,d=t(\"../../lib/array_to_calc_item\"),p=t(\"../../plots/geo/constants\"),g=t(\"./attributes\"),m=e.exports={};m.calcGeoJSON=function(t,e){for(var r,n=[],i=t.locations,a=i.length,o=h(t,e),s=(t.marker||{}).line||{},l=0;l<a;l++)r=f(t.locationmode,i[l],o),r&&(r.z=t.z[l],void 0!==t.text&&(r.tx=t.text[l]),d(s.color,r,\"mlc\",l),d(s.width,r,\"mlw\",l),n.push(r));return n.length>0&&(n[0].trace=t),n},m.plot=function(t,e,r){function o(t){return t[0].trace.uid}var l,u=t.framework,c=u.select(\"g.choroplethlayer\"),h=u.select(\"g.baselayer\"),f=u.select(\"g.baselayeroverchoropleth\"),d=p.baseLayersOverChoropleth,g=c.selectAll(\"g.trace.choropleth\").data(e,o);g.enter().append(\"g\").attr(\"class\",\"trace choropleth\"),g.exit().remove(),g.each(function(e){function r(e,r){if(t.showHover){var n=t.projection(e.properties.ct);c(e),s.loneHover({x:n[0],y:n[1],name:e.nameLabel,text:e.textLabel},{container:t.hoverContainer.node()}),f=h(e,r),t.graphDiv.emit(\"plotly_hover\",f)}}function o(e,r){t.graphDiv.emit(\"plotly_click\",h(e,r))}var l=e[0].trace,u=m.calcGeoJSON(l,t.topojson),c=n(t,l),h=i(l),f=null,d=a.select(this).selectAll(\"path.choroplethlocation\").data(u);d.enter().append(\"path\").classed(\"choroplethlocation\",!0).on(\"mouseover\",r).on(\"click\",o).on(\"mouseout\",function(){s.loneUnhover(t.hoverContainer),t.graphDiv.emit(\"plotly_unhover\",f)}).on(\"mousedown\",function(){s.loneUnhover(t.hoverContainer)}).on(\"mouseup\",r),d.exit().remove()}),f.selectAll(\"*\").remove();for(var v=0;v<d.length;v++)l=d[v],h.select(\"g.\"+l).remove(),t.drawTopo(f,l,r),t.styleLayer(f,l,r);m.style(t)},m.style=function(t){t.framework.selectAll(\"g.trace.choropleth\").each(function(t){var e=t[0].trace,r=a.select(this),n=e.marker||{},i=n.line||{},o=c.makeColorScaleFunc(c.extractScale(e.colorscale,e.zmin,e.zmax));r.selectAll(\"path.choroplethlocation\").each(function(t){a.select(this).attr(\"fill\",function(t){return o(t.z)}).call(l.stroke,t.mlc||i.color).call(u.dashLine,\"\",t.mlw||i.width)})})}},{\"../../components/color\":533,\"../../components/colorscale\":547,\"../../components/drawing\":556,\"../../lib/array_to_calc_item\":621,\"../../lib/geo_location_utils\":629,\"../../lib/topojson_utils\":648,\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/graph_interact\":671,\"../../plots/geo/constants\":686,\"./attributes\":775,d3:95}],780:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=i.line;e.exports=s({},{z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,connectgaps:n.connectgaps,autocontour:{valType:\"boolean\",dflt:!0},ncontours:{valType:\"integer\",dflt:0},contours:{start:{valType:\"number\",dflt:null},end:{valType:\"number\",dflt:null},size:{valType:\"number\",dflt:null},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\"},showlines:{valType:\"boolean\",dflt:!0}},line:{color:s({},l.color,{}),width:l.width,dash:l.dash,smoothing:s({},l.smoothing,{})}},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/attributes\":538,\"../../lib/extend\":626,\"../heatmap/attributes\":790,\"../scatter/attributes\":846}],781:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../heatmap/calc\");e.exports=function(t,e){var r=i(t,e),a=e.contours;if(e.autocontour!==!1){var o={type:\"linear\",range:[e.zmin,e.zmax]};n.autoTicks(o,(e.zmax-e.zmin)/(e.ncontours||15)),a.start=n.tickFirst(o),a.size=o.dtick,o.range.reverse(),a.end=n.tickFirst(o),a.start===e.zmin&&(a.start+=a.size),a.end===e.zmax&&(a.end-=a.size),a.end+=a.size/100,e._input.contours=a}return r}},{\"../../plots/cartesian/axes\":664,\"../heatmap/calc\":791}],782:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\"),i=t(\"../../components/colorbar/draw\"),a=t(\"./make_color_map\");e.exports=function(t,e){var r=e[0].trace,o=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+o).remove(),r.showscale===!1)return void n.autoMargin(t,o);var s=i(t,o);\ne[0].t.cb=s;var l=r.contours,u=r.line,c=l.size||1,h=l.coloring,f=a(r,{isColorbar:!0});\"heatmap\"===h&&s.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),s.fillcolor(\"fill\"===h||\"heatmap\"===h?f:\"\").line({color:\"lines\"===h?f:u.color,width:l.showlines!==!1?u.width:0,dash:u.dash}).levels({start:l.start,end:l.end,size:c}).options(r.colorbar)()}},{\"../../components/colorbar/draw\":536,\"../../plots/plots\":724,\"./make_color_map\":786}],783:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/has_columns\"),a=t(\"../heatmap/xyz_defaults\"),o=t(\"../contour/style_defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,s,r,i)}var c=a(t,e,u);if(!c)return void(e.visible=!1);u(\"text\"),u(\"connectgaps\",i(e));var h=n.coerce2(t,e,s,\"contours.start\"),f=n.coerce2(t,e,s,\"contours.end\"),d=u(\"autocontour\",!(h&&f));u(d?\"ncontours\":\"contours.size\"),o(t,e,u,l)}},{\"../../lib\":633,\"../contour/style_defaults\":789,\"../heatmap/has_columns\":795,\"../heatmap/xyz_defaults\":801,\"./attributes\":780}],784:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/hover\");e.exports=function(t,e,r,i){return n(t,e,r,i,!0)}},{\"../heatmap/hover\":796}],785:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.colorbar=t(\"./colorbar\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"contour\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"2dMap\",\"contour\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":672,\"./attributes\":780,\"./calc\":781,\"./colorbar\":782,\"./defaults\":783,\"./hover\":784,\"./plot\":787,\"./style\":788}],786:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/colorscale\");e.exports=function(t){var e,r,a=t.contours,o=a.start,s=a.end,l=a.size||1,u=Math.floor((s+l/10-o)/l)+1,c=\"lines\"===a.coloring?0:1,h=t.colorscale,f=h.length,d=new Array(f),p=new Array(f);if(\"heatmap\"===a.coloring){for(t.zauto&&t.autocontour===!1&&(t.zmin=o-l/2,t.zmax=t.zmin+u*l),r=0;r<f;r++)e=h[r],d[r]=e[0]*(t.zmax-t.zmin)+t.zmin,p[r]=e[1];var g=n.extent([t.zmin,t.zmax,a.start,a.start+l*(u-1)]),m=g[t.zmin<t.zmax?0:1],v=g[t.zmin<t.zmax?1:0];m!==t.zmin&&(d.splice(0,0,m),p.splice(0,0,Range[0])),v!==t.zmax&&(d.push(v),p.push(p[p.length-1]))}else for(r=0;r<f;r++)e=h[r],d[r]=(e[0]*(u+c-1)-c/2)*l+o,p[r]=e[1];return i.makeColorScaleFunc({domain:d,range:p},{noNumericCheck:!0})}},{\"../../components/colorscale\":547,d3:95}],787:[function(t,e,r){\"use strict\";function n(t,e,r){var n=r[0].trace,a=r[0].x,s=r[0].y,u=n.contours,c=n.uid,h=e.xaxis,f=e.yaxis,m=t._fullLayout,x=\"contour\"+c,b=i(u,e,r[0]);if(n.visible!==!0)return m._paper.selectAll(\".\"+x+\",.hm\"+c).remove(),void m._infolayer.selectAll(\".cb\"+c).remove();\"heatmap\"===u.coloring?(n.zauto&&n.autocontour===!1&&(n._input.zmin=n.zmin=u.start-u.size/2,n._input.zmax=n.zmax=n.zmin+b.length*u.size),M(t,e,[r])):m._paper.selectAll(\".hm\"+c).remove(),o(b),l(b);var _=h.c2p(a[0],!0),w=h.c2p(a[a.length-1],!0),A=f.c2p(s[0],!0),k=f.c2p(s[s.length-1],!0),T=[[_,k],[w,k],[w,A],[_,A]],E=d(e,r,x);p(E,T,u),g(E,b,T,u),v(E,b,u),y(E,e,r[0],T)}function i(t,e,r){for(var n=t.size||1,i=[],a=t.start;a<t.end+n/10;a+=n)i.push({level:a,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:r.z,smoothing:r.trace.line.smoothing});return i}function a(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);if(5===r||10===r){var n=(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4;return t>n?5===r?713:1114:5===r?104:208}return 15===r?0:r}function o(t){var e,r,n,i,o,s,l,u,c,h=t[0].z,f=h.length,d=h[0].length,p=2===f||2===d;for(r=0;r<f-1;r++)for(i=[],0===r&&(i=i.concat(A)),r===f-2&&(i=i.concat(k)),e=0;e<d-1;e++)for(n=i.slice(),0===e&&(n=n.concat(T)),e===d-2&&(n=n.concat(E)),o=e+\",\"+r,s=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],c=0;c<t.length;c++)u=t[c],l=a(u.level,s),l&&(u.crossings[o]=l,n.indexOf(l)!==-1&&(u.starts.push([e,r]),p&&n.indexOf(l,n.indexOf(l)+1)!==-1&&u.starts.push([e,r])))}function s(t,e,r){function n(t){return d[t%d.length]}var i,a=e.join(\",\"),o=a,s=t.crossings[o],l=u(s,r,e),d=[f(t,e,[-l[0],-l[1]])],p=l.join(\",\"),g=t.z.length,m=t.z[0].length;for(i=0;i<1e4;i++){if(s>20?(s=L[s][(l[0]||l[1])<0?0:1],t.crossings[o]=z[s]):delete t.crossings[o],l=S[s],!l){_.log(\"Found bad marching index:\",s,e,t.level);break}if(d.push(f(t,e,l)),e[0]+=l[0],e[1]+=l[1],c(d[d.length-1],d[d.length-2])&&d.pop(),o=e.join(\",\"),o===a&&l.join(\",\")===p||r&&(l[0]&&(e[0]<0||e[0]>m-2)||l[1]&&(e[1]<0||e[1]>g-2)))break;s=t.crossings[o]}1e4===i&&_.log(\"Infinite loop in contour?\");var v,y,x,b,w,M,A,k=c(d[0],d[d.length-1]),T=0,E=.2*t.smoothing,C=[],I=0;for(i=1;i<d.length;i++)A=h(d[i],d[i-1]),T+=A,C.push(A);var P=T/C.length*E;for(i=d.length-2;i>=I;i--)if(v=C[i],v<P){for(x=0,y=i-1;y>=I&&v+C[y]<P;y--)v+=C[y];if(k&&i===d.length-2)for(x=0;x<y&&v+C[x]<P;x++)v+=C[x];w=i-y+x+1,M=Math.floor((i+y+x+2)/2),b=k||i!==d.length-2?k||y!==-1?w%2?n(M):[(n(M)[0]+n(M+1)[0])/2,(n(M)[1]+n(M+1)[1])/2]:d[0]:d[d.length-1],d.splice(y+1,i-y+1,b),i=y+1,x&&(I=x),k&&(i===d.length-2?d[x]=d[d.length-1]:0===i&&(d[d.length-1]=d[0]))}if(d.splice(0,I),!(d.length<2))if(k)d.pop(),t.paths.push(d);else{r||_.log(\"Unclosed interior contour?\",t.level,a,d.join(\"L\"));var D=!1;t.edgepaths.forEach(function(e,r){if(!D&&c(e[0],d[d.length-1])){d.pop(),D=!0;var n=!1;t.edgepaths.forEach(function(e,i){!n&&c(e[e.length-1],d[0])&&(n=!0,d.splice(0,1),t.edgepaths.splice(r,1),i===r?t.paths.push(d.concat(e)):t.edgepaths[i]=t.edgepaths[i].concat(d,e))}),n||(t.edgepaths[r]=d.concat(e))}}),t.edgepaths.forEach(function(e,r){!D&&c(e[e.length-1],d[0])&&(d.splice(0,1),t.edgepaths[r]=e.concat(d),D=!0)}),D||t.edgepaths.push(d)}}function l(t){var e,r,n,i,a;for(n=0;n<t.length;n++){for(i=t[n],a=0;a<i.starts.length;a++)r=i.starts[a],s(i,r,\"edge\");for(e=0;Object.keys(i.crossings).length&&e<1e4;)e++,r=Object.keys(i.crossings)[0].split(\",\").map(Number),s(i,r);1e4===e&&_.log(\"Infinite loop in contour?\")}}function u(t,e,r){var n=0,i=0;return t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:A.indexOf(t)!==-1?i=1:T.indexOf(t)!==-1?n=1:k.indexOf(t)!==-1?i=-1:n=-1,[n,i]}function c(t,e){return Math.abs(t[0]-e[0])<.01&&Math.abs(t[1]-e[1])<.01}function h(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}function f(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0)]}var u=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-u)*t.y[i]+u*t.y[i+1],!0)]}function d(t,e,r){var n=t.plot.select(\".maplayer\").selectAll(\"g.contour.\"+r).data(e);return n.enter().append(\"g\").classed(\"contour\",!0).classed(r,!0),n.exit().remove(),n}function p(t,e,r){var n=t.selectAll(\"g.contourbg\").data([0]);n.enter().append(\"g\").classed(\"contourbg\",!0);var i=n.selectAll(\"path\").data(\"fill\"===r.coloring?[0]:[]);i.enter().append(\"path\"),i.exit().remove(),i.attr(\"d\",\"M\"+e.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function g(t,e,r,n){var i=t.selectAll(\"g.contourfill\").data([0]);i.enter().append(\"g\").classed(\"contourfill\",!0);var a=i.selectAll(\"path\").data(\"fill\"===n.coloring?e:[]);a.enter().append(\"path\"),a.exit().remove(),a.each(function(t){var e=m(t,r);e?b.select(this).attr(\"d\",e).style(\"stroke\",\"none\"):b.select(this).remove()})}function m(t,e){function r(t){return Math.abs(t[1]-e[0][1])<.01}function n(t){return Math.abs(t[1]-e[2][1])<.01}function i(t){return Math.abs(t[0]-e[0][0])<.01}function a(t){return Math.abs(t[0]-e[2][0])<.01}for(var o,s,l,u,c,h,f=t.edgepaths.length||t.z[0][0]<t.level?\"\":\"M\"+e.join(\"L\")+\"Z\",d=0,p=t.edgepaths.map(function(t,e){return e}),g=!0;p.length;){for(h=w.smoothopen(t.edgepaths[d],t.smoothing),f+=g?h:h.replace(/^M/,\"L\"),p.splice(p.indexOf(d),1),o=t.edgepaths[d][t.edgepaths[d].length-1],u=-1,l=0;l<4;l++){if(!o){_.log(\"Missing end?\",d,t);break}for(r(o)&&!a(o)?s=e[1]:i(o)?s=e[0]:n(o)?s=e[3]:a(o)&&(s=e[2]),c=0;c<t.edgepaths.length;c++){var m=t.edgepaths[c][0];Math.abs(o[0]-s[0])<.01?Math.abs(o[0]-m[0])<.01&&(m[1]-o[1])*(s[1]-m[1])>=0&&(s=m,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-m[1])<.01&&(m[0]-o[0])*(s[0]-m[0])>=0&&(s=m,u=c):_.log(\"endpt to newendpt is not vert. or horz.\",o,s,m)}if(o=s,u>=0)break;f+=\"L\"+s}if(u===t.edgepaths.length){_.log(\"unclosed perimeter path\");break}d=u,g=p.indexOf(d)===-1,g&&(d=p[0],f+=\"Z\")}for(d=0;d<t.paths.length;d++)f+=w.smoothclosed(t.paths[d],t.smoothing);return f}function v(t,e,r){var n=e[0].smoothing,i=t.selectAll(\"g.contourlevel\").data(r.showlines===!1?[]:e);i.enter().append(\"g\").classed(\"contourlevel\",!0),i.exit().remove();var a=i.selectAll(\"path.openline\").data(function(t){return t.edgepaths});a.enter().append(\"path\").classed(\"openline\",!0),a.exit().remove(),a.attr(\"d\",function(t){return w.smoothopen(t,n)}).style(\"stroke-miterlimit\",1);var o=i.selectAll(\"path.closedline\").data(function(t){return t.paths});o.enter().append(\"path\").classed(\"closedline\",!0),o.exit().remove(),o.attr(\"d\",function(t){return w.smoothclosed(t,n)}).style(\"stroke-miterlimit\",1)}function y(t,e,r,n){var i=\"clip\"+r.trace.uid,a=e.plot.selectAll(\"defs\").data([0]);a.enter().append(\"defs\");var s=a.selectAll(\"#\"+i).data(r.trace.connectgaps?[]:[0]);if(s.enter().append(\"clipPath\").attr(\"id\",i),s.exit().remove(),r.trace.connectgaps===!1){var u={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:x(r),smoothing:0};o([u]),l([u]);var c=m(u,n),h=s.selectAll(\"path\").data([0]);h.enter().append(\"path\"),h.attr(\"d\",c)}else i=null;t.call(w.setClipUrl,i),e.plot.selectAll(\".hm\"+r.trace.uid).call(w.setClipUrl,i)}function x(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}var b=t(\"d3\"),_=t(\"../../lib\"),w=t(\"../../components/drawing\"),M=t(\"../heatmap/plot\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])};var A=[1,9,13,104,713],k=[4,6,7,104,713],T=[8,12,14,208,1114],E=[2,3,11,208,1114],S=[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],L={104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},z={1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11}},{\"../../components/drawing\":556,\"../../lib\":633,\"../heatmap/plot\":799,d3:95}],788:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../heatmap/style\"),o=t(\"./make_color_map\");e.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",function(t){return t.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c=o(r);e.selectAll(\"g.contourlevel\").each(function(t,e){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,\"lines\"===a.coloring?c(u+e*l):s.color,s.dash)}),e.selectAll(\"g.contourbg path\").style(\"fill\",c(u-l/2)),e.selectAll(\"g.contourfill path\").style(\"fill\",function(t,e){return c(u+(e+.5)*l)})}),a(t)}},{\"../../components/drawing\":556,\"../heatmap/style\":800,\"./make_color_map\":786,d3:95}],789:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,i){var a,o=r(\"contours.coloring\");\"fill\"===o&&(a=r(\"contours.showlines\")),a!==!1&&(\"lines\"!==o&&r(\"line.color\",\"#000\"),r(\"line.width\",.5),r(\"line.dash\")),r(\"line.smoothing\"),\"none\"!==(e.contours||{}).coloring&&n(t,e,i,r,{prefix:\"\",cLetter:\"z\"})}},{\"../../components/colorscale/defaults\":542}],790:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports=o({},{z:{valType:\"data_array\"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:{valType:\"data_array\"},transpose:{valType:\"boolean\",dflt:!1},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"]},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"]},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1},connectgaps:{valType:\"boolean\",dflt:!1},xgap:{valType:\"number\",dflt:0,min:0},ygap:{valType:\"number\",dflt:0,min:0}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/attributes\":538,\"../../lib/extend\":626,\"../scatter/attributes\":846}],791:[function(t,e,r){\"use strict\";function n(t){function e(t){if(u(t))return+t}var r,n,i,a,o,s,l=t.z;if(t.transpose){for(r=0,o=0;o<l.length;o++)r=Math.max(r,l[o].length);if(0===r)return!1;i=function(t){return t.length},a=function(t,e,r){return t[r][e]}}else r=l.length,i=function(t,e){return t[e].length},a=function(t,e,r){return t[e][r]};var c=new Array(r);for(o=0;o<r;o++)for(n=i(l,o),c[o]=new Array(n),s=0;s<n;s++)c[o][s]=e(a(l,o,s));return c}function i(t,e,r,n,i,a){var o,s,l,u=[],h=c.traceIs(t,\"contour\"),f=c.traceIs(t,\"histogram\"),d=c.traceIs(t,\"gl2d\"),p=Array.isArray(e)&&e.length>1;if(p&&!f&&\"category\"!==a.type){var g=e.length;if(!(g<=i))return h?e.slice(0,i):e.slice(0,i+1);if(h||d)u=e.slice(0,i);else if(1===i)u=[e[0]-.5,e[0]+.5];else{for(u=[1.5*e[0]-.5*e[1]],l=1;l<g;l++)u.push(.5*(e[l-1]+e[l]));u.push(1.5*e[g-1]-.5*e[g-2])}if(g<i){var m=u[u.length-1],v=m-u[u.length-2];for(l=g;l<i;l++)m+=v,u.push(m)}}else for(s=n||1,o=f||\"category\"===a.type?a.r2c(r)||0:Array.isArray(e)&&1===e.length?e[0]:void 0===r?0:a.d2c(r),l=h||d?0:-.5;l<i;l++)u.push(o+s*l);return u}function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,i,o=1;if(Array.isArray(r))for(n=0;n<e.length;n++)i=e[n],t[i[0]][i[1]]=r[i[0]][i[1]];else l(t,e);for(n=0;n<e.length&&!(e[n][2]<4);n++);for(e=e.slice(n),n=0;n<100&&o>y;n++)o=l(t,e,a(o));return o>y&&h.log(\"interp2d didn't converge quickly\",o),t}function s(t){var e,r,n,i,a,o,s,l,u=[],c={},h=[],f=t[0],d=[],p=[0,0,0],g=v(t);for(r=0;r<t.length;r++)for(e=d,d=f,f=t[r+1]||[],n=0;n<g;n++)void 0===d[n]&&(o=(void 0!==d[n-1]?1:0)+(void 0!==d[n+1]?1:0)+(void 0!==e[n]?1:0)+(void 0!==f[n]?1:0),o?(0===r&&o++,0===n&&o++,r===t.length-1&&o++,n===d.length-1&&o++,o<4&&(c[[r,n]]=[r,n,o]),u.push([r,n,o])):h.push([r,n]));for(;h.length;){for(s={},l=!1,a=h.length-1;a>=0;a--)i=h[a],r=i[0],n=i[1],o=((c[[r-1,n]]||p)[2]+(c[[r+1,n]]||p)[2]+(c[[r,n-1]]||p)[2]+(c[[r,n+1]]||p)[2])/20,o&&(s[i]=[r,n,o],h.splice(a,1),l=!0);if(!l)throw\"findEmpties iterated with no new neighbors\";for(i in s)c[i]=s[i],u.push(s[i])}return u.sort(function(t,e){return e[2]-t[2]})}function l(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,g,m=0;for(o=0;o<e.length;o++){for(n=e[o],i=n[0],a=n[1],d=t[i][a],f=0,h=0,s=0;s<4;s++)l=x[s],u=t[i+l[0]],u&&(c=u[a+l[1]],void 0!==c&&(0===f?p=g=c:(p=Math.min(p,c),g=Math.max(g,c)),h++,f+=c));if(0===h)throw\"iterateInterp2d order is wrong: no defined neighbors\";t[i][a]=f/h,void 0===d?h<4&&(m=1):(t[i][a]=(1+r)*t[i][a]-r*d,g>p&&(m=Math.max(m,Math.abs(t[i][a]-d)/(g-p))))}return m}var u=t(\"fast-isnumeric\"),c=t(\"../../registry\"),h=t(\"../../lib\"),f=t(\"../../plots/cartesian/axes\"),d=t(\"../histogram2d/calc\"),p=t(\"../../components/colorscale/calc\"),g=t(\"./has_columns\"),m=t(\"./convert_column_xyz\"),v=t(\"./max_row_length\");e.exports=function(t,e){function r(t){S=e._input.zsmooth=e.zsmooth=!1,h.notifier(\"cannot fast-zsmooth: \"+t)}var a,l,u,y,x,b,_,w,M=f.getFromId(t,e.xaxis||\"x\"),A=f.getFromId(t,e.yaxis||\"y\"),k=c.traceIs(e,\"contour\"),T=c.traceIs(e,\"histogram\"),E=c.traceIs(e,\"gl2d\"),S=k?\"best\":e.zsmooth;if(M._minDtick=0,A._minDtick=0,T){var L=d(t,e);a=L.x,l=L.x0,u=L.dx,y=L.y,x=L.y0,b=L.dy,_=L.z}else g(e)&&m(e,M,A),a=e.x?M.makeCalcdata(e,\"x\"):[],y=e.y?A.makeCalcdata(e,\"y\"):[],l=e.x0||0,u=e.dx||1,x=e.y0||0,b=e.dy||1,_=n(e),(k||e.connectgaps)&&(e._emptypoints=s(_),e._interpz=o(_,e._emptypoints,e._interpz));if(\"fast\"===S)if(\"log\"===M.type||\"log\"===A.type)r(\"log axis found\");else if(!T){if(a.length){var z=(a[a.length-1]-a[0])/(a.length-1),C=Math.abs(z/100);for(w=0;w<a.length-1;w++)if(Math.abs(a[w+1]-a[w]-z)>C){r(\"x scale is not linear\");break}}if(y.length&&\"fast\"===S){var I=(y[y.length-1]-y[0])/(y.length-1),P=Math.abs(I/100);for(w=0;w<y.length-1;w++)if(Math.abs(y[w+1]-y[w]-I)>P){r(\"y scale is not linear\");break}}}var D=v(_),O=\"scaled\"===e.xtype?\"\":a,R=i(e,O,l,u,D,M),F=\"scaled\"===e.ytype?\"\":y,j=i(e,F,x,b,_.length,A);E||(f.expand(M,R),f.expand(A,j));var N={x:R,y:j,z:_};if(p(e,_,\"\",\"z\"),k&&e.contours&&\"heatmap\"===e.contours.coloring){var B=\"contour\"===e.type?\"heatmap\":\"histogram2d\";N.xfill=i(B,O,l,u,D,M),N.yfill=i(B,F,x,b,_.length,A)}return[N]};var y=.01,x=[[-1,0],[1,0],[0,-1],[0,1]]},{\"../../components/colorscale/calc\":539,\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"../../registry\":739,\"../histogram2d/calc\":812,\"./convert_column_xyz\":793,\"./has_columns\":795,\"./max_row_length\":798,\"fast-isnumeric\":104}],792:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../components/colorscale\"),s=t(\"../../components/colorbar/draw\");e.exports=function(t,e){var r=e[0].trace,l=\"cb\"+r.uid,u=r.zmin,c=r.zmax;if(n(u)||(u=i.aggNums(Math.min,null,r.z)),n(c)||(c=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(\".\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var h=e[0].t.cb=s(t,l),f=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});h.fillcolor(f).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\"../../components/colorbar/draw\":536,\"../../components/colorscale\":547,\"../../lib\":633,\"../../plots/plots\":724,\"fast-isnumeric\":104}],793:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r){var i,a=t.x.slice(),o=t.y.slice(),s=t.z,l=t.text,u=Math.min(a.length,o.length,s.length),c=void 0!==l&&!Array.isArray(l[0]);for(u<a.length&&(a=a.slice(0,u)),u<o.length&&(o=o.slice(0,u)),i=0;i<u;i++)a[i]=e.d2c(a[i]),o[i]=r.d2c(o[i]);var h,f,d,p=n.distinctVals(a),g=p.vals,m=n.distinctVals(o),v=m.vals,y=n.init2dArray(v.length,g.length);for(c&&(d=n.init2dArray(v.length,g.length)),i=0;i<u;i++)h=n.findBin(a[i]+p.minDiff/2,g),f=n.findBin(o[i]+m.minDiff/2,v),y[f][h]=s[i],c&&(d[f][h]=l[i]);t.x=g,t.y=v,t.z=y,c&&(t.text=d)}},{\"../../lib\":633}],794:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./has_columns\"),a=t(\"./xyz_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,s,r,i)}var c=a(t,e,u);if(!c)return void(e.visible=!1);u(\"text\");var h=u(\"zsmooth\");h===!1&&(u(\"xgap\"),u(\"ygap\")),u(\"connectgaps\",i(e)&&e.zsmooth!==!1),o(t,e,l,u,{prefix:\"\",cLetter:\"z\"})}},{\"../../components/colorscale/defaults\":542,\"../../lib\":633,\"./attributes\":790,\"./has_columns\":795,\"./xyz_defaults\":801}],795:[function(t,e,r){\"use strict\";e.exports=function(t){return!Array.isArray(t.z[0])}},{}],796:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/graph_interact\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/constants\").MAXDIST;e.exports=function(t,e,r,o,s){if(!(t.distance<a)){var l,u,c,h,f=t.cd[0],d=f.trace,p=t.xa,g=t.ya,m=f.x,v=f.y,y=f.z,x=f.zmask,b=m,_=v;if(t.index!==!1){try{c=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(c<0||c>=y[0].length||h<0||h>y.length)return}else{if(n.inbox(e-m[0],e-m[m.length-1])>a||n.inbox(r-v[0],r-v[v.length-1])>a)return;if(s){var w;for(b=[2*m[0]-m[1]],w=1;w<m.length;w++)b.push((m[w]+m[w-1])/2);for(b.push([2*m[m.length-1]-m[m.length-2]]),_=[2*v[0]-v[1]],w=1;w<v.length;w++)_.push((v[w]+v[w-1])/2);_.push([2*v[v.length-1]-v[v.length-2]])}c=Math.max(0,Math.min(b.length-2,i.findBin(e,b))),h=Math.max(0,Math.min(_.length-2,i.findBin(r,_)))}var M=p.c2p(m[c]),A=p.c2p(m[c+1]),k=g.c2p(v[h]),T=g.c2p(v[h+1]);s?(A=M,l=m[c],T=k,u=v[h]):(l=(m[c]+m[c+1])/2,u=(v[h]+v[h+1])/2,d.zsmooth&&(M=A=(M+A)/2,k=T=(k+T)/2));var E=y[h][c];x&&!x[h][c]&&(E=void 0);var S;return Array.isArray(d.text)&&Array.isArray(d.text[h])&&(S=d.text[h][c]),[i.extendFlat(t,{index:[h,c],distance:a+10,x0:M,x1:A,y0:k,y1:T,xLabelVal:l,yLabelVal:u,zLabelVal:E,text:S})]}}},{\"../../lib\":633,\"../../plots/cartesian/constants\":669,\"../../plots/cartesian/graph_interact\":671}],797:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./colorbar\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"heatmap\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"2dMap\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":672,\"./attributes\":790,\"./calc\":791,\"./colorbar\":792,\"./defaults\":794,\"./hover\":796,\"./plot\":799,\"./style\":800}],798:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],799:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),u=Math.abs(s-l);return s&&s!==r&&u?{bin0:l,frac:u,bin1:Math.round(l+u/(s-l))}:{bin0:l,bin1:l,frac:0}}function c(t,e,r,n,i,a,o,s,l){var u={x0:e,x1:r,y0:n,y1:i},c=2*t.xgap/3,h=2*t.ygap/3,f=t.xgap/3,d=t.ygap/3;return s===l-1&&(u.y1=i-h),a===o-1&&(u.x0=e+c),0===s&&(u.y0=n+h),0===a&&(u.x1=r-c),a>0&&a<o-1&&(u.x0=e+f,u.x1=r-f),s>0&&s<l-1&&(u.y0=n+d,u.y1=i-d),u}function h(t,e){if(void 0!==t){var r=X(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),it+=e,at+=r[0]*e,ot+=r[1]*e,st+=r[2]*e,r}return[0,0,0,0]}function f(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}function d(t,e,r,n){var i=t[r.bin0];if(void 0===i)return h(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,h(i+r.frac*u+n.frac*(c+r.frac*a))}var p=r[0].trace,g=p.uid,m=e.xaxis,v=e.yaxis,y=t._fullLayout,x=\"hm\"+g;if(y._paper.selectAll(\".contour\"+g).remove(),p.visible!==!0)return y._paper.selectAll(\".\"+x).remove(),void y._infolayer.selectAll(\".cb\"+g).remove();var b,_,w,M,A,k,T=r[0].z,E=r[0].x,S=r[0].y,L=a.traceIs(p,\"contour\"),z=L?\"best\":p.zsmooth,C=T.length,I=u(T),P=!1,D=!1;for(k=0;void 0===b&&k<E.length-1;)b=m.c2p(E[k]),k++;for(k=E.length-1;void 0===_&&k>0;)_=m.c2p(E[k]),k--;for(_<b&&(w=_,_=b,b=w,P=!0),k=0;void 0===M&&k<S.length-1;)M=v.c2p(S[k]),k++;for(k=S.length-1;void 0===A&&k>0;)A=v.c2p(S[k]),k--;if(A<M&&(w=M,M=A,A=w,D=!0),L&&(E=r[0].xfill,S=r[0].yfill),\"fast\"!==z){var O=\"best\"===z?0:.5;b=Math.max(-O*m._length,b),_=Math.min((1+O)*m._length,_),M=Math.max(-O*v._length,M),A=Math.min((1+O)*v._length,A)}var R=Math.round(_-b),F=Math.round(A-M),j=R<=0||F<=0,N=e.plot.select(\".imagelayer\").selectAll(\"g.hm.\"+x).data(j?[]:[0]);if(N.enter().append(\"g\").classed(\"hm\",!0).classed(x,!0),N.exit().remove(),!j){var B,U;\"fast\"===z?(B=I,U=C):(B=R,U=F);var V=document.createElement(\"canvas\");V.width=B,V.height=U;var q,H,G=V.getContext(\"2d\"),X=s.makeColorScaleFunc(s.extractScale(p.colorscale,p.zmin,p.zmax),{noNumericCheck:!0,returnArray:!0});\"fast\"===z?(q=P?function(t){return I-1-t}:o.identity,H=D?function(t){return C-1-t}:o.identity):(q=function(t){return o.constrain(Math.round(m.c2p(E[t])-b),0,R)},H=function(t){return o.constrain(Math.round(v.c2p(S[t])-M),0,F)});var Y,W,Z,Q,K,$,J,tt=H(0),et=[tt,tt],rt=P?0:1,nt=D?0:1,it=0,at=0,ot=0,st=0;if(z){var lt=0,ut=new Uint8Array(R*F*4);if(\"best\"===z){var ct,ht,ft,dt=new Array(E.length),pt=new Array(S.length),gt=new Array(R);for(k=0;k<E.length;k++)dt[k]=Math.round(m.c2p(E[k])-b);for(k=0;k<S.length;k++)pt[k]=Math.round(v.c2p(S[k])-M);for(k=0;k<R;k++)gt[k]=n(k,dt);for(Z=0;Z<F;Z++)for(ct=n(Z,pt),ht=T[ct.bin0],ft=T[ct.bin1],k=0;k<R;k++,lt+=4)J=d(ht,ft,gt[k],ct),f(ut,lt,J)}else for(Z=0;Z<C;Z++)for($=T[Z],et=H(Z),k=0;k<R;k++)J=h($[k],1),lt=4*(et*R+q(k)),f(ut,lt,J);var mt=G.createImageData(R,F);mt.data.set(ut),G.putImageData(mt,0,0)}else for(Z=0;Z<C;Z++)if($=T[Z],et.reverse(),et[nt]=H(Z+1),et[0]!==et[1]&&void 0!==et[0]&&void 0!==et[1])for(Q=q(0),W=[Q,Q],k=0;k<I;k++)W.reverse(),W[rt]=q(k+1),W[0]!==W[1]&&void 0!==W[0]&&void 0!==W[1]&&(K=$[k],J=h(K,(W[1]-W[0])*(et[1]-et[0])),G.fillStyle=\"rgba(\"+J.join(\",\")+\")\",Y=c(p,W[0],W[1],et[0],et[1],k,I,Z,C),G.fillRect(Y.x0,Y.y0,Y.x1-Y.x0,Y.y1-Y.y0));at=Math.round(at/it),ot=Math.round(ot/it),st=Math.round(st/it);var vt=i(\"rgb(\"+at+\",\"+ot+\",\"+st+\")\");t._hmpixcount=(t._hmpixcount||0)+it,t._hmlumcount=(t._hmlumcount||0)+it*vt.getLuminance();var yt=N.selectAll(\"image\").data(r);yt.enter().append(\"svg:image\").attr({xmlns:l.svg,preserveAspectRatio:\"none\"}),yt.attr({height:F,width:R,x:b,y:M,\"xlink:href\":V.toDataURL(\"image/png\")}),yt.exit().remove()}}var i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../components/colorscale\"),l=t(\"../../constants/xmlns_namespaces\"),u=t(\"./max_row_length\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])}},{\"../../components/colorscale\":547,\"../../constants/xmlns_namespaces\":618,\"../../lib\":633,\"../../registry\":739,\"./max_row_length\":798,tinycolor2:489}],800:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t){n.select(t).selectAll(\".hm image\").style(\"opacity\",function(t){return t.trace.opacity})}},{d3:95}],801:[function(t,e,r){\"use strict\";function n(t,e){var r=e(t),n=r?e(t+\"type\",\"array\"):\"scaled\";return\"scaled\"===n&&(e(t+\"0\"),e(\"d\"+t)),r}function i(t){for(var e,r=!0,n=!1,i=!1,o=0;o<t.length;o++){if(e=t[o],!Array.isArray(e)){r=!1;break}e.length>0&&(n=!0);for(var s=0;s<e.length;s++)if(a(e[s])){i=!0;break}}return r&&n&&i}var a=t(\"fast-isnumeric\"),o=t(\"./has_columns\");e.exports=function(t,e,r){var a,s,l=r(\"z\");if(void 0===l||!l.length)return 0;if(o(t)){if(a=r(\"x\"),s=r(\"y\"),!a||!s)return 0}else{if(a=n(\"x\",r),s=n(\"y\",r),!i(l))return 0;r(\"transpose\")}return e.z.length}},{\"./has_columns\":795,\"fast-isnumeric\":104}],802:[function(t,e,r){\"use strict\";function n(t){return{start:{valType:\"any\",dflt:null},end:{valType:\"any\",dflt:null},size:{valType:\"any\",dflt:null}}}var i=t(\"../bar/attributes\");e.exports={x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:i.text,orientation:i.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\"},autobinx:{valType:\"boolean\",dflt:null},nbinsx:{valType:\"integer\",min:0,dflt:0},xbins:n(\"x\"),autobiny:{valType:\"boolean\",dflt:null},nbinsy:{valType:\"integer\",min:0,dflt:0},ybins:n(\"y\"),marker:i.marker,error_y:i.error_y,error_x:i.error_x,_deprecated:{bardir:i._deprecated.bardir}}},{\"../bar/attributes\":749}],803:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],804:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){return r(\"histnorm\"),n.forEach(function(t){r(t+\"bins.start\"),r(t+\"bins.end\"),r(t+\"bins.size\"),r(\"autobin\"+t),r(\"nbins\"+t)}),e}},{}],805:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a)return r[t]=a,a-r[t]}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a)return r[t]=a,a-r[t]}return 0}}},{\"fast-isnumeric\":104}],806:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./bin_functions\"),s=t(\"./norm_functions\"),l=t(\"./average\"),u=t(\"./clean_bins\");e.exports=function(t,e){if(e.visible===!0){var r,c=[],h=[],f=a.getFromId(t,\"h\"===e.orientation?e.yaxis||\"y\":e.xaxis||\"x\"),d=\"h\"===e.orientation?\"y\":\"x\",p={x:\"y\",y:\"x\"}[d];u(e,f,d);var g=f.makeCalcdata(e,d);e[\"autobin\"+d]===!1&&d+\"bins\"in e||(e[d+\"bins\"]=a.autoBin(g,f,e[\"nbins\"+d]),e._input[d+\"bins\"]=e[d+\"bins\"]);var m,v,y,x,b=e[d+\"bins\"],_=\"string\"==typeof b.size,w=_?[]:b,M=[],A=[],k=0,T=e.histnorm,E=e.histfunc,S=T.indexOf(\"density\")!==-1,L=\"max\"===E||\"min\"===E,z=L?null:0,C=o.count,I=s[T],P=!1;for(Array.isArray(e[p])&&\"count\"!==E&&(x=e[p],P=\"avg\"===E,C=o[E]),r=f.r2c(b.start),v=f.r2c(b.end)+(r-a.tickIncrement(r,b.size))/1e6;r<v&&c.length<5e3;)m=a.tickIncrement(r,b.size),c.push((r+m)/2),h.push(z),_&&w.push(r),S&&M.push(1/(m-r)),P&&A.push(0),r=m;_||\"date\"!==f.type||(w={start:f.r2c(w.start),end:f.r2c(w.end),size:w.size});var D=h.length;for(r=0;r<g.length;r++)y=i.findBin(g[r],w),y>=0&&y<D&&(k+=C(y,r,h,x,A));P&&(k=l(h,A)),I&&I(h,k,M);var O=Math.min(c.length,h.length),R=[],F=0,j=O-1;for(r=0;r<O;r++)if(h[r]){F=r;break}for(r=O-1;r>F;r--)if(h[r]){j=r;break}for(r=F;r<=j;r++)n(c[r])&&n(h[r])&&R.push({p:c[r],s:h[r],b:0});return R}}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"./average\":803,\"./bin_functions\":805,\"./clean_bins\":807,\"./norm_functions\":810,\"fast-isnumeric\":104}],807:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").cleanDate,a=t(\"../../constants/numerical\").ONEDAY;e.exports=function(t,e,r){var o=e.type,s=r+\"bins\",l=t[s];l||(l=t[s]={});var u=\"date\"===o?function(t){return t||0===t?i(t):null}:function(t){return n(t)?Number(t):null};l.start=u(l.start),l.end=u(l.end);var c=\"date\"===o?a:1,h=l.size;if(n(h))l.size=h>0?Number(h):c;else if(\"string\"!=typeof h)l.size=c;else{var f=h.charAt(0),d=h.substr(1);d=n(d)?Number(d):0,(d<=0||\"date\"!==o||\"M\"!==f||d!==Math.round(d))&&(l.size=c)}var p=\"autobin\"+r;\"boolean\"!=typeof t[p]&&(t[p]=!((l.start||0===l.start)&&(l.end||0===l.end))),t[p]||delete t[\"nbins\"+r]}},{\"../../constants/numerical\":616,\"../../lib\":633,\"fast-isnumeric\":104}],808:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"./bin_defaults\"),o=t(\"../bar/style_defaults\"),s=t(\"../../components/errorbars/defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}var h=c(\"x\"),f=c(\"y\");c(\"text\");var d=c(\"orientation\",f&&!h?\"h\":\"v\"),p=e[\"v\"===d?\"x\":\"y\"];if(!p||!p.length)return void(e.visible=!1);var g=e[\"h\"===d?\"x\":\"y\"];g&&c(\"histfunc\");var m=\"h\"===d?[\"y\"]:[\"x\"];a(t,e,c,m),o(t,e,c,r,u),s(t,e,i.defaultLine,{axis:\"y\"}),s(t,e,i.defaultLine,{axis:\"x\",inherit:\"y\"})}},{\"../../components/color\":533,\"../../components/errorbars/defaults\":561,\"../../lib\":633,\"../bar/style_defaults\":760,\"./attributes\":802,\"./bin_defaults\":804}],809:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"../bar/layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"../bar/layout_defaults\"),n.calc=t(\"./calc\"),n.setPositions=t(\"../bar/set_positions\"),n.plot=t(\"../bar/plot\"),n.style=t(\"../bar/style\"),n.colorbar=t(\"../scatter/colorbar\"),n.hoverPoints=t(\"../bar/hover\"),n.moduleType=\"trace\",n.name=\"histogram\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":672,\"../bar/hover\":752,\"../bar/layout_attributes\":754,\"../bar/layout_defaults\":755,\"../bar/plot\":756,\"../bar/set_positions\":757,\"../bar/style\":759,\"../scatter/colorbar\":849,\"./attributes\":802,\"./calc\":806,\"./defaults\":808}],810:[function(t,e,r){\"use strict\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\"probability density\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],811:[function(t,e,r){\"use strict\";var n=t(\"../histogram/attributes\"),i=t(\"../heatmap/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({},{x:n.x,y:n.y,z:{valType:\"data_array\"},marker:{color:{valType:\"data_array\"}},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,\nzsmooth:i.zsmooth},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/attributes\":538,\"../../lib/extend\":626,\"../heatmap/attributes\":790,\"../histogram/attributes\":802}],812:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../histogram/bin_functions\"),o=t(\"../histogram/norm_functions\"),s=t(\"../histogram/average\"),l=t(\"../histogram/clean_bins\");e.exports=function(t,e){var r,u,c,h,f,d,p=i.getFromId(t,e.xaxis||\"x\"),g=e.x?p.makeCalcdata(e,\"x\"):[],m=i.getFromId(t,e.yaxis||\"y\"),v=e.y?m.makeCalcdata(e,\"y\"):[];l(e,p,\"x\"),l(e,m,\"y\");var y=Math.min(g.length,v.length);g.length>y&&g.splice(y,g.length-y),v.length>y&&v.splice(y,v.length-y),!e.autobinx&&\"xbins\"in e||(e.xbins=i.autoBin(g,p,e.nbinsx,\"2d\"),\"histogram2dcontour\"===e.type&&(e.xbins.start=p.c2r(i.tickIncrement(p.r2c(e.xbins.start),e.xbins.size,!0)),e.xbins.end=p.c2r(i.tickIncrement(p.r2c(e.xbins.end),e.xbins.size))),e._input.xbins=e.xbins),!e.autobiny&&\"ybins\"in e||(e.ybins=i.autoBin(v,m,e.nbinsy,\"2d\"),\"histogram2dcontour\"===e.type&&(e.ybins.start=m.c2r(i.tickIncrement(m.r2c(e.ybins.start),e.ybins.size,!0)),e.ybins.end=m.c2r(i.tickIncrement(m.r2c(e.ybins.end),e.ybins.size))),e._input.ybins=e.ybins),f=[];var x,b,_=[],w=[],M=\"string\"==typeof e.xbins.size,A=\"string\"==typeof e.ybins.size,k=M?[]:e.xbins,T=A?[]:e.ybins,E=0,S=[],L=e.histnorm,z=e.histfunc,C=L.indexOf(\"density\")!==-1,I=\"max\"===z||\"min\"===z,P=I?null:0,D=a.count,O=o[L],R=!1,F=[],j=[],N=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";N&&\"count\"!==z&&(R=\"avg\"===z,D=a[z]);var B=e.xbins,U=p.r2c(B.start),V=p.r2c(B.end)+(U-i.tickIncrement(U,B.size))/1e6;for(d=U;d<V;d=i.tickIncrement(d,B.size))_.push(P),M&&k.push(d),R&&w.push(0);M&&k.push(d);var q=_.length;r=e.xbins.start;var H=p.r2c(r);for(u=(d-H)/q,r=p.c2r(H+u/2),B=e.ybins,U=m.r2c(B.start),V=m.r2c(B.end)+(U-i.tickIncrement(U,B.size))/1e6,d=U;d<V;d=i.tickIncrement(d,B.size))f.push(_.concat()),A&&T.push(d),R&&S.push(w.concat());A&&T.push(d);var G=f.length;c=e.ybins.start;var X=m.r2c(c);for(h=(d-X)/G,c=m.c2r(X+h/2),C&&(F=_.map(function(t,e){return M?1/(k[e+1]-k[e]):1/u}),j=f.map(function(t,e){return A?1/(T[e+1]-T[e]):1/h})),M||\"date\"!==p.type||(k={start:p.r2c(k.start),end:p.r2c(k.end),size:k.size}),A||\"date\"!==m.type||(T={start:m.r2c(T.start),end:m.r2c(T.end),size:T.size}),d=0;d<y;d++)x=n.findBin(g[d],k),b=n.findBin(v[d],T),x>=0&&x<q&&b>=0&&b<G&&(E+=D(x,d,f[b],N,S[b]));if(R)for(b=0;b<G;b++)E+=s(f[b],S[b]);if(O)for(b=0;b<G;b++)O(f[b],E,F,j[b]);return{x:g,x0:r,dx:u,y:v,y0:c,dy:h,z:f}}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"../histogram/average\":803,\"../histogram/bin_functions\":805,\"../histogram/clean_bins\":807,\"../histogram/norm_functions\":810}],813:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./sample_defaults\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r){function s(r,i){return n.coerce(t,e,o,r,i)}i(t,e,s);var l=s(\"zsmooth\");l===!1&&(s(\"xgap\"),s(\"ygap\")),a(t,e,r,s,{prefix:\"\",cLetter:\"z\"})}},{\"../../components/colorscale/defaults\":542,\"../../lib\":633,\"./attributes\":811,\"./sample_defaults\":815}],814:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../heatmap/calc\"),n.plot=t(\"../heatmap/plot\"),n.colorbar=t(\"../heatmap/colorbar\"),n.style=t(\"../heatmap/style\"),n.hoverPoints=t(\"../heatmap/hover\"),n.moduleType=\"trace\",n.name=\"histogram2d\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"2dMap\",\"histogram\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":672,\"../heatmap/calc\":791,\"../heatmap/colorbar\":792,\"../heatmap/hover\":796,\"../heatmap/plot\":799,\"../heatmap/style\":800,\"./attributes\":811,\"./defaults\":813}],815:[function(t,e,r){\"use strict\";var n=t(\"../histogram/bin_defaults\");e.exports=function(t,e,r){var i=r(\"x\"),a=r(\"y\");if(!(i&&i.length&&a&&a.length))return void(e.visible=!1);var o=r(\"z\")||r(\"marker.color\");o&&r(\"histfunc\");var s=[\"x\",\"y\"];n(t,e,r,s)}},{\"../histogram/bin_defaults\":804}],816:[function(t,e,r){\"use strict\";var n=t(\"../histogram2d/attributes\"),i=t(\"../contour/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({},{x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line},a,{colorbar:o})},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/attributes\":538,\"../../lib/extend\":626,\"../contour/attributes\":780,\"../histogram2d/attributes\":811}],817:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../histogram2d/sample_defaults\"),a=t(\"../contour/style_defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l);var u=n.coerce2(t,e,o,\"contours.start\"),c=n.coerce2(t,e,o,\"contours.end\"),h=l(\"autocontour\",!(u&&c));l(h?\"ncontours\":\"contours.size\"),a(t,e,l,s)}},{\"../../lib\":633,\"../contour/style_defaults\":789,\"../histogram2d/sample_defaults\":815,\"./attributes\":816}],818:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../contour/calc\"),n.plot=t(\"../contour/plot\"),n.style=t(\"../contour/style\"),n.colorbar=t(\"../contour/colorbar\"),n.hoverPoints=t(\"../contour/hover\"),n.moduleType=\"trace\",n.name=\"histogram2dcontour\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"2dMap\",\"contour\",\"histogram\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":672,\"../contour/calc\":781,\"../contour/colorbar\":782,\"../contour/hover\":784,\"../contour/plot\":787,\"../contour/style\":788,\"./attributes\":816,\"./defaults\":817}],819:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../surface/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports={x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},i:{valType:\"data_array\"},j:{valType:\"data_array\"},k:{valType:\"data_array\"},delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\"},alphahull:{valType:\"number\",dflt:-1},intensity:{valType:\"data_array\"},color:{valType:\"color\"},vertexcolor:{valType:\"data_array\"},facecolor:{valType:\"data_array\"},opacity:o({},a.opacity),flatshading:{valType:\"boolean\",dflt:!1},contour:{show:o({},a.contours.x.show,{}),color:o({},a.contours.x.color),width:o({},a.contours.x.width)},colorscale:n.colorscale,reversescale:n.reversescale,showscale:n.showscale,colorbar:i,lightposition:{x:o({},a.lightposition.x,{dflt:1e5}),y:o({},a.lightposition.y,{dflt:1e5}),z:o({},a.lightposition.z,{dflt:0})},lighting:o({},{vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6}},a.lighting)}},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/attributes\":538,\"../../lib/extend\":626,\"../surface/attributes\":902}],820:[function(t,e,r){\"use strict\";function n(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}function i(t){return t.map(function(t){var e=t[0],r=u(t[1]),n=r.toRgb();return{index:e,rgb:[n.r,n.g,n.b,1]}})}function a(t){return t.map(d)}function o(t,e,r){for(var n=new Array(t.length),i=0;i<t.length;++i)n[i]=[t[i],e[i],r[i]];return n}function s(t,e){var r=t.glplot.gl,i=l({gl:r}),a=new n(t,i,e.uid);return a.update(e),t.glplot.add(i),a}var l=t(\"gl-mesh3d\"),u=t(\"tinycolor2\"),c=t(\"delaunay-triangulate\"),h=t(\"alpha-shape\"),f=t(\"convex-hull\"),d=t(\"../../lib/str2rgbarray\"),p=n.prototype;p.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},p.update=function(t){function e(t,e,r){return e.map(function(e){return t.d2l(e)*r})}var r=this.scene,n=r.fullSceneLayout;this.data=t;var s,l=o(e(n.xaxis,t.x,r.dataScale[0]),e(n.yaxis,t.y,r.dataScale[1]),e(n.zaxis,t.z,r.dataScale[2]));if(t.i&&t.j&&t.k)s=o(t.i,t.j,t.k);else if(0===t.alphahull)s=f(l);else if(t.alphahull>0)s=h(t.alphahull,l);else{var u=[\"x\",\"y\",\"z\"].indexOf(t.delaunayaxis);s=c(l.map(function(t){return[t[(u+1)%3],t[(u+2)%3]]}))}var p={positions:l,cells:s,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:d(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\"#fff\",p.vertexIntensity=t.intensity,p.colormap=i(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolors[0],p.vertexColors=a(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],p.cellColors=a(t.facecolor)):(this.color=t.color,p.meshColor=d(t.color)),this.mesh.update(p)},p.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=s},{\"../../lib/str2rgbarray\":646,\"alpha-shape\":32,\"convex-hull\":84,\"delaunay-triangulate\":96,\"gl-mesh3d\":173,tinycolor2:489}],821:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorbar/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}function l(t){var e=t.map(function(t){var e=s(t);return e&&Array.isArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var u=l([\"x\",\"y\",\"z\"]),c=l([\"i\",\"j\",\"k\"]);return u?(c&&c.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"contour.show\",\"contour.color\",\"contour.width\",\"colorscale\",\"reversescale\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(t){s(t)}),\"intensity\"in t?(s(\"intensity\"),s(\"showscale\",!0)):(e.showscale=!1,\"vertexcolor\"in t?s(\"vertexcolor\"):\"facecolor\"in t?s(\"facecolor\"):s(\"color\",r)),e.reversescale&&(e.colorscale=e.colorscale.map(function(t){return[1-t[0],t[1]]}).reverse()),void(e.showscale&&i(t,e,o))):void(e.visible=!1)}},{\"../../components/colorbar/defaults\":535,\"../../lib\":633,\"./attributes\":819}],822:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"mesh3d\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\"],n.meta={},e.exports=n},{\"../../plots/gl3d\":703,\"../heatmap/colorbar\":792,\"./attributes\":819,\"./convert\":820,\"./defaults\":821}],823:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/attributes\"),a=\"#3D9970\",o=\"#FF4136\",s=i.line,l={name:{valType:\"string\"},showlegend:{valType:\"boolean\",dflt:!0},line:{color:n.extendFlat({},s.color),width:n.extendFlat({},s.width),dash:n.extendFlat({},s.dash)}};e.exports={x:{valType:\"data_array\"},open:{valType:\"data_array\",dflt:[]},high:{valType:\"data_array\",dflt:[]},low:{valType:\"data_array\",dflt:[]},close:{valType:\"data_array\",dflt:[]},line:{width:n.extendFlat({},s.width,{}),dash:n.extendFlat({},s.dash,{})},increasing:n.extendDeep({},l,{line:{color:{dflt:a}}}),decreasing:n.extendDeep({},l,{line:{color:{dflt:o}}}),text:{valType:\"string\",dflt:\"\",arrayOk:!0},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3}}},{\"../../lib\":633,\"../scatter/attributes\":846}],824:[function(t,e,r){\"use strict\";function n(t,e,r,n){o(t,e,r,n),r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".line.dash\",e.line.dash)}var i=t(\"../../lib\"),a=t(\"./ohlc_defaults\"),o=t(\"./direction_defaults\"),s=t(\"./attributes\"),l=t(\"./helpers\");e.exports=function(t,e){function r(r,n){return i.coerce(t,e,s,r,n)}l.pushDummyTransformOpts(t,e);var o=a(t,e,r);return 0===o?void(e.visible=!1):(r(\"line.width\"),r(\"line.dash\"),n(t,e,r,\"increasing\"),n(t,e,r,\"decreasing\"),r(\"text\"),void r(\"tickwidth\"))}},{\"../../lib\":633,\"./attributes\":823,\"./direction_defaults\":825,\"./helpers\":826,\"./ohlc_defaults\":828}],825:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){r(n+\".showlegend\"),t.showlegend===!1&&(e[n].showlegend=!1);var i=e.name+\" - \"+n;r(n+\".name\",i)}},{}],826:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},r.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r<e.length;r++)e[r]._ephemeral&&e.splice(r,1);0===e.length&&delete t.transforms}},r.copyOHLC=function(t,e){t.open&&(e.open=t.open),t.high&&(e.high=t.high),t.low&&(e.low=t.low),t.close&&(e.close=t.close)},r.makeTransform=function(t,e,r){var i=n.extendFlat([],t.transforms);return i[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},i},r.getFilterFn=function(t){switch(t){case\"increasing\":return function(t,e){return t<=e};case\"decreasing\":return function(t,e){return t>e}}},r.addRangeSlider=function(t){t.xaxis||(t.xaxis={}),t.xaxis.rangeslider||(t.xaxis.rangeslider={})}},{\"../../lib\":633}],827:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/register\");e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\")},n(t(\"../scatter\")),n(t(\"./transform\"))},{\"../../plot_api/register\":654,\"../../plots/cartesian\":672,\"../scatter\":856,\"./attributes\":823,\"./defaults\":824,\"./transform\":829}],828:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n,i=r(\"x\"),a=r(\"open\"),o=r(\"high\"),s=r(\"low\"),l=r(\"close\");return n=Math.min(a.length,o.length,s.length,l.length),i&&(n=Math.min(n,i.length),n<i.length&&(e.x=i.slice(0,n))),n<a.length&&(e.open=a.slice(0,n)),n<o.length&&(e.high=o.slice(0,n)),n<s.length&&(e.low=s.slice(0,n)),n<l.length&&(e.close=l.slice(0,n)),n}},{}],829:[function(t,e,r){\"use strict\";function n(t,e,r){var n={type:\"scatter\",mode:\"lines\",connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:i(t),transforms:s.makeTransform(t,e,r)},a=t[r];return a&&o.extendFlat(n,{x:t.x||[0],y:[].concat(t.low).concat(t.high),text:t.text,name:a.name,showlegend:a.showlegend,line:a.line}),n}function i(t){var e=t.hoverinfo;if(\"all\"===e)return\"x+text+name\";var r=e.split(\"+\"),n=r.indexOf(\"y\"),i=r.indexOf(\"text\");return n!==-1&&(r.splice(n,1),i===-1&&r.push(\"text\")),r.join(\"+\")}function a(t,e,r){var n=r._fullInput,i=n.tickwidth,a=n._minDiff;if(!a){var s=t._fullData,l=[];a=1/0;var u;for(u=0;u<s.length;u++){var c=s[u]._fullInput;if(\"ohlc\"===c.type&&c.visible===!0&&c.xaxis===e._id&&(l.push(c),c.x&&c.x.length>1)){var h=o.distinctVals(c.x.map(e.d2c)).minDiff;a=Math.min(a,h)}}for(a===1/0&&(a=1),u=0;u<l.length;u++)l[u]._minDiff=a}return a*i}var o=t(\"../../lib\"),s=t(\"./helpers\"),l=t(\"../../plots/cartesian/axes\"),u=t(\"../../plots/cartesian/axis_ids\");r.moduleType=\"transform\",r.name=\"ohlc\",r.attributes={},r.supplyDefaults=function(t,e,r,n){return s.clearEphemeralTransformOpts(n),s.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i<t.length;i++){var a=t[i];\"ohlc\"===a.type?r.push(n(a,e,\"increasing\"),n(a,e,\"decreasing\")):r.push(a)}return s.addRangeSlider(e.layout),r},r.calcTransform=function(t,e,r){var n,i=r.direction,o=s.getFilterFn(i),c=u.getFromTrace(t,e,\"x\"),h=u.getFromTrace(t,e,\"y\"),f=a(t,c,e),d=e.open,p=e.high,g=e.low,m=e.close,v=e.text,y=d.length,x=[],b=[],_=[];n=e._fullInput.x?function(t){var r=e.x[t],n=c.d2c(r);x.push(c.c2d(n-f),r,r,r,r,c.c2d(n+f),null)}:function(t){x.push(t-f,t,t,t,t,t+f,null)};for(var w=function(t,e,r,n){b.push(t,t,e,r,n,n,null)},M=function(t,e){return l.tickText(t,t.c2l(e),\"hover\").text},A=e._fullInput.hoverinfo,k=A.split(\"+\"),T=\"all\"===A,E=T||k.indexOf(\"y\")!==-1,S=T||k.indexOf(\"text\")!==-1,L=Array.isArray(v)?function(t){return v[t]||\"\"}:function(){return v},z=function(t,e,r,n,i){var a=[];E&&(a.push(\"Open: \"+M(h,e)),a.push(\"High: \"+M(h,r)),a.push(\"Low: \"+M(h,n)),a.push(\"Close: \"+M(h,i))),S&&a.push(L(t));var o=a.join(\"<br>\");_.push(o,o,o,o,o,o,null)},C=0;C<y;C++)o(d[C],m[C])&&(n(C),w(d[C],p[C],g[C],m[C]),z(C,d[C],p[C],g[C],m[C]));e.x=x,e.y=b,e.text=_}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/axis_ids\":667,\"./helpers\":826}],830:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports={labels:{valType:\"data_array\"},label0:{valType:\"number\",dflt:0},dlabel:{valType:\"number\",dflt:1},values:{valType:\"data_array\"},marker:{colors:{valType:\"data_array\"},line:{color:{valType:\"color\",dflt:n.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}}},text:{valType:\"data_array\"},scalegroup:{valType:\"string\",dflt:\"\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"]},hoverinfo:o({},a.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0},textfont:o({},i,{}),insidetextfont:o({},i,{}),outsidetextfont:o({},i,{}),domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},hole:{valType:\"number\",min:0,max:1,dflt:0},sort:{valType:\"boolean\",dflt:!0},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\"},rotation:{valType:\"number\",min:-360,max:360,dflt:0},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0}}},{\"../../components/color/attributes\":532,\"../../lib/extend\":626,\"../../plots/attributes\":662,\"../../plots/font_attributes\":684}],831:[function(t,e,r){\"use strict\";function n(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a._module===e&&a.visible===!0&&r.push(i)}return r}var i=t(\"../../registry\");r.name=\"pie\",r.plot=function(t){var e=i.getModule(\"pie\"),r=n(t.calcdata,e);r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"pie\"),a=e._has&&e._has(\"pie\");i&&!a&&n._pielayer.selectAll(\"g.trace\").remove()}},{\"../../registry\":739}],832:[function(t,e,r){\"use strict\";function n(t){if(!l){var e=o.defaults;l=e.slice();var r;for(r=0;r<e.length;r++)l.push(a(e[r]).lighten(20).toHexString());for(r=0;r<o.defaults.length;r++)l.push(a(e[r]).darken(20).toHexString())}return l[t%l.length]}var i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../components/color\"),s=t(\"./helpers\");e.exports=function(t,e){var r,l,u,c,h,f,d=e.values,p=e.labels,g=[],m=t._fullLayout,v=m._piecolormap,y={},x=!1,b=0,_=m.hiddenlabels||[];if(e.dlabel)for(p=new Array(d.length),r=0;r<d.length;r++)p[r]=String(e.label0+r*e.dlabel);for(r=0;r<d.length;r++)l=d[r],i(l)&&(l=+l,l<0||(u=p[r],void 0!==u&&\"\"!==u||(u=r),u=String(u),void 0===y[u]&&(y[u]=!0,c=a(e.marker.colors[r]),c.isValid()?(c=o.addOpacity(c,c.getAlpha()),v[u]||(v[u]=c)):v[u]?c=v[u]:(c=!1,x=!0),h=_.indexOf(u)!==-1,h||(b+=l),g.push({v:l,label:u,color:c,i:r,hidden:h}))));if(e.sort&&g.sort(function(t,e){return e.v-t.v}),x)for(r=0;r<g.length;r++)f=g[r],f.color===!1&&(v[f.label]=f.color=n(m._piedefaultcolorcount),m._piedefaultcolorcount++);if(g[0]&&(g[0].vTotal=b),e.textinfo&&\"none\"!==e.textinfo){var w,M=e.textinfo.indexOf(\"label\")!==-1,A=e.textinfo.indexOf(\"text\")!==-1,k=e.textinfo.indexOf(\"value\")!==-1,T=e.textinfo.indexOf(\"percent\")!==-1,E=m.separators;for(r=0;r<g.length;r++)f=g[r],w=M?[f.label]:[],A&&e.text[f.i]&&w.push(e.text[f.i]),k&&w.push(s.formatPieValue(f.v,E)),T&&w.push(s.formatPiePercent(f.v/b,E)),f.text=w.join(\"<br>\")}return g};var l},{\"../../components/color\":533,\"./helpers\":834,\"fast-isnumeric\":104,tinycolor2:489}],833:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}var s=n.coerceFont,l=o(\"values\");if(!Array.isArray(l)||!l.length)return void(e.visible=!1);var u=o(\"labels\");Array.isArray(u)||(o(\"label0\"),o(\"dlabel\"));var c=o(\"marker.line.width\");c&&o(\"marker.line.color\");var h=o(\"marker.colors\");Array.isArray(h)||(e.marker.colors=[]),o(\"scalegroup\");var f=o(\"text\"),d=o(\"textinfo\",Array.isArray(f)?\"text+percent\":\"percent\");if(o(\"hoverinfo\",1===a._dataLength?\"label+text+value+percent\":void 0),d&&\"none\"!==d){var p=o(\"textposition\"),g=Array.isArray(p)||\"auto\"===p,m=g||\"inside\"===p,v=g||\"outside\"===p;if(m||v){var y=s(o,\"textfont\",a.font);m&&s(o,\"insidetextfont\",y),v&&s(o,\"outsidetextfont\",y)}}o(\"domain.x\"),o(\"domain.y\"),o(\"hole\"),o(\"sort\"),o(\"direction\"),o(\"rotation\"),o(\"pull\")}},{\"../../lib\":633,\"./attributes\":830}],834:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return r.lastIndexOf(\".\")!==-1&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)+\"%\"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return r.lastIndexOf(\".\")!==-1&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)}},{\"../../lib\":633}],835:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.layoutAttributes=t(\"./layout_attributes\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.styleOne=t(\"./style_one\"),n.moduleType=\"trace\",n.name=\"pie\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"pie\",\"showLegend\"],n.meta={},e.exports=n},{\"./attributes\":830,\"./base_plot\":831,\"./calc\":832,\"./defaults\":833,\"./layout_attributes\":836,\"./layout_defaults\":837,\"./plot\":838,\"./style\":839,\"./style_one\":840}],836:[function(t,e,r){\"use strict\";e.exports={hiddenlabels:{valType:\"data_array\"}}},{}],837:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\")}},{\"../../lib\":633,\"./layout_attributes\":836}],838:[function(t,e,r){\"use strict\";function n(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,o=Math.PI*Math.min(e.v/r.vTotal,.5),s=1-r.trace.hole,l=i(e,r),u={scale:l*r.r*2/n,rCenter:1-l,rotate:0};if(u.scale>=1)return u;var c=a+1/(2*Math.tan(o)),h=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),s/(Math.sqrt(a*a+s/2)+a)),f={scale:2*h/t.height,rCenter:Math.cos(h/r.r)-h*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},d=1/a,p=d+1/(2*Math.tan(o)),g=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),s/(Math.sqrt(d*d+s/2)+d)),m={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=m.scale>f.scale?m:f;return u.scale<1&&v.scale>u.scale?v:u}function i(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function a(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function o(t,e){function r(t,e){return t.pxmid[1]-e.pxmid[1]}function n(t,e){return e.pxmid[1]-t.pxmid[1]}function i(t,r){r||(r={});var n,i,a,s,f,d,g=r.labelExtraY+(o?r.yLabelMax:r.yLabelMin),m=o?t.yLabelMin:t.yLabelMax,v=o?t.yLabelMax:t.yLabelMin,y=t.cyFinal+u(t.px0[1],t.px1[1]),x=g-m;if(x*h>0&&(t.labelExtraY=x),Array.isArray(e.pull))for(i=0;i<p.length;i++)a=p[i],a===t||(e.pull[t.i]||0)>=e.pull[a.i]||((t.pxmid[1]-a.pxmid[1])*h>0?(s=a.cyFinal+u(a.px0[1],a.px1[1]),x=s-m-t.labelExtraY,x*h>0&&(t.labelExtraY+=x)):(v+t.labelExtraY-y)*h>0&&(n=3*c*Math.abs(i-p.indexOf(t)),f=a.cxFinal+l(a.px0[0],a.px1[0]),d=f+n-(t.cxFinal+t.pxmid[0])-t.labelExtraX,d*c>0&&(t.labelExtraX+=d)))}var a,o,s,l,u,c,h,f,d,p,g,m,v;for(o=0;o<2;o++)for(s=o?r:n,u=o?Math.max:Math.min,h=o?1:-1,a=0;a<2;a++){for(l=a?Math.max:Math.min,c=a?1:-1,f=t[o][a],f.sort(s),d=t[1-o][a],p=d.concat(f),m=[],g=0;g<f.length;g++)void 0!==f[g].yLabelMid&&m.push(f[g]);for(v=!1,g=0;o&&g<d.length;g++)if(void 0!==d[g].yLabelMid){v=d[g];break}for(g=0;g<m.length;g++){var y=g&&m[g-1];v&&!g&&(y=v),i(m[g],y)}}}function s(t,e){var r,n,i,a,o,s,l,c,h,f,d=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.tiltaxis*Math.PI/180,c=s.pull,Array.isArray(c))for(c=0,a=0;a<s.pull.length;a++)s.pull[a]>c&&(c=s.pull[a]);o.r=Math.min(r/u(s.tilt,Math.sin(l),s.depth),n/u(s.tilt,Math.cos(l),s.depth))/(2+2*c),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&d.indexOf(s.scalegroup)===-1&&d.push(s.scalegroup)}for(a=0;a<d.length;a++){for(f=1/0,h=d[a],i=0;i<t.length;i++)o=t[i][0],o.trace.scalegroup===h&&(f=Math.min(f,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)o=t[i][0],o.trace.scalegroup===h&&(o.r=Math.sqrt(f*o.vTotal))}}function l(t){function e(t){var e=h.r*Math.sin(t),r=-h.r*Math.cos(t);return d?[e*(1-s*n*n)+r*o*s,e*o*s+r*(1-s*i*i),Math.sin(a)*(r*i-e*n)]:[e,r]}var r,n,i,a,o,s,l,u,c,h=t[0],f=h.trace,d=f.tilt,p=f.rotation*Math.PI/180,g=2*Math.PI/h.vTotal,m=\"px0\",v=\"px1\";if(\"counterclockwise\"===f.direction){for(l=0;l<t.length&&t[l].hidden;l++);if(l===t.length)return;p+=g*t[l].v,g*=-1,m=\"px1\",v=\"px0\"}for(d&&(a=d*Math.PI/180,r=f.tiltaxis*Math.PI/180,o=Math.sin(r)*Math.cos(r),s=1-Math.cos(a),n=Math.sin(r),i=Math.cos(r)),c=e(p),l=0;l<t.length;l++)u=t[l],u.hidden||(u[m]=c,p+=g*u.v/2,u.pxmid=e(p),u.midangle=p,p+=g*u.v/2,c=e(p),u[v]=c,u.largeArc=u.v>h.vTotal/2?1:0)}function u(t,e,r){if(!t)return 1;var n=Math.sin(t*Math.PI/180);return Math.max(.01,r*n*Math.abs(e)+2*Math.sqrt(1-n*n*e*e))}var c=t(\"d3\"),h=t(\"../../plots/cartesian/graph_interact\"),f=t(\"../../components/color\"),d=t(\"../../components/drawing\"),p=t(\"../../lib/svg_text_utils\"),g=t(\"./helpers\");e.exports=function(t,e){var r=t._fullLayout;s(e,r._size);var u=r._pielayer.selectAll(\"g.trace\").data(e);u.enter().append(\"g\").attr({\"stroke-linejoin\":\"round\",class:\"trace\"}),u.exit().remove(),u.order(),u.each(function(e){var s=c.select(this),u=e[0],m=u.trace,v=0,y=(m.depth||0)*u.r*Math.sin(v)/2,x=m.tiltaxis||0,b=x*Math.PI/180,_=[y*Math.sin(b),y*Math.cos(b)],w=u.r*Math.cos(v),M=s.selectAll(\"g.part\").data(m.tilt?[\"top\",\"sides\"]:[\"top\"]);M.enter().append(\"g\").attr(\"class\",function(t){return t+\" part\"}),M.exit().remove(),M.order(),l(e),s.selectAll(\".top\").each(function(){var s=c.select(this).selectAll(\"g.slice\").data(e);s.enter().append(\"g\").classed(\"slice\",!0),s.exit().remove();var l=[[[],[]],[[],[]]],v=!1;s.each(function(o){function s(e){var n=t._fullLayout,a=t._fullData[m.index],s=a.hoverinfo;if(\"all\"===s&&(s=\"label+text+value+percent+name\"),!t._dragging&&n.hovermode!==!1&&\"none\"!==s&&\"skip\"!==s&&s){var l=i(o,u),c=M+o.pxmid[0]*(1-l),f=A+o.pxmid[1]*(1-l),d=r.separators,p=[];s.indexOf(\"label\")!==-1&&p.push(o.label),a.text&&a.text[o.i]&&s.indexOf(\"text\")!==-1&&p.push(a.text[o.i]),s.indexOf(\"value\")!==-1&&p.push(g.formatPieValue(o.v,d)),s.indexOf(\"percent\")!==-1&&p.push(g.formatPiePercent(o.v/u.vTotal,d)),h.loneHover({x0:c-l*u.r,x1:c+l*u.r,y:f,text:p.join(\"<br>\"),name:s.indexOf(\"name\")!==-1?a.name:void 0,color:o.color,idealAlign:o.pxmid[0]<0?\"left\":\"right\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node()}),h.hover(t,e,\"pie\"),E=!0}}function f(e){t.emit(\"plotly_unhover\",{points:[e]}),E&&(h.loneUnhover(r._hoverlayer.node()),E=!1)}function y(){t._hoverdata=[o],t._hoverdata.trace=e.trace,h.click(t,{target:!0})}function b(t,e,r,n){return\"a\"+n*u.r+\",\"+n*w+\" \"+x+\" \"+o.largeArc+(r?\" 1 \":\" 0 \")+n*(e[0]-t[0])+\",\"+n*(e[1]-t[1])}if(o.hidden)return void c.select(this).selectAll(\"path,g\").remove();l[o.pxmid[1]<0?0:1][o.pxmid[0]<0?0:1].push(o);var M=u.cx+_[0],A=u.cy+_[1],k=c.select(this),T=k.selectAll(\"path.surface\").data([o]),E=!1;if(T.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),k.select(\"path.textline\").remove(),k.on(\"mouseover\",s).on(\"mouseout\",f).on(\"click\",y),m.pull){var S=+(Array.isArray(m.pull)?m.pull[o.i]:m.pull)||0;S>0&&(M+=S*o.pxmid[0],A+=S*o.pxmid[1])}o.cxFinal=M,o.cyFinal=A;var L=m.hole;if(o.v===u.vTotal){var z=\"M\"+(M+o.px0[0])+\",\"+(A+o.px0[1])+b(o.px0,o.pxmid,!0,1)+b(o.pxmid,o.px0,!0,1)+\"Z\";L?T.attr(\"d\",\"M\"+(M+L*o.px0[0])+\",\"+(A+L*o.px0[1])+b(o.px0,o.pxmid,!1,L)+b(o.pxmid,o.px0,!1,L)+\"Z\"+z):T.attr(\"d\",z)}else{var C=b(o.px0,o.px1,!0,1);if(L){var I=1-L;T.attr(\"d\",\"M\"+(M+L*o.px1[0])+\",\"+(A+L*o.px1[1])+b(o.px1,o.px0,!1,L)+\"l\"+I*o.px0[0]+\",\"+I*o.px0[1]+C+\"Z\")}else T.attr(\"d\",\"M\"+M+\",\"+A+\"l\"+o.px0[0]+\",\"+o.px0[1]+C+\"Z\")}var P=Array.isArray(m.textposition)?m.textposition[o.i]:m.textposition,D=k.selectAll(\"g.slicetext\").data(o.text&&\"none\"!==P?[0]:[]);D.enter().append(\"g\").classed(\"slicetext\",!0),D.exit().remove(),D.each(function(){var t=c.select(this).selectAll(\"text\").data([0]);t.enter().append(\"text\").attr(\"data-notex\",1),t.exit().remove(),t.text(o.text).attr({class:\"slicetext\",transform:\"\",\"data-bb\":\"\",\"text-anchor\":\"middle\",x:0,y:0}).call(d.font,\"outside\"===P?m.outsidetextfont:m.insidetextfont).call(p.convertToTspans),t.selectAll(\"tspan.line\").attr({x:0,y:0});var e,r=d.bBox(t.node());\"outside\"===P?e=a(r,o):(e=n(r,o,u),\"auto\"===P&&e.scale<1&&(t.call(d.font,m.outsidetextfont),m.outsidetextfont.family===m.insidetextfont.family&&m.outsidetextfont.size===m.insidetextfont.size||(t.attr({\"data-bb\":\"\"}),r=d.bBox(t.node())),e=a(r,o)));var i=M+o.pxmid[0]*e.rCenter+(e.x||0),s=A+o.pxmid[1]*e.rCenter+(e.y||0);e.outside&&(o.yLabelMin=s-r.height/2,o.yLabelMid=s,o.yLabelMax=s+r.height/2,o.labelExtraX=0,o.labelExtraY=0,v=!0),t.attr(\"transform\",\"translate(\"+i+\",\"+s+\")\"+(e.scale<1?\"scale(\"+e.scale+\")\":\"\")+(e.rotate?\"rotate(\"+e.rotate+\")\":\"\")+\"translate(\"+-(r.left+r.right)/2+\",\"+-(r.top+r.bottom)/2+\")\")})}),v&&o(l,m),s.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=c.select(this),r=e.select(\"g.slicetext text\");r.attr(\"transform\",\"translate(\"+t.labelExtraX+\",\"+t.labelExtraY+\")\"+r.attr(\"transform\"));var n=t.cxFinal+t.pxmid[0],i=t.cyFinal+t.pxmid[1],a=\"M\"+n+\",\"+i,o=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var s=t.labelExtraX*t.pxmid[1]/t.pxmid[0],l=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);a+=Math.abs(s)>Math.abs(l)?\"l\"+l*t.pxmid[0]/t.pxmid[1]+\",\"+l+\"H\"+(n+t.labelExtraX+o):\"l\"+t.labelExtraX+\",\"+s+\"v\"+(l-s)+\"h\"+o}else a+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+o;e.append(\"path\").classed(\"textline\",!0).call(f.stroke,m.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,m.outsidetextfont.size/8),d:a,fill:\"none\"})}})})}),setTimeout(function(){u.selectAll(\"tspan\").each(function(){var t=c.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))})},0)}},{\"../../components/color\":533,\"../../components/drawing\":556,\"../../lib/svg_text_utils\":647,\"../../plots/cartesian/graph_interact\":671,\"./helpers\":834,d3:95}],839:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"./style_one\");e.exports=function(t){t._fullLayout._pielayer.selectAll(\".trace\").each(function(t){var e=t[0],r=e.trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\".top path.surface\").each(function(t){n.select(this).call(i,t,r)})})}},{\"./style_one\":840,d3:95}],840:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\");e.exports=function(t,e,r){var i=r.marker.line.color;Array.isArray(i)&&(i=i[e.i]||n.defaultLine);var a=r.marker.line.width||0;Array.isArray(a)&&(a=a[e.i]||0),t.style({\"stroke-width\":a,fill:e.color}).call(n.stroke,i)}},{\"../../components/color\":533}],841:[function(t,e,r){\"use strict\";var n=t(\"../scattergl/attributes\");e.exports={x:n.x,y:n.y,xy:{valType:\"data_array\"},indices:{valType:\"data_array\"},xbounds:{valType:\"data_array\"},ybounds:{valType:\"data_array\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1},blend:{valType:\"boolean\",dflt:null},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5\n},sizemax:{valType:\"number\",min:.1,dflt:20},border:{color:{valType:\"color\",arrayOk:!1},arearatio:{valType:\"number\",min:0,max:1,dflt:0}}}}},{\"../scattergl/attributes\":882}],842:[function(t,e,r){\"use strict\";function n(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=a(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}function i(t,e){var r=new n(t,e.uid);return r.update(e),r}var a=t(\"gl-pointcloud2d\"),o=t(\"../../lib/str2rgbarray\"),s=t(\"../scatter/get_trace_color\"),l=[\"xaxis\",\"yaxis\"],u=n.prototype;u.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},u.update=function(t){this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.updateFast(t),this.color=s(t,{})},u.updateFast=function(t){var e,r,n,i,a,s,l=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,c=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,f=t.indices,d=this.bounds;if(c){if(n=c,e=c.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(s=0;s<e;s++)i=n[2*s],a=n[2*s+1],i<d[0]&&(d[0]=i),i>d[2]&&(d[2]=i),a<d[1]&&(d[1]=a),a>d[3]&&(d[3]=a);if(f)r=f;else for(r=new Int32Array(e),s=0;s<e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s<e;s++)i=l[s],a=u[s],r[s]=s,n[2*s]=i,n[2*s+1]=a,i<d[0]&&(d[0]=i),i>d[2]&&(d[2]=i),a<d[1]&&(d[1]=a),a>d[3]&&(d[3]=a);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=o(t.marker.color),g=o(t.marker.border.color),m=t.opacity*t.marker.opacity;p[3]*=m,this.pointcloudOptions.color=p;var v=t.marker.blend;if(null===v){var y=100;v=l.length<y||u.length<y}this.pointcloudOptions.blend=v,g[3]*=m,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(d,b/2)},u.expandAxesFast=function(t,e){for(var r,n,i,a=e||.5,o=0;o<2;o++)r=this.scene[l[o]],n=r._min,n||(n=[]),n.push({val:t[o],pad:a}),i=r._max,i||(i=[]),i.push({val:t[o+2],pad:a})},u.dispose=function(){this.pointcloud.dispose()},e.exports=i},{\"../../lib/str2rgbarray\":646,\"../scatter/get_trace_color\":854,\"gl-pointcloud2d\":198}],843:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\")}},{\"../../lib\":633,\"./attributes\":841}],844:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../scatter3d/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"pointcloud\",n.basePlotModule=t(\"../../plots/gl2d\"),n.categories=[\"gl2d\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":700,\"../scatter3d/calc\":870,\"./attributes\":841,\"./convert\":842,\"./defaults\":843}],845:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){var e=t[0].trace,r=e.marker;if(n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.textposition,t,\"tp\"),e.textfont&&(n.mergeArray(e.textfont.size,t,\"ts\"),n.mergeArray(e.textfont.color,t,\"tc\"),n.mergeArray(e.textfont.family,t,\"tf\")),r&&r.line){var i=r.line;n.mergeArray(r.opacity,t,\"mo\"),n.mergeArray(r.symbol,t,\"mx\"),n.mergeArray(r.color,t,\"mc\"),n.mergeArray(i.color,t,\"mlc\"),n.mergeArray(i.width,t,\"mlw\")}}},{\"../../lib\":633}],846:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/color_attributes\"),i=t(\"../../components/errorbars/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../components/drawing\"),s=(t(\"./constants\"),t(\"../../lib/extend\").extendFlat);e.exports={x:{valType:\"data_array\"},x0:{valType:\"any\",dflt:0},dx:{valType:\"number\",dflt:1},y:{valType:\"data_array\"},y0:{valType:\"any\",dflt:0},dy:{valType:\"number\",dflt:1},ids:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"]},line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:2},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1},dash:{valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\"},simplify:{valType:\"boolean\",dflt:!0}},connectgaps:{valType:\"boolean\",dflt:!1},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],dflt:\"none\"},fillcolor:{valType:\"color\"},marker:s({},{symbol:{valType:\"enumerated\",values:o.symbolList,dflt:\"circle\",arrayOk:!0},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0},sizeref:{valType:\"number\",dflt:1},sizemin:{valType:\"number\",min:0,dflt:0},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\"},showscale:{valType:\"boolean\",dflt:!1},colorbar:a,line:s({},{width:{valType:\"number\",min:0,arrayOk:!0}},n(\"marker.line\"))},n(\"marker\")),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0},textfont:{family:{valType:\"string\",noBlank:!0,strict:!0,arrayOk:!0},size:{valType:\"number\",min:1,arrayOk:!0},color:{valType:\"color\",arrayOk:!0}},r:{valType:\"data_array\"},t:{valType:\"data_array\"},error_y:i,error_x:i}},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/color_attributes\":540,\"../../components/drawing\":556,\"../../components/errorbars/attributes\":558,\"../../lib/extend\":626,\"./constants\":851}],847:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"./subtypes\"),s=t(\"./colorscale_calc\");e.exports=function(t,e){var r,l,u,c=i.getFromId(t,e.xaxis||\"x\"),h=i.getFromId(t,e.yaxis||\"y\"),f=c.makeCalcdata(e,\"x\"),d=h.makeCalcdata(e,\"y\"),p=Math.min(f.length,d.length);c._minDtick=0,h._minDtick=0,f.length>p&&f.splice(p,f.length-p),d.length>p&&d.splice(p,d.length-p);var g={padded:!0},m={padded:!0};if(o.hasMarkers(e)){if(r=e.marker,l=r.size,Array.isArray(l)){var v={type:\"linear\"};i.setConvert(v),l=v.makeCalcdata(e.marker,\"size\"),l.length>p&&l.splice(p,l.length-p)}var y,x=1.6*(e.marker.sizeref||1);y=\"area\"===e.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/x),3)}:function(t){return Math.max((t||0)/x,3)},g.ppad=m.ppad=Array.isArray(l)?l.map(y):y(l)}s(e),!(\"tozerox\"===e.fill||\"tonextx\"===e.fill&&t.firstscatter)||f[0]===f[p-1]&&d[0]===d[p-1]?e.error_y.visible||[\"tonexty\",\"tozeroy\"].indexOf(e.fill)===-1&&(o.hasMarkers(e)||o.hasText(e))||(g.padded=!1,g.ppad=0):g.tozero=!0,!(\"tozeroy\"===e.fill||\"tonexty\"===e.fill&&t.firstscatter)||f[0]===f[p-1]&&d[0]===d[p-1]?[\"tonextx\",\"tozerox\"].indexOf(e.fill)!==-1&&(m.padded=!1):m.tozero=!0,i.expand(c,f,g),i.expand(h,d,m);var b=new Array(p);for(u=0;u<p;u++)b[u]=n(f[u])&&n(d[u])?{x:f[u],y:d[u]}:{x:!1,y:!1},e.ids&&(b[u].id=String(e.ids[u]));return\"undefined\"!=typeof l&&a.mergeArray(l,b,\"ms\"),t.firstscatter=!1,b}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"./colorscale_calc\":850,\"./subtypes\":866,\"fast-isnumeric\":104}],848:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if(\"scatter\"===r.type){var n=r.fill;if(\"none\"!==n&&\"toself\"!==n&&(r.opacity=void 0,\"tonexty\"===n||\"tonextx\"===n))for(var i=e-1;i>=0;i--){var a=t[i];if(\"scatter\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],849:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../components/colorscale\"),s=t(\"../../components/colorbar/draw\");e.exports=function(t,e){var r=e[0].trace,l=r.marker,u=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+u).remove(),void 0===l||!l.showscale)return void a.autoMargin(t,u);var c=l.color,h=l.cmin,f=l.cmax;n(h)||(h=i.aggNums(Math.min,null,c)),n(f)||(f=i.aggNums(Math.max,null,c));var d=e[0].t.cb=s(t,u),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,h,f),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:h,end:f,size:(f-h)/254}).options(l.colorbar)()}},{\"../../components/colorbar/draw\":536,\"../../components/colorscale\":547,\"../../lib\":633,\"../../plots/plots\":724,\"fast-isnumeric\":104}],850:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"./subtypes\");e.exports=function(t){a.hasLines(t)&&n(t,\"line\")&&i(t,t.line.color,\"line\",\"c\"),a.hasMarkers(t)&&(n(t,\"marker\")&&i(t,t.marker.color,\"marker\",\"c\"),n(t,\"marker.line\")&&i(t,t.marker.line.color,\"marker.line\",\"c\"))}},{\"../../components/colorscale/calc\":539,\"../../components/colorscale/has_colorscale\":546,\"./subtypes\":866}],851:[function(t,e,r){\"use strict\";e.exports={PTS_LINESONLY:20}},{}],852:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./constants\"),o=t(\"./subtypes\"),s=t(\"./xy_defaults\"),l=t(\"./marker_defaults\"),u=t(\"./line_defaults\"),c=t(\"./line_shape_defaults\"),h=t(\"./text_defaults\"),f=t(\"./fillcolor_defaults\"),d=t(\"../../components/errorbars/defaults\");e.exports=function(t,e,r,p){function g(r,a){return n.coerce(t,e,i,r,a)}var m=s(t,e,g),v=m<a.PTS_LINESONLY?\"lines+markers\":\"lines\";if(!m)return void(e.visible=!1);g(\"text\"),g(\"mode\",v),g(\"ids\"),o.hasLines(e)&&(u(t,e,r,p,g),c(t,e,g),g(\"connectgaps\"),g(\"line.simplify\")),o.hasMarkers(e)&&l(t,e,r,p,g),o.hasText(e)&&h(t,e,p,g);var y=[];(o.hasMarkers(e)||o.hasText(e))&&(g(\"marker.maxdisplayed\"),y.push(\"points\")),g(\"fill\"),\"none\"!==e.fill&&(f(t,e,r,g),o.hasLines(e)||c(t,e,g)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||y.push(\"fills\"),g(\"hoveron\",y.join(\"+\")||\"points\"),d(t,e,r,{axis:\"y\"}),d(t,e,r,{axis:\"x\",inherit:\"y\"})}},{\"../../components/errorbars/defaults\":561,\"../../lib\":633,\"./attributes\":846,\"./constants\":851,\"./fillcolor_defaults\":853,\"./line_defaults\":857,\"./line_shape_defaults\":859,\"./marker_defaults\":862,\"./subtypes\":866,\"./text_defaults\":867,\"./xy_defaults\":868}],853:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\");e.exports=function(t,e,r,i){var a=!1;if(e.marker){var o=e.marker.color,s=(e.marker.line||{}).color;o&&!Array.isArray(o)?a=o:s&&!Array.isArray(s)&&(a=s)}i(\"fillcolor\",n.addOpacity((e.line||{}).color||a||r,.5))}},{\"../../components/color\":533}],854:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./subtypes\");e.exports=function(t,e){var r,a;if(\"lines\"===t.mode)return r=t.line.color,r&&n.opacity(r)?r:t.fillcolor;if(\"none\"===t.mode)return t.fill?t.fillcolor:\"\";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\"\",a?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color,r&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor)}},{\"../../components/color\":533,\"./subtypes\":866}],855:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/graph_interact\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../components/errorbars\"),s=t(\"./get_trace_color\"),l=t(\"../../components/color\");e.exports=function(t,e,r,u){var c=t.cd,h=c[0].trace,f=t.xa,d=t.ya,p=f.c2p(e),g=d.c2p(r),m=[p,g];if(h.hoveron.indexOf(\"points\")!==-1){var v=function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.x)-p)-e,1-3/e)},y=function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(d.c2p(t.y)-g)-e,1-3/e)},x=function(t){var e=Math.max(3,t.mrc||0),r=f.c2p(t.x)-p,n=d.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-3/e)},b=i.getDistanceFunction(u,v,y,x);if(i.getClosest(c,b,t),t.index!==!1){var _=c[t.index],w=f.c2p(_.x,!0),M=d.c2p(_.y,!0),A=_.mrc||1;return n.extendFlat(t,{color:s(h,_),x0:w-A,x1:w+A,xLabelVal:_.x,y0:M-A,y1:M+A,yLabelVal:_.y}),_.tx?t.text=_.tx:h.text&&(t.text=h.text),o.hoverInfo(_,h,t),[t]}}if(h.hoveron.indexOf(\"fills\")!==-1&&h._polygons){var k,T,E,S,L,z,C,I,P,D=h._polygons,O=[],R=!1,F=1/0,j=-(1/0),N=1/0,B=-(1/0);for(k=0;k<D.length;k++)E=D[k],E.contains(m)&&(R=!R,O.push(E),N=Math.min(N,E.ymin),B=Math.max(B,E.ymax));if(R){N=Math.max(N,0),B=Math.min(B,d._length);var U=(N+B)/2;for(k=0;k<O.length;k++)for(S=O[k].pts,T=1;T<S.length;T++)I=S[T-1][1],P=S[T][1],I>U!=P>=U&&(z=S[T-1][0],C=S[T][0],L=z+(C-z)*(U-I)/(P-I),F=Math.min(F,L),j=Math.max(j,L));F=Math.max(F,0),j=Math.min(j,f._length);var V=l.defaultLine;return l.opacity(h.fillcolor)?V=h.fillcolor:l.opacity((h.line||{}).color)&&(V=h.line.color),n.extendFlat(t,{distance:a.MAXDIST+10,x0:F,x1:j,y0:U,y1:U,color:V}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{\"../../components/color\":533,\"../../components/errorbars\":562,\"../../lib\":633,\"../../plots/cartesian/constants\":669,\"../../plots/cartesian/graph_interact\":671,\"./get_trace_color\":854}],856:[function(t,e,r){\"use strict\";var n={},i=t(\"./subtypes\");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.cleanData=t(\"./clean_data\"),n.calc=t(\"./calc\"),n.arraysToCalcdata=t(\"./arrays_to_calcdata\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./colorbar\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"./select\"),n.animatable=!0,n.moduleType=\"trace\",n.name=\"scatter\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"symbols\",\"markerColorscale\",\"errorBarsOK\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":672,\"./arrays_to_calcdata\":845,\"./attributes\":846,\"./calc\":847,\"./clean_data\":848,\"./colorbar\":849,\"./defaults\":852,\"./hover\":855,\"./plot\":863,\"./select\":864,\"./style\":865,\"./subtypes\":866}],857:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,a,o){var s=(t.marker||{}).color;if(o(\"line.color\",r),n(t,\"line\"))i(t,e,a,o,{prefix:\"line.\",cLetter:\"c\"});else{var l=!Array.isArray(s)&&s||r;o(\"line.color\",l)}o(\"line.width\"),o(\"line.dash\")}},{\"../../components/colorscale/defaults\":542,\"../../components/colorscale/has_colorscale\":546}],858:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){function r(e){var r=w.c2p(t[e].x),i=M.c2p(t[e].y);return r!==n&&i!==n&&[r,i]}function i(t){var e=t[0]/w._length,r=t[1]/M._length;return(1+10*Math.max(0,-e,e-1,-r,r-1))*T}function a(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var o,s,l,u,c,h,f,d,p,g,m,v,y,x,b,_,w=e.xaxis,M=e.yaxis,A=e.simplify,k=e.connectGaps,T=e.baseTolerance,E=e.linear,S=[],L=.2,z=new Array(t.length),C=0;for(A||(T=L=-1),o=0;o<t.length;o++)if(s=r(o)){for(C=0,z[C++]=s,o++;o<t.length;o++){if(u=r(o),!u){if(k)continue;break}if(E){if(f=a(u,s),!(f<i(u)*L)){for(p=[(u[0]-s[0])/f,(u[1]-s[1])/f],c=s,m=f,v=x=b=0,d=!1,l=u,o++;o<t.length;o++){if(h=r(o),!h){if(k)continue;break}if(g=[h[0]-s[0],h[1]-s[1]],_=g[0]*p[1]-g[1]*p[0],x=Math.min(x,_),b=Math.max(b,_),b-x>i(h))break;l=h,y=g[0]*p[0]+g[1]*p[1],y>m?(m=y,u=h,d=!1):y<v&&(v=y,c=h,d=!0)}if(d?(z[C++]=u,l!==c&&(z[C++]=c)):(c!==s&&(z[C++]=c),l!==u&&(z[C++]=u)),z[C++]=l,o>=t.length||!h)break;z[C++]=h,s=h}}else z[C++]=u}S.push(z.slice(0,C))}return S}},{\"../../constants/numerical\":616}],859:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=r(\"line.shape\");\"spline\"===n&&r(\"line.smoothing\")}},{}],860:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var n,i,a=null,o=0;o<r.length;++o)n=r[o],i=n[0].trace,i.visible===!0?(i._nexttrace=null,[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(i.fill)!==-1&&(i._prevtrace=a,a&&(a._nexttrace=i)),a=i):i._prevtrace=i._nexttrace=null}},{}],861:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=\"area\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{\"fast-isnumeric\":104}],862:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./subtypes\");e.exports=function(t,e,r,s,l){var u,c=o.isBubble(t),h=(t.line||{}).color;h&&(r=h),l(\"marker.symbol\"),l(\"marker.opacity\",c?.7:1),l(\"marker.size\"),l(\"marker.color\",r),i(t,\"marker\")&&a(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),u=h&&!Array.isArray(h)&&e.marker.color!==h?h:c?n.background:n.defaultLine,l(\"marker.line.color\",u),i(t,\"marker.line\")&&a(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",c?1:0),c&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\"))}},{\"../../components/color\":533,\"../../components/colorscale/defaults\":542,\"../../components/colorscale/has_colorscale\":546,\"./subtypes\":866}],863:[function(t,e,r){\"use strict\";function n(t,e){var r;e.selectAll(\"g.trace\").each(function(t){var e=o.select(this);if(r=t[0].trace,r._nexttrace){if(r._nextFill=e.select(\".js-fill.js-tonext\"),!r._nextFill.size()){var n=\":first-child\";e.select(\".js-fill.js-tozero\").size()&&(n+=\" + *\"),r._nextFill=e.insert(\"path\",n).attr(\"class\",\"js-fill js-tonext\")}}else e.selectAll(\".js-fill.js-tonext\").remove(),r._nextFill=null;r.fill&&(\"tozero\"===r.fill.substr(0,6)||\"toself\"===r.fill||\"to\"===r.fill.substr(0,2)&&!r._prevtrace)?(r._ownFill=e.select(\".js-fill.js-tozero\"),r._ownFill.size()||(r._ownFill=e.insert(\"path\",\":first-child\").attr(\"class\",\"js-fill js-tozero\"))):(e.selectAll(\".js-fill.js-tozero\").remove(),r._ownFill=null)})}function i(t,e,r,n,i,d,g){function m(t){return A?t.transition():t}function v(t){return t.filter(function(t){return t.vis})}function y(t){return t.id}function x(t){if(t.ids)return y}function b(){return!1}function _(t){var e,r,n=t[0].trace,i=o.select(this),a=c.hasMarkers(n),u=c.hasText(n),h=x(n),f=b,d=b;a&&(f=n.marker.maxdisplayed?v:s.identity),u&&(d=n.marker.maxdisplayed?v:s.identity),r=i.selectAll(\"path.point\"),e=r.data(f,h);var p=e.enter().append(\"path\").classed(\"point\",!0);p.call(l.pointStyle,n).call(l.translatePoints,k,T,n),A&&p.style(\"opacity\",0).transition().style(\"opacity\",1),e.each(function(t){var e=m(o.select(this));l.translatePoint(t,e,k,T),l.singlePointStyle(t,e,n)}),A?e.exit().transition().style(\"opacity\",0).remove():e.exit().remove(),r=i.selectAll(\"g\"),e=r.data(d,h),e.enter().append(\"g\").append(\"text\"),e.each(function(t){var e=m(o.select(this).select(\"text\"));l.translatePoint(t,e,k,T)}),e.selectAll(\"text\").call(l.textPointStyle,n).each(function(t){var e=t.xp||k.c2p(t.x),r=t.yp||T.c2p(t.y);o.select(this).selectAll(\"tspan\").each(function(){m(o.select(this)).attr({x:e,y:r})})}),e.exit().remove()}var w,M;a(t,e,r,n,i);var A=!!g&&g.duration>0,k=r.xaxis,T=r.yaxis,E=n[0].trace,S=E.line,L=o.select(d);if(L.call(u.plot,r,g),E.visible===!0){m(L).style(\"opacity\",E.opacity);var z,C,I=E.fill.charAt(E.fill.length-1);\"x\"!==I&&\"y\"!==I&&(I=\"\"),n[0].node3=L,h(n);var P=\"\",D=[],O=E._prevtrace;O&&(P=O._prevRevpath||\"\",C=O._nextFill,D=O._polygons);var R,F,j,N,B,U,V,q,H,G=\"\",X=\"\",Y=[],W=[],Z=s.noop;if(z=E._ownFill,c.hasLines(E)||\"none\"!==E.fill){for(C&&C.datum(n),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(S.shape)!==-1?(j=l.steps(S.shape),N=l.steps(S.shape.split(\"\").reverse().join(\"\"))):j=N=\"spline\"===S.shape?function(t){var e=t[t.length-1];return t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),S.smoothing):l.smoothopen(t,S.smoothing)}:function(t){return\"M\"+t.join(\"L\")},B=function(t){return N(t.reverse())},Y=f(n,{xaxis:k,yaxis:T,connectGaps:E.connectgaps,baseTolerance:Math.max(S.width||1,3)/4,linear:\"linear\"===S.shape,simplify:S.simplify}),H=E._polygons=new Array(Y.length),M=0;M<Y.length;M++)E._polygons[M]=p(Y[M]);Y.length&&(U=Y[0][0],V=Y[Y.length-1],q=V[V.length-1]),W=Y.filter(function(t){return t.length>1}),Z=function(t){return function(e){if(R=j(e),F=B(e),G?I?(G+=\"L\"+R.substr(1),X=F+(\"L\"+X.substr(1))):(G+=\"Z\"+R,X=F+\"Z\"+X):(G=R,X=F),c.hasLines(E)&&e.length>1){var r=o.select(this);if(r.datum(n),t)m(r.style(\"opacity\",0).attr(\"d\",R).call(l.lineGroupStyle)).style(\"opacity\",1);else{var i=m(r);i.attr(\"d\",R),l.singleLineStyle(n,i)}}}}}var Q=L.selectAll(\".js-line\").data(W);m(Q.exit()).style(\"opacity\",0).remove(),Q.each(Z(!1)),Q.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(l.lineGroupStyle).each(Z(!0)),Y.length&&(z?U&&q&&(I?(\"y\"===I?U[1]=q[1]=T.c2p(0,!0):\"x\"===I&&(U[0]=q[0]=k.c2p(0,!0)),m(z).attr(\"d\",\"M\"+q+\"L\"+U+\"L\"+G.substr(1))):m(z).attr(\"d\",G+\"Z\")):\"tonext\"===E.fill.substr(0,6)&&G&&P&&(\"tonext\"===E.fill?m(C).attr(\"d\",G+\"Z\"+P+\"Z\"):m(C).attr(\"d\",G+\"L\"+P.substr(1)+\"Z\"),E._polygons=E._polygons.concat(D)),E._prevRevpath=X,E._prevPolygons=H);var K=L.selectAll(\".points\");w=K.data([n]),K.each(_),w.enter().append(\"g\").classed(\"points\",!0).each(_),w.exit().remove()}}function a(t,e,r,n,i){var a=r.xaxis,s=r.yaxis,l=o.extent(a.range.map(a.r2l).map(a.l2c)),u=o.extent(s.range.map(s.r2l).map(s.l2c)),h=n[0].trace;if(c.hasMarkers(h)){var f=h.marker.maxdisplayed;if(0!==f){var d=n.filter(function(t){return t.x>=l[0]&&t.x<=l[1]&&t.y>=u[0]&&t.y<=u[1]}),p=Math.ceil(d.length/f),g=0;i.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&g++});var m=Math.round(g*p/3+Math.floor(g/3)*p/7.1);n.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+m)%p)&&(t.vis=!0)})}}}var o=t(\"d3\"),s=t(\"../../lib\"),l=t(\"../../components/drawing\"),u=t(\"../../components/errorbars\"),c=t(\"./subtypes\"),h=t(\"./arrays_to_calcdata\"),f=t(\"./line_points\"),d=t(\"./link_traces\"),p=t(\"../../lib/polygon\").tester;e.exports=function(t,e,r,a,s){var l,u,c,h,f,p=e.plot.select(\"g.scatterlayer\"),g=!a,m=!!a&&a.duration>0;for(c=p.selectAll(\"g.trace\"),h=c.data(r,function(t){return t[0].trace.uid}),h.enter().append(\"g\").attr(\"class\",function(t){return\"trace scatter trace\"+t[0].trace.uid}).style(\"stroke-miterlimit\",2),d(t,e,r),n(t,p),l=0,u=[];l<r.length;l++)u[l]=r[l][0].trace.uid;if(p.selectAll(\"g.trace\").sort(function(t,e){var r=u.indexOf(t[0].trace.uid),n=u.indexOf(e[0].trace.uid);return r>n?1:-1}),m){s&&(f=s());var v=o.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){f&&f()}).each(\"interrupt\",function(){f&&f()});v.each(function(){p.selectAll(\"g.trace\").each(function(n,o){i(t,o,e,n,r,this,a)})})}else p.selectAll(\"g.trace\").each(function(n,o){i(t,o,e,n,r,this,a)});g&&h.exit().remove(),p.selectAll(\"path:not([d])\").remove()}},{\"../../components/drawing\":556,\"../../components/errorbars\":562,\"../../lib\":633,\"../../lib/polygon\":640,\"./arrays_to_calcdata\":845,\"./line_points\":858,\"./link_traces\":860,\"./subtypes\":866,d3:95}],864:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\"),i=.2;e.exports=function(t,e){var r,a,o,s,l=t.cd,u=t.xaxis,c=t.yaxis,h=[],f=l[0].trace,d=f.index,p=f.marker,g=!n.hasMarkers(f)&&!n.hasText(f);if(f.visible===!0&&!g){var m=Array.isArray(p.opacity)?1:p.opacity;if(e===!1)for(r=0;r<l.length;r++)l[r].dim=0;else for(r=0;r<l.length;r++)a=l[r],o=u.c2p(a.x),s=c.c2p(a.y),e.contains([o,s])?(h.push({curveNumber:d,pointNumber:r,x:a.x,y:a.y,id:a.id}),a.dim=0):a.dim=1;return l[0].node3.selectAll(\"path.point\").style(\"opacity\",function(t){return((t.mo+1||m+1)-1)*(t.dim?i:1)}),l[0].node3.selectAll(\"text\").style(\"opacity\",function(t){return t.dim?i:1}),h}}},{\"./subtypes\":866}],865:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/errorbars\");e.exports=function(t){var e=n.select(t).selectAll(\"g.trace.scatter\");e.style(\"opacity\",function(t){return t[0].trace.opacity}),e.selectAll(\"g.points\").each(function(t){n.select(this).selectAll(\"path.point\").call(i.pointStyle,t.trace||t[0].trace),n.select(this).selectAll(\"text\").call(i.textPointStyle,t.trace||t[0].trace)}),e.selectAll(\"g.trace path.js-line\").call(i.lineGroupStyle),e.selectAll(\"g.trace path.js-fill\").call(i.fillGroupStyle),e.call(a.style)}},{\"../../components/drawing\":556,\"../../components/errorbars\":562,d3:95}],866:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports={hasLines:function(t){return t.visible&&t.mode&&t.mode.indexOf(\"lines\")!==-1},hasMarkers:function(t){return t.visible&&t.mode&&t.mode.indexOf(\"markers\")!==-1},hasText:function(t){return t.visible&&t.mode&&t.mode.indexOf(\"text\")!==-1},isBubble:function(t){return n.isPlainObject(t.marker)&&Array.isArray(t.marker.size)}}},{\"../../lib\":633}],867:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i){i(\"textposition\"),n.coerceFont(i,\"textfont\",r.font)}},{\"../../lib\":633}],868:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n,i=r(\"x\"),a=r(\"y\");if(i)a?(n=Math.min(i.length,a.length),n<i.length&&(e.x=i.slice(0,n)),n<a.length&&(e.y=a.slice(0,n))):(n=i.length,r(\"y0\"),r(\"dy\"));else{if(!a)return 0;n=e.y.length,r(\"x0\"),r(\"dx\")}return n}},{}],869:[function(t,e,r){\"use strict\";function n(t){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var i=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/color_attributes\"),o=t(\"../../components/errorbars/attributes\"),s=t(\"../../constants/gl_markers\"),l=t(\"../../lib/extend\").extendFlat,u=i.line,c=i.marker,h=c.line;e.exports={x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},text:l({},i.text,{}),mode:l({},i.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:n(\"x\"),y:n(\"y\"),z:n(\"z\")},connectgaps:i.connectgaps,line:l({},{width:u.width,dash:u.dash,showscale:{valType:\"boolean\",dflt:!1}},a(\"line\")),marker:l({},{symbol:{valType:\"enumerated\",values:Object.keys(s),dflt:\"circle\",arrayOk:!0},size:l({},c.size,{dflt:8}),sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:l({},c.opacity,{arrayOk:!1}),showscale:c.showscale,colorbar:c.colorbar,line:l({},{width:l({},h.width,{arrayOk:!1})},a(\"marker.line\"))},a(\"marker\")),textposition:l({},i.textposition,{dflt:\"top center\"}),textfont:i.textfont,error_x:o,error_y:o,error_z:o}},{\"../../components/colorscale/color_attributes\":540,\"../../components/errorbars/attributes\":558,\"../../constants/gl_markers\":615,\"../../lib/extend\":626,\"../scatter/attributes\":846}],870:[function(t,e,r){\"use strict\";var n=t(\"../scatter/arrays_to_calcdata\"),i=t(\"../scatter/colorscale_calc\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r),i(e),r}},{\"../scatter/arrays_to_calcdata\":845,\"../scatter/colorscale_calc\":850}],871:[function(t,e,r){\"use strict\";function n(t,e,r){if(!e||!e.visible)return null;for(var n=o(e),i=new Array(t.length),a=0;a<t.length;a++){var s=n(+t[a],a);i[a]=[-s[0]*r,s[1]*r]}return i}function i(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}function a(t,e){var r=[n(t.x,t.error_x,e[0]),n(t.y,t.error_y,e[1]),n(t.z,t.error_z,e[2])],a=i(r);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],u=0;u<3;u++)if(r[u])for(var c=0;c<2;c++)l[c][u]=r[u][s][c];o[s]=l}return o}var o=t(\"../../components/errorbars/compute_error\");e.exports=a},{\"../../components/errorbars/compute_error\":560}],872:[function(t,e,r){\"use strict\";function n(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}function i(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n<t.length;++n){var l=t[n];!isNaN(l[i])&&isFinite(l[i])&&!isNaN(l[a])&&isFinite(l[a])&&(o.push([l[i],l[a]]),s.push(n))}var u=v(o);for(n=0;n<u.length;++n)for(var c=u[n],h=0;h<c.length;++h)c[h]=s[c[h]];return{positions:t,cells:u,meshColor:e}}function a(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&a.copy_zstyle!==!1&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=x(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}function o(t){var e=[0,0];return Array.isArray(t)?[0,-1]:(t.indexOf(\"bottom\")>=0&&(e[1]+=1),t.indexOf(\"top\")>=0&&(e[1]-=1),t.indexOf(\"left\")>=0&&(e[0]-=1),t.indexOf(\"right\")>=0&&(e[0]+=1),e)}function s(t,e){return e(4*t)}function l(t){return M[t]}function u(t,e,r,n,i){var a=null;if(Array.isArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,y.identity);return a}function c(t,e){var r,n,i,c,h,f,d=[],p=t.fullSceneLayout,g=t.dataScale,m=p.xaxis,v=p.yaxis,w=p.zaxis,M=e.marker,k=e.line,T=e.x||[],E=e.y||[],S=e.z||[],L=T.length;for(n=0;n<L;n++)i=m.d2l(T[n])*g[0],c=v.d2l(E[n])*g[1],h=w.d2l(S[n])*g[2],d[n]=[i,c,h];if(Array.isArray(e.text))f=e.text;else if(void 0!==e.text)for(f=new Array(L),n=0;n<L;n++)f[n]=e.text;if(r={position:d,mode:e.mode,text:f},\"line\"in e&&(r.lineColor=b(k,1,L),r.lineWidth=k.width,r.lineDashes=k.dash),\"marker\"in e){var z=_(e);r.scatterColor=b(M,1,L),r.scatterSize=u(M.size,L,s,20,z),r.scatterMarker=u(M.symbol,L,l,\"\\u25cf\"),r.scatterLineWidth=M.line.width,r.scatterLineColor=b(M.line,1,L),r.scatterAngle=0}\"textposition\"in e&&(r.textOffset=o(e.textposition),r.textColor=b(e.textfont,1,L),r.textSize=u(e.textfont.size,L,y.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var C=[\"x\",\"y\",\"z\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var I=e.projection[C[n]];(r.project[n]=I.show)&&(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=A(e,g);var P=a([e.error_x,e.error_y,e.error_z]);return r.errorColor=P.color,r.errorLineWidth=P.lineWidth,r.errorCapSize=P.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=x(e.surfacecolor),r}function h(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),\"rgb(\"+t.slice(0,3).map(function(t){return Math.round(255*t)})+\")\"}return null}function f(t,e){var r=new n(t,e.uid);return r.update(e),r}var d=t(\"gl-line3d\"),p=t(\"gl-scatter3d\"),g=t(\"gl-error3d\"),m=t(\"gl-mesh3d\"),v=t(\"delaunay-triangulate\"),y=t(\"../../lib\"),x=t(\"../../lib/str2rgbarray\"),b=t(\"../../lib/gl_format_color\"),_=t(\"../scatter/make_bubble_size_func\"),w=t(\"../../constants/gl3d_dashes\"),M=t(\"../../constants/gl_markers\"),A=t(\"./calc_errors\"),k=n.prototype;k.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels&&void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=\"\";var e=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},k.update=function(t){var e,r,n,a,o=this.scene.glplot.gl,s=w.solid;this.data=t;var l=c(this.scene,t);\"mode\"in l&&(this.mode=l.mode),\"lineDashes\"in l&&l.lineDashes in w&&(s=w[l.lineDashes]),this.color=h(l.scatterColor)||h(l.lineColor),this.dataPoints=l.position,e={gl:o,position:l.position,color:l.lineColor,lineWidth:l.lineWidth||1,dashes:s[0],dashScale:s[1],opacity:t.opacity,connectGaps:t.connectgaps},this.mode.indexOf(\"lines\")!==-1?this.linePlot?this.linePlot.update(e):(this.linePlot=d(e),\nthis.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var u=t.opacity;if(t.marker&&t.marker.opacity&&(u*=t.marker.opacity),r={gl:o,position:l.position,color:l.scatterColor,size:l.scatterSize,glyph:l.scatterMarker,opacity:u,orthographic:!0,lineWidth:l.scatterLineWidth,lineColor:l.scatterLineColor,project:l.project,projectScale:l.projectScale,projectOpacity:l.projectOpacity},this.mode.indexOf(\"markers\")!==-1?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=p(r),this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),a={gl:o,position:l.position,glyph:l.text,color:l.textColor,size:l.textSize,angle:l.textAngle,alignment:l.textOffset,font:l.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=l.text,this.mode.indexOf(\"text\")!==-1?this.textMarkers?this.textMarkers.update(a):(this.textMarkers=p(a),this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),n={gl:o,position:l.position,color:l.errorColor,error:l.errorBounds,lineWidth:l.errorLineWidth,capSize:l.errorCapSize,opacity:t.opacity},this.errorBars?l.errorBounds?this.errorBars.update(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):l.errorBounds&&(this.errorBars=g(n),this.scene.glplot.add(this.errorBars)),l.delaunayAxis>=0){var f=i(l.position,l.delaunayColor,l.delaunayAxis);f.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(f):(f.gl=o,this.delaunayMesh=m(f),this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},k.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=f},{\"../../constants/gl3d_dashes\":614,\"../../constants/gl_markers\":615,\"../../lib\":633,\"../../lib/gl_format_color\":631,\"../../lib/str2rgbarray\":646,\"../scatter/make_bubble_size_func\":861,\"./calc_errors\":871,\"delaunay-triangulate\":96,\"gl-error3d\":133,\"gl-line3d\":140,\"gl-mesh3d\":173,\"gl-scatter3d\":216}],873:[function(t,e,r){\"use strict\";function n(t,e,r){var n=0,i=r(\"x\"),a=r(\"y\"),o=r(\"z\");return i&&a&&o&&(n=Math.min(i.length,a.length,o.length),n<i.length&&(e.x=i.slice(0,n)),n<a.length&&(e.y=a.slice(0,n)),n<o.length&&(e.z=o.slice(0,n))),n}var i=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),u=t(\"../../components/errorbars/defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,h){function f(r,n){return i.coerce(t,e,c,r,n)}var d=n(t,e,f);if(!d)return void(e.visible=!1);f(\"text\"),f(\"mode\"),a.hasLines(e)&&(f(\"connectgaps\"),s(t,e,r,h,f)),a.hasMarkers(e)&&o(t,e,r,h,f),a.hasText(e)&&l(t,e,h,f);var p=(e.line||{}).color,g=(e.marker||{}).color;f(\"surfaceaxis\")>=0&&f(\"surfacecolor\",p||g);for(var m=[\"x\",\"y\",\"z\"],v=0;v<3;++v){var y=\"projection.\"+m[v];f(y+\".show\")&&(f(y+\".opacity\"),f(y+\".scale\"))}u(t,e,r,{axis:\"z\"}),u(t,e,r,{axis:\"y\",inherit:\"z\"}),u(t,e,r,{axis:\"x\",inherit:\"z\"})}},{\"../../components/errorbars/defaults\":561,\"../../lib\":633,\"../scatter/line_defaults\":857,\"../scatter/marker_defaults\":862,\"../scatter/subtypes\":866,\"../scatter/text_defaults\":867,\"./attributes\":869}],874:[function(t,e,r){\"use strict\";var n={};n.plot=t(\"./convert\"),n.attributes=t(\"./attributes\"),n.markerSymbols=t(\"../../constants/gl_markers\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"./calc\"),n.moduleType=\"trace\",n.name=\"scatter3d\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\",\"symbols\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../constants/gl_markers\":615,\"../../plots/gl3d\":703,\"../scatter/colorbar\":849,\"./attributes\":869,\"./calc\":870,\"./convert\":872,\"./defaults\":873}],875:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/color_attributes\"),o=t(\"../../lib/extend\").extendFlat,s=n.marker,l=n.line,u=s.line;e.exports={lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\"],dflt:\"ISO-3\"},mode:o({},n.mode,{dflt:\"markers\"}),text:o({},n.text,{}),textfont:n.textfont,textposition:n.textposition,line:{color:l.color,width:l.width,dash:l.dash},connectgaps:n.connectgaps,marker:o({},{symbol:s.symbol,opacity:s.opacity,size:s.size,sizeref:s.sizeref,sizemin:s.sizemin,sizemode:s.sizemode,showscale:s.showscale,colorbar:s.colorbar,line:o({},{width:u.width},a(\"marker.line\"))},a(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:n.fillcolor,hoverinfo:o({},i.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]})}},{\"../../components/colorscale/color_attributes\":540,\"../../lib/extend\":626,\"../../plots/attributes\":662,\"../scatter/attributes\":846}],876:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\");e.exports=function(t,e){for(var r=Array.isArray(e.locations),a=r?e.locations.length:e.lon.length,o=[],s=0,l=0;l<a;l++){var u,c={};if(r){var h=e.locations[l];c.loc=h,u=\"string\"!=typeof h}else{var f=e.lon[l],d=e.lat[l];c.lonlat=[+f,+d],u=!n(f)||!n(d)}u?s>0&&(o[s-1].gapAfter=!0):(s++,o.push(c))}return i(e),o}},{\"../scatter/colorscale_calc\":850,\"fast-isnumeric\":104}],877:[function(t,e,r){\"use strict\";function n(t,e,r){var n,i,a=0,o=r(\"locations\");return o?(r(\"locationmode\"),a=o.length):(n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length),a<n.length&&(e.lon=n.slice(0,a)),a<i.length&&(e.lat=i.slice(0,a)),a)}var i=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,h){function f(r,n){return i.coerce(t,e,c,r,n)}var d=n(t,e,f);return d?(f(\"text\"),f(\"mode\"),a.hasLines(e)&&(s(t,e,r,h,f),f(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,h,f),a.hasText(e)&&l(t,e,h,f),f(\"fill\"),\"none\"!==e.fill&&u(t,e,r,f),void f(\"hoverinfo\",1===h._dataLength?\"lon+lat+location+text\":void 0)):void(e.visible=!1)}},{\"../../lib\":633,\"../scatter/fillcolor_defaults\":853,\"../scatter/line_defaults\":857,\"../scatter/marker_defaults\":862,\"../scatter/subtypes\":866,\"../scatter/text_defaults\":867,\"./attributes\":875}],878:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.lon?e.lon:null,t}},{}],879:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t){return a.tickText(r,r.c2l(t),\"hover\").text+\"\\xb0\"}var i=t.hoverinfo,o=\"all\"===i?s.hoverinfo.flags:i.split(\"+\"),l=o.indexOf(\"location\")!==-1&&Array.isArray(t.locations),u=o.indexOf(\"lon\")!==-1,c=o.indexOf(\"lat\")!==-1,h=o.indexOf(\"text\")!==-1,f=[];return l?f.push(e.loc):u&&c?f.push(\"(\"+n(e.lonlat[0])+\", \"+n(e.lonlat[1])+\")\"):u?f.push(\"lon: \"+n(e.lonlat[0])):c&&f.push(\"lat: \"+n(e.lonlat[1])),h&&f.push(e.tx||t.text),f.join(\"<br>\")}var i=t(\"../../plots/cartesian/graph_interact\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../scatter/get_trace_color\"),s=t(\"./attributes\");e.exports=function(t){function e(t){return c.projection(t)}function r(t){var r=t.lonlat;if(null===r[0]||null===r[1])return 1/0;if(c.isLonLatOverEdges(r))return 1/0;var n=e(r),i=l.c2p(),a=u.c2p(),o=Math.abs(i-n[0]),s=Math.abs(a-n[1]),h=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(o*o+s*s)-h,1-3/h)}var a=t.cd,s=a[0].trace,l=t.xa,u=t.ya,c=t.subplot;if(!a[0].placeholder&&(i.getClosest(a,r,t),t.index!==!1)){var h=a[t.index],f=h.lonlat,d=e(f),p=h.mrc||1;return t.x0=d[0]-p,t.x1=d[0]+p,t.y0=d[1]-p,t.y1=d[1]+p,t.loc=h.loc,t.lat=f[0],t.lon=f[1],t.color=o(s,h),t.extraText=n(s,h,c.mockAxis),[t]}}},{\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/graph_interact\":671,\"../scatter/get_trace_color\":854,\"./attributes\":875}],880:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"scattergeo\",n.basePlotModule=t(\"../../plots/geo\"),n.categories=[\"geo\",\"symbols\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/geo\":688,\"../scatter/colorbar\":849,\"./attributes\":875,\"./calc\":876,\"./defaults\":877,\"./event_data\":878,\"./hover\":879,\"./plot\":881}],881:[function(t,e,r){\"use strict\";function n(t,e){if(!Array.isArray(t.locations))return u.identity;var r=c(t,e),n=t.locationmode;return function(t){var e=h(n,t.loc,r);return e?(t.lonlat=e.properties.ct,t):(t.lonlat=[null,null],!1)}}function i(t,e,r){function n(t,n){d(t,e,n,r)}var i=t.marker;if(n(t.text,\"tx\"),n(t.textposition,\"tp\"),t.textfont&&(n(t.textfont.size,\"ts\"),n(t.textfont.color,\"tc\"),n(t.textfont.family,\"tf\")),i&&i.line){var a=i.line;n(i.opacity,\"mo\"),n(i.symbol,\"mx\"),n(i.color,\"mc\"),n(i.size,\"ms\"),n(a.color,\"mlc\"),n(a.width,\"mlw\")}}function a(t){var e=t.framework.selectAll(\"g.trace.scattergeo\");e.style(\"opacity\",function(t){return t[0].trace.opacity}),e.each(function(t){var e=t[0].trace,r=o.select(this);r.selectAll(\"path.point\").call(s.pointStyle,e),r.selectAll(\"text\").call(s.textPointStyle,e)}),e.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(t){var e=o.select(this),r=t.trace,n=r.line||{};e.call(l.stroke,n.color).call(s.dashLine,n.dash||\"\",n.width||0),\"none\"!==r.fill&&e.call(l.fill,r.fillcolor)})}var o=t(\"d3\"),s=t(\"../../components/drawing\"),l=t(\"../../components/color\"),u=t(\"../../lib\"),c=t(\"../../lib/topojson_utils\").getTopojsonFeatures,h=t(\"../../lib/geo_location_utils\").locationToFeature,f=t(\"../../lib/geojson_utils\"),d=t(\"../../lib/array_to_calc_item\"),p=t(\"../scatter/subtypes\");e.exports=function(t,e){function r(t){return t[0].trace.uid}var s=t.framework.select(\".scattergeolayer\").selectAll(\"g.trace.scattergeo\").data(e,r);s.enter().append(\"g\").attr(\"class\",\"trace scattergeo\"),s.exit().remove(),s.selectAll(\"*\").remove(),s.each(function(e){var r=o.select(this),a=e[0].trace,s=n(a,t.topojson);e[0].placeholder&&r.remove();for(var l=[],u=0;u<e.length;u++){var c=s(e[u]);c&&(i(a,e[u],u),l.push(c))}if(p.hasLines(a)||\"none\"!==a.fill){var h=f.calcTraceToLineCoords(l),d=\"none\"!==a.fill?f.makePolygon(h,a):f.makeLine(h,a);r.selectAll(\"path.js-line\").data([d]).enter().append(\"path\").classed(\"js-line\",!0)}p.hasMarkers(a)&&r.selectAll(\"path.point\").data(l).enter().append(\"path\").classed(\"point\",!0),p.hasText(a)&&r.selectAll(\"g\").data(l).enter().append(\"g\").append(\"text\")}),a(t)}},{\"../../components/color\":533,\"../../components/drawing\":556,\"../../lib\":633,\"../../lib/array_to_calc_item\":621,\"../../lib/geo_location_utils\":629,\"../../lib/geojson_utils\":630,\"../../lib/topojson_utils\":648,\"../scatter/subtypes\":866,d3:95}],882:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/color_attributes\"),a=t(\"../../constants/gl2d_dashes\"),o=t(\"../../constants/gl_markers\"),s=t(\"../../lib/extend\").extendFlat,l=t(\"../../lib/extend\").extendDeep,u=n.line,c=n.marker,h=c.line;e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:s({},n.text,{}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\"],extras:[\"none\"]},line:{color:u.color,width:u.width,dash:{valType:\"enumerated\",values:Object.keys(a),dflt:\"solid\"}},marker:l({},i(\"marker\"),{symbol:{valType:\"enumerated\",values:Object.keys(o),dflt:\"circle\",arrayOk:!0},size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,showscale:c.showscale,colorbar:c.colorbar,line:l({},i(\"marker.line\"),{width:h.width})}),connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\"none\",\"tozeroy\",\"tozerox\"]}),fillcolor:n.fillcolor,error_y:n.error_y,error_x:n.error_x}},{\"../../components/colorscale/color_attributes\":540,\"../../constants/gl2d_dashes\":613,\"../../constants/gl_markers\":615,\"../../lib/extend\":626,\"../scatter/attributes\":846}],883:[function(t,e,r){\"use strict\";function n(t,e){this.scene=t,this.uid=e,this.type=\"scattergl\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.connectgaps=!0,this.idToIndex=[],this.bounds=[0,0,0,0],this.hasLines=!1,this.lineOptions={positions:new Float64Array(0),color:[0,0,0,1],width:1,fill:[!1,!1,!1,!1],fillColor:[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],dashes:[1]},this.line=d(t.glplot,this.lineOptions),this.line._trace=this,this.hasErrorX=!1,this.errorXOptions={positions:new Float64Array(0),errors:new Float64Array(0),lineWidth:1,capSize:0,color:[0,0,0,1]},this.errorX=p(t.glplot,this.errorXOptions),this.errorX._trace=this,this.hasErrorY=!1,this.errorYOptions={positions:new Float64Array(0),errors:new Float64Array(0),lineWidth:1,capSize:0,color:[0,0,0,1]},this.errorY=p(t.glplot,this.errorYOptions),this.errorY._trace=this,this.hasMarkers=!1,this.scatterOptions={positions:new Float64Array(0),sizes:[],colors:[],glyphs:[],borderWidths:[],borderColors:[],size:12,color:[0,0,0,1],borderSize:1,borderColor:[0,0,0,1]},this.scatter=h(t.glplot,this.scatterOptions),this.scatter._trace=this,this.fancyScatter=f(t.glplot,this.scatterOptions),this.fancyScatter._trace=this}function i(t,e,r){return Array.isArray(e)||(e=[e]),a(t,e,r)}function a(t,e,r){for(var n=new Array(r),i=e[0],a=0;a<r;++a)n[a]=t(a>=e.length?i:e[a]);return n}function o(t,e,r){return l(C(t,r),z(e,r),r)}function s(t,e,r,n){var i=w(t,e,n);return i=Array.isArray(i[0])?i:a(m.identity,[i],n),l(i,z(r,n),n)}function l(t,e,r){for(var n=new Array(4*r),i=0;i<r;++i){for(var a=0;a<3;++a)n[4*i+a]=t[i][a];n[4*i+3]=t[i][3]*e[i]}return n}function u(t){for(var e,r=t.length,n=Math.max(1,(r-1)/Math.min(Math.max(r,1),1e3)),i=0;i<r;i+=n)if(e=t[Math.floor(i)],!(g(e)||e instanceof Date))return!1;return!0}function c(t,e){var r=new n(t,e.uid);return r.update(e),r}var h=t(\"gl-scatter2d\"),f=t(\"gl-scatter2d-fancy\"),d=t(\"gl-line2d\"),p=t(\"gl-error2d\"),g=t(\"fast-isnumeric\"),m=t(\"../../lib\"),v=t(\"../../plots/cartesian/axes\"),y=t(\"../../plots/cartesian/axis_autotype\"),x=t(\"../../components/errorbars\"),b=t(\"../../lib/str2rgbarray\"),_=t(\"../../lib/typed_array_truncate\"),w=t(\"../../lib/gl_format_color\"),M=t(\"../scatter/subtypes\"),A=t(\"../scatter/make_bubble_size_func\"),k=t(\"../scatter/get_trace_color\"),T=t(\"../../constants/gl_markers\"),E=t(\"../../constants/gl2d_dashes\"),S=[\"xaxis\",\"yaxis\"],L=n.prototype;L.handlePick=function(t){var e=t.pointId;(t.object!==this.line||this.connectgaps)&&(e=this.idToIndex[t.pointId]);var r=this.pickXData[e];return{trace:this,dataCoord:t.dataCoord,traceCoord:[g(r)||!m.isDateTime(r)?r:m.dateTime2ms(r),this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:Array.isArray(this.color)?this.color[e]:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},L.isFancy=function(t){if(\"linear\"!==this.scene.xaxis.type&&\"date\"!==this.scene.xaxis.type)return!0;if(\"linear\"!==this.scene.yaxis.type)return!0;if(!t.x||!t.y)return!0;if(this.hasMarkers){var e=t.marker||{};if(Array.isArray(e.symbol)||\"circle\"!==e.symbol||Array.isArray(e.size)||Array.isArray(e.color)||Array.isArray(e.line.width)||Array.isArray(e.line.color)||Array.isArray(e.opacity))return!0}return!(!this.hasLines||this.connectgaps)||(!!this.hasErrorX||!!this.hasErrorY)};var z=i.bind(null,function(t){return+t}),C=i.bind(null,b),I=i.bind(null,function(t){return T[t]||\"\\u25cf\"});L.update=function(t){t.visible!==!0?(this.hasLines=!1,this.hasErrorX=!1,this.hasErrorY=!1,this.hasMarkers=!1):(this.hasLines=M.hasLines(t),this.hasErrorX=t.error_x.visible===!0,this.hasErrorY=t.error_y.visible===!0,this.hasMarkers=M.hasMarkers(t)),this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.connectgaps=!!t.connectgaps,this.isFancy(t)?this.updateFancy(t):this.updateFast(t),this.color=k(t,{})},L.updateFast=function(t){var e,r,n=this.xData=this.pickXData=t.x,i=this.yData=this.pickYData=t.y,a=n.length,o=new Array(a),s=new Float64Array(2*a),l=this.bounds,c=0,h=0,f=u(n),d=!f&&\"date\"===y(n);if(f||d)for(var p=0;p<a;++p)e=n[p],r=i[p],g(r)&&(f||(e=m.dateTime2ms(e)),o[c++]=p,s[h++]=e,s[h++]=r,l[0]=Math.min(l[0],e),l[1]=Math.min(l[1],r),l[2]=Math.max(l[2],e),l[3]=Math.max(l[3],r));s=_(s,h),this.idToIndex=o,this.updateLines(t,s),this.updateError(\"X\",t),this.updateError(\"Y\",t);var v;if(this.hasMarkers){this.scatterOptions.positions=s;var x=b(t.marker.color),w=b(t.marker.line.color),M=t.opacity*t.marker.opacity;x[3]*=M,this.scatterOptions.color=x,w[3]*=M,this.scatterOptions.borderColor=w,v=t.marker.size,this.scatterOptions.size=v,this.scatterOptions.borderSize=t.marker.line.width,this.scatter.update(this.scatterOptions)}else this.scatterOptions.positions=new Float64Array(0),this.scatterOptions.glyphs=[],this.scatter.update(this.scatterOptions);this.scatterOptions.positions=new Float64Array(0),this.scatterOptions.glyphs=[],this.fancyScatter.update(this.scatterOptions),this.expandAxesFast(l,v)},L.updateFancy=function(t){var e=this.scene,r=e.xaxis,n=e.yaxis,a=this.bounds,o=this.pickXData=r.makeCalcdata(t,\"x\").slice(),l=this.pickYData=n.makeCalcdata(t,\"y\").slice();this.xData=o.slice(),this.yData=l.slice();var u,c,h,f,d,p,g,m,v=x.calcFromTrace(t,e.fullLayout),y=o.length,b=new Array(y),w=new Float64Array(2*y),M=new Float64Array(4*y),k=new Float64Array(4*y),T=0,E=0,S=0,L=0,C=\"log\"===r.type?function(t){return r.d2l(t)}:function(t){return t},P=\"log\"===n.type?function(t){return n.d2l(t)}:function(t){return t};for(u=0;u<y;++u)this.xData[u]=h=C(o[u]),this.yData[u]=f=P(l[u]),isNaN(h)||isNaN(f)||(b[T++]=u,w[E++]=h,w[E++]=f,d=M[S++]=h-v[u].xs||0,p=M[S++]=v[u].xh-h||0,M[S++]=0,M[S++]=0,k[L++]=0,k[L++]=0,g=k[L++]=f-v[u].ys||0,m=k[L++]=v[u].yh-f||0,a[0]=Math.min(a[0],h-d),a[1]=Math.min(a[1],f-g),a[2]=Math.max(a[2],h+p),a[3]=Math.max(a[3],f+m));w=_(w,E),this.idToIndex=b,this.updateLines(t,w),this.updateError(\"X\",t,w,M),this.updateError(\"Y\",t,w,k);var D;if(this.hasMarkers){this.scatterOptions.positions=w,this.scatterOptions.sizes=new Array(T),this.scatterOptions.glyphs=new Array(T),this.scatterOptions.borderWidths=new Array(T),this.scatterOptions.colors=new Array(4*T),this.scatterOptions.borderColors=new Array(4*T);var O,R=A(t),F=t.marker,j=F.opacity,N=t.opacity,B=s(F,j,N,y),U=I(F.symbol,y),V=z(F.line.width,y),q=s(F.line,j,N,y);for(D=i(R,F.size,y),u=0;u<T;++u)for(O=b[u],this.scatterOptions.sizes[u]=4*D[O],this.scatterOptions.glyphs[u]=U[O],this.scatterOptions.borderWidths[u]=.5*V[O],c=0;c<4;++c)this.scatterOptions.colors[4*u+c]=B[4*O+c],this.scatterOptions.borderColors[4*u+c]=q[4*O+c];this.fancyScatter.update(this.scatterOptions)}else this.scatterOptions.positions=new Float64Array(0),this.scatterOptions.glyphs=[],this.fancyScatter.update(this.scatterOptions);this.scatterOptions.positions=new Float64Array(0),this.scatterOptions.glyphs=[],this.scatter.update(this.scatterOptions),this.expandAxesFancy(o,l,D)},L.updateLines=function(t,e){var r;if(this.hasLines){var n=e;if(!t.connectgaps){var i=0,a=this.xData,s=this.yData;for(n=new Float64Array(2*a.length),r=0;r<a.length;++r)n[i++]=a[r],n[i++]=s[r]}this.lineOptions.positions=n;var l=o(t.line.color,t.opacity,1),u=Math.round(.5*this.lineOptions.width),c=(E[t.line.dash]||[1]).slice();for(r=0;r<c.length;++r)c[r]*=u;switch(t.fill){case\"tozeroy\":this.lineOptions.fill=[!1,!0,!1,!1];break;case\"tozerox\":this.lineOptions.fill=[!0,!1,!1,!1];break;default:this.lineOptions.fill=[!1,!1,!1,!1]}var h=b(t.fillcolor);this.lineOptions.color=l,this.lineOptions.width=2*t.line.width,this.lineOptions.dashes=c,this.lineOptions.fillColor=[h,h,h,h]}else this.lineOptions.positions=new Float64Array(0);this.line.update(this.lineOptions)},L.updateError=function(t,e,r,n){var i=this[\"error\"+t],a=e[\"error_\"+t.toLowerCase()],s=this[\"error\"+t+\"Options\"];\"x\"===t.toLowerCase()&&a.copy_ystyle&&(a=e.error_y),this[\"hasError\"+t]?(s.positions=r,s.errors=n,s.capSize=a.width,s.lineWidth=a.thickness/2,s.color=o(a.color,1,1)):s.positions=new Float64Array(0),i.update(s)},L.expandAxesFast=function(t,e){for(var r,n,i,a=e||10,o=0;o<2;o++)r=this.scene[S[o]],n=r._min,n||(n=[]),n.push({val:t[o],pad:a}),i=r._max,i||(i=[]),i.push({val:t[o+2],pad:a})},L.expandAxesFancy=function(t,e,r){var n=this.scene,i={padded:!0,ppad:r};v.expand(n.xaxis,t,i),v.expand(n.yaxis,e,i)},L.dispose=function(){this.line.dispose(),this.errorX.dispose(),this.errorY.dispose(),this.scatter.dispose(),this.fancyScatter.dispose()},e.exports=c},{\"../../components/errorbars\":562,\"../../constants/gl2d_dashes\":613,\"../../constants/gl_markers\":615,\"../../lib\":633,\"../../lib/gl_format_color\":631,\"../../lib/str2rgbarray\":646,\"../../lib/typed_array_truncate\":649,\"../../plots/cartesian/axes\":664,\"../../plots/cartesian/axis_autotype\":665,\"../scatter/get_trace_color\":854,\"../scatter/make_bubble_size_func\":861,\"../scatter/subtypes\":866,\"fast-isnumeric\":104,\"gl-error2d\":131,\"gl-line2d\":138,\"gl-scatter2d\":213,\"gl-scatter2d-fancy\":208}],884:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/xy_defaults\"),s=t(\"../scatter/marker_defaults\"),l=t(\"../scatter/line_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),c=t(\"../../components/errorbars/defaults\"),h=t(\"./attributes\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}var p=o(t,e,d);return p?(d(\"text\"),d(\"mode\",p<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(d(\"connectgaps\"),l(t,e,r,f,d)),a.hasMarkers(e)&&s(t,e,r,f,d),d(\"fill\"),\"none\"!==e.fill&&u(t,e,r,d),c(t,e,r,{axis:\"y\"}),void c(t,e,r,{axis:\"x\",inherit:\"y\"})):void(e.visible=!1)}},{\"../../components/errorbars/defaults\":561,\"../../lib\":633,\"../scatter/constants\":851,\"../scatter/fillcolor_defaults\":853,\"../scatter/line_defaults\":857,\"../scatter/marker_defaults\":862,\"../scatter/subtypes\":866,\"../scatter/xy_defaults\":868,\"./attributes\":882}],885:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"../scatter3d/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"scattergl\",n.basePlotModule=t(\"../../plots/gl2d\"),n.categories=[\"gl2d\",\"symbols\",\"errorBarsOK\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":700,\"../scatter/colorbar\":849,\"../scatter3d/calc\":870,\"./attributes\":882,\"./convert\":883,\"./defaults\":884}],886:[function(t,e,r){\"use strict\";var n=t(\"../scattergeo/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../plots/mapbox/layout_attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/colorbar/attributes\"),l=t(\"../../lib/extend\").extendFlat,u=n.line,c=n.marker;e.exports={lon:n.lon,lat:n.lat,mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],dflt:\"markers\",extras:[\"none\"]},text:l({},i.text,{}),line:{color:u.color,width:u.width,dash:u.dash},connectgaps:i.connectgaps,marker:{symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},opacity:l({},c.opacity,{arrayOk:!1}),size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,color:c.color,colorscale:c.colorscale,cauto:c.cauto,cmax:c.cmax,cmin:c.cmin,autocolorscale:c.autocolorscale,reversescale:c.reversescale,showscale:c.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,hoverinfo:l({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]})}},{\"../../components/colorbar/attributes\":534,\"../../lib/extend\":626,\"../../plots/attributes\":662,\"../../plots/mapbox/layout_attributes\":720,\"../scatter/attributes\":846,\"../scattergeo/attributes\":875}],887:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale\"),o=t(\"../scatter/subtypes\"),s=t(\"../scatter/colorscale_calc\"),l=t(\"../scatter/make_bubble_size_func\");e.exports=function(t,e){var r=e.lon.length,u=e.marker,c=o.hasMarkers(e),h=c&&Array.isArray(u.color),f=c&&Array.isArray(u.size),d=c&&Array.isArray(u.symbol),p=Array.isArray(e.text);s(e);for(var g=a.hasColorscale(e,\"marker\")?a.makeColorScaleFunc(a.extractScale(u.colorscale,u.cmin,u.cmax)):i.identity,m=o.isBubble(e)?l(e):i.identity,v=[],y=0,x=0;x<r;x++){var b=e.lon[x],_=e.lat[x];if(n(b)&&n(_)){var w={};if(y++,w.lonlat=[+b,+_],c){if(h){var M=u.color[x];w.mc=M,w.mcc=g(M)}if(f){var A=u.size[x];w.ms=A,w.mrc=m(A)}if(d){var k=u.symbol[x];w.mx=\"string\"==typeof k?k:\"circle\"}}if(p){var T=e.text[x];w.tx=\"string\"==typeof T?T:\"\"}v.push(w)}else y>0&&(v[y-1].gapAfter=!0)}return v}},{\"../../components/colorscale\":547,\"../../lib\":633,\"../scatter/colorscale_calc\":850,\"../scatter/make_bubble_size_func\":861,\"../scatter/subtypes\":866,\"fast-isnumeric\":104}],888:[function(t,e,r){\"use strict\";function n(){return{geojson:h.makeBlank(),layout:{visibility:\"none\"},paint:{}}}function i(t,e){function r(t,r,n,i){void 0===e[r][n]&&(e[r][n]=i),t[r]=e[r][n]}for(var n=t[0].trace,i=n.marker,a=Array.isArray(i.color),o=Array.isArray(i.size),s=[],l=0;l<t.length;l++){var u=t[l],c={};a&&r(c,p,u.mcc,l),o&&r(c,g,u.mrc,l),s.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:u.lonlat},properties:c})}return{type:\"FeatureCollection\",features:s}}function a(t){for(var e=t[0].trace,r=e.marker||{},n=r.symbol,i=e.text,a=\"circle\"!==n?l(n):u,o=f.hasText(e)?l(i):u,s=[],c=0;c<t.length;c++){var h=t[c];s.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:a(h.mx),text:o(h.tx)}})}return{type:\"FeatureCollection\",features:s}}function o(t,e){var r,n=t.marker;if(Array.isArray(n.color)){for(var i=Object.keys(e[p]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[p][s],s])}r={property:p,stops:a}}else r=n.color;return r}function s(t,e){var r,n=t.marker;if(Array.isArray(n.size)){for(var i=Object.keys(e[g]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[g][s],+s])}a.sort(function(t,e){return t[0]-e[0]}),r={property:g,stops:a}}else r=n.size/2;return r}function l(t){return Array.isArray(t)?function(t){return t}:t?function(){return t}:u}function u(){return\"\"}var c=t(\"../../lib\"),h=t(\"../../lib/geojson_utils\"),f=t(\"../scatter/subtypes\"),d=t(\"../../plots/mapbox/convert_text_opts\"),p=\"circle-color\",g=\"circle-radius\";e.exports=function(t){var e=t[0].trace,r=e.visible===!0,l=\"none\"!==e.fill,u=f.hasLines(e),m=f.hasMarkers(e),v=f.hasText(e),y=m&&\"circle\"===e.marker.symbol,x=m&&\"circle\"!==e.marker.symbol,b=n(),_=n(),w=n(),M=n(),A={fill:b,line:_,circle:w,symbol:M};if(!r||t[0].placeholder)return A;var k;if((l||u)&&(k=h.calcTraceToLineCoords(t)),l&&(b.geojson=h.makePolygon(k),b.layout.visibility=\"visible\",c.extendFlat(b.paint,{\"fill-color\":e.fillcolor})),u&&(_.geojson=h.makeLine(k),_.layout.visibility=\"visible\",c.extendFlat(_.paint,{\"line-width\":e.line.width,\"line-color\":e.line.color,\"line-opacity\":e.opacity})),y){var T={};T[p]={},T[g]={},w.geojson=i(t,T),w.layout.visibility=\"visible\",c.extendFlat(w.paint,{\"circle-opacity\":e.opacity*e.marker.opacity,\"circle-color\":o(e,T),\"circle-radius\":s(e,T)})}if((x||v)&&(M.geojson=a(t),c.extendFlat(M.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),x&&(c.extendFlat(M.layout,{\"icon-size\":e.marker.size/10}),c.extendFlat(M.paint,{\"icon-opacity\":e.opacity*e.marker.opacity,\"icon-color\":e.marker.color})),v)){var E=(e.marker||{}).size,S=d(e.textposition,E);c.extendFlat(M.layout,{\"text-size\":e.textfont.size,\"text-anchor\":S.anchor,\"text-offset\":S.offset}),c.extendFlat(M.paint,{\"text-color\":e.textfont.color,\"text-opacity\":e.opacity})}return A}},{\"../../lib\":633,\"../../lib/geojson_utils\":630,\"../../plots/mapbox/convert_text_opts\":717,\"../scatter/subtypes\":866}],889:[function(t,e,r){\"use strict\";function n(t,e,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return a<n.length&&(e.lon=n.slice(0,a)),a<i.length&&(e.lat=i.slice(0,a)),a}var i=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\"),h=t(\"../scatter/attributes\");e.exports=function(t,e,r,f){function d(r,n){return i.coerce(t,e,c,r,n)}function p(r,n){var a=r.indexOf(\".line\")===-1?c:h;return i.coerce(t,e,a,r,n)}var g=n(t,e,d);if(!g)return void(e.visible=!1);if(d(\"text\"),d(\"mode\"),a.hasLines(e)&&(s(t,e,r,f,d),d(\"connectgaps\")),a.hasMarkers(e)){o(t,e,r,f,p);var m=e.marker;\"circle\"!==m.symbol&&(Array.isArray(m.size)&&(m.size=m.size[0]),Array.isArray(m.color)&&(m.color=m.color[0]))}a.hasText(e)&&l(t,e,f,d),d(\"fill\"),\"none\"!==e.fill&&u(t,e,r,d),d(\"hoverinfo\",1===f._dataLength?\"lon+lat+text\":void 0)}},{\"../../lib\":633,\"../scatter/attributes\":846,\"../scatter/fillcolor_defaults\":853,\"../scatter/line_defaults\":857,\"../scatter/marker_defaults\":862,\"../scatter/subtypes\":866,\"../scatter/text_defaults\":867,\"./attributes\":886}],890:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],891:[function(t,e,r){\"use strict\";function n(t,e){function r(t){return t+\"\\xb0\"}var n=t.hoverinfo.split(\"+\"),i=n.indexOf(\"all\")!==-1,a=n.indexOf(\"lon\")!==-1,o=n.indexOf(\"lat\")!==-1,s=e.lonlat,l=[];return i||a&&o?l.push(\"(\"+r(s[0])+\", \"+r(s[1])+\")\"):a?l.push(\"lon: \"+r(s[0])):o&&l.push(\"lat: \"+r(s[1])),(i||n.indexOf(\"text\")!==-1)&&l.push(e.tx||t.text),l.join(\"<br>\")}var i=t(\"../../plots/cartesian/graph_interact\"),a=t(\"../scatter/get_trace_color\");e.exports=function(t,e,r){function o(t){var e=t.lonlat,n=Math.abs(u.c2p(e)-u.c2p([d,e[1]])),i=Math.abs(c.c2p(e)-c.c2p([e[0],r])),a=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(n*n+i*i)-a,1-3/a)}var s=t.cd,l=s[0].trace,u=t.xa,c=t.ya;if(!s[0].placeholder){var h=e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360),f=360*h,d=e-f;if(i.getClosest(s,o,t),t.index!==!1){var p=s[t.index],g=p.lonlat,m=[g[0]+f,g[1]],v=u.c2p(m),y=c.c2p(m),x=p.mrc||1;return t.x0=v-x,t.x1=v+x,t.y0=y-x,t.y1=y+x,t.color=a(l,p),t.extraText=n(l,p),[t]}}}},{\"../../plots/cartesian/graph_interact\":671,\"../scatter/get_trace_color\":854}],892:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"./calc\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.plot=t(\"./plot\"),n.moduleType=\"trace\",n.name=\"scattermapbox\",n.basePlotModule=t(\"../../plots/mapbox\"),n.categories=[\"mapbox\",\"gl\",\"symbols\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/mapbox\":718,\"../scatter/colorbar\":849,\"./attributes\":886,\"./calc\":887,\"./defaults\":889,\"./event_data\":890,\"./hover\":891,\"./plot\":893}],893:[function(t,e,r){\"use strict\";function n(t,e){this.mapbox=t,this.map=t.map,this.uid=e,this.idSourceFill=e+\"-source-fill\",this.idSourceLine=e+\"-source-line\",this.idSourceCircle=e+\"-source-circle\",this.idSourceSymbol=e+\"-source-symbol\",this.idLayerFill=e+\"-layer-fill\",this.idLayerLine=e+\"-layer-line\",this.idLayerCircle=e+\"-layer-circle\",this.idLayerSymbol=e+\"-layer-symbol\",this.mapbox.initSource(this.idSourceFill),this.mapbox.initSource(this.idSourceLine),this.mapbox.initSource(this.idSourceCircle),this.mapbox.initSource(this.idSourceSymbol),this.map.addLayer({id:this.idLayerFill,source:this.idSourceFill,type:\"fill\"}),this.map.addLayer({id:this.idLayerLine,source:this.idSourceLine,type:\"line\"}),this.map.addLayer({id:this.idLayerCircle,source:this.idSourceCircle,type:\"circle\"}),this.map.addLayer({id:this.idLayerSymbol,source:this.idSourceSymbol,type:\"symbol\"})}function i(t){return\"visible\"===t.layout.visibility}var a=t(\"./convert\"),o=n.prototype;o.update=function(t){var e=this.mapbox,r=a(t);e.setOptions(this.idLayerFill,\"setLayoutProperty\",r.fill.layout),\ne.setOptions(this.idLayerLine,\"setLayoutProperty\",r.line.layout),e.setOptions(this.idLayerCircle,\"setLayoutProperty\",r.circle.layout),e.setOptions(this.idLayerSymbol,\"setLayoutProperty\",r.symbol.layout),i(r.fill)&&(e.setSourceData(this.idSourceFill,r.fill.geojson),e.setOptions(this.idLayerFill,\"setPaintProperty\",r.fill.paint)),i(r.line)&&(e.setSourceData(this.idSourceLine,r.line.geojson),e.setOptions(this.idLayerLine,\"setPaintProperty\",r.line.paint)),i(r.circle)&&(e.setSourceData(this.idSourceCircle,r.circle.geojson),e.setOptions(this.idLayerCircle,\"setPaintProperty\",r.circle.paint)),i(r.symbol)&&(e.setSourceData(this.idSourceSymbol,r.symbol.geojson),e.setOptions(this.idLayerSymbol,\"setPaintProperty\",r.symbol.paint))},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayerFill),t.removeLayer(this.idLayerLine),t.removeLayer(this.idLayerCircle),t.removeLayer(this.idLayerSymbol),t.removeSource(this.idSourceFill),t.removeSource(this.idSourceLine),t.removeSource(this.idSourceCircle),t.removeSource(this.idSourceSymbol)},e.exports=function(t,e){var r=e[0].trace,i=new n(t,r.uid);return i.update(e),i}},{\"./convert\":888}],894:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/color_attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker,u=n.line,c=l.line;e.exports={a:{valType:\"data_array\"},b:{valType:\"data_array\"},c:{valType:\"data_array\"},sum:{valType:\"number\",dflt:0,min:0},mode:s({},n.mode,{dflt:\"markers\"}),text:s({},n.text,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:s({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\"none\",\"toself\",\"tonext\"]}),fillcolor:n.fillcolor,marker:s({},{symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({},{width:c.width},a(\"marker\".line))},a(\"marker\"),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,hoverinfo:s({},i.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:n.hoveron}},{\"../../components/colorbar/attributes\":534,\"../../components/colorscale/color_attributes\":540,\"../../lib/extend\":626,\"../../plots/attributes\":662,\"../scatter/attributes\":846}],895:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"../scatter/subtypes\"),s=t(\"../scatter/colorscale_calc\"),l=[\"a\",\"b\",\"c\"],u={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};e.exports=function(t,e){var r,c,h,f,d,p,g=t._fullLayout[e.subplot],m=g.sum,v=e.sum||m;for(r=0;r<l.length;r++)if(h=l[r],!e[h]){for(d=e[u[h][0]],p=e[u[h][1]],f=new Array(d.length),c=0;c<d.length;c++)f[c]=v-d[c]-p[c];e[h]=f}var y,x,b,_,w,M,A=e.a.length,k=new Array(A);for(r=0;r<A;r++)y=e.a[r],x=e.b[r],b=e.c[r],n(y)&&n(x)&&n(b)?(y=+y,x=+x,b=+b,_=m/(y+x+b),1!==_&&(y*=_,x*=_,b*=_),M=y,w=b-x,k[r]={x:w,y:M,a:y,b:x,c:b}):k[r]={x:!1,y:!1};var T,E;if(o.hasMarkers(e)&&(T=e.marker,E=T.size,Array.isArray(E))){var S={type:\"linear\"};i.setConvert(S),E=S.makeCalcdata(e.marker,\"size\"),E.length>A&&E.splice(A,E.length-A)}return s(e),\"undefined\"!=typeof E&&a.mergeArray(E,k,\"ms\"),k}},{\"../../lib\":633,\"../../plots/cartesian/axes\":664,\"../scatter/colorscale_calc\":850,\"../scatter/subtypes\":866,\"fast-isnumeric\":104}],896:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),u=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),h=t(\"./attributes\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}var p,g=d(\"a\"),m=d(\"b\"),v=d(\"c\");if(g?(p=g.length,m?(p=Math.min(p,m.length),v&&(p=Math.min(p,v.length))):p=v?Math.min(p,v.length):0):m&&v&&(p=Math.min(m.length,v.length)),!p)return void(e.visible=!1);g&&p<g.length&&(e.a=g.slice(0,p)),m&&p<m.length&&(e.b=m.slice(0,p)),v&&p<v.length&&(e.c=v.slice(0,p)),d(\"sum\"),d(\"text\");var y=p<i.PTS_LINESONLY?\"lines+markers\":\"lines\";d(\"mode\",y),a.hasLines(e)&&(s(t,e,r,f,d),l(t,e,d),d(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,f,d),a.hasText(e)&&u(t,e,f,d);var x=[];(a.hasMarkers(e)||a.hasText(e))&&(d(\"marker.maxdisplayed\"),x.push(\"points\")),d(\"fill\"),\"none\"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||l(t,e,d)),d(\"hoverinfo\",1===f._dataLength?\"a+b+c+text\":void 0),\"tonext\"!==e.fill&&\"toself\"!==e.fill||x.push(\"fills\"),d(\"hoveron\",x.join(\"+\")||\"points\")}},{\"../../lib\":633,\"../scatter/constants\":851,\"../scatter/fillcolor_defaults\":853,\"../scatter/line_defaults\":857,\"../scatter/line_shape_defaults\":859,\"../scatter/marker_defaults\":862,\"../scatter/subtypes\":866,\"../scatter/text_defaults\":867,\"./attributes\":894}],897:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\"),i=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r,a){function o(t,e){v.push(t._hovertitle+\": \"+i.tickText(t,e,\"hover\").text)}var s=n(t,e,r,a);if(s&&s[0].index!==!1){var l=s[0];if(void 0===l.index){var u=1-l.y0/t.ya._length,c=t.xa._length,h=c*u/2,f=c-h;return l.x0=Math.max(Math.min(l.x0,f),h),l.x1=Math.max(Math.min(l.x1,f),h),s}var d=l.cd[l.index];l.a=d.a,l.b=d.b,l.c=d.c,l.xLabelVal=void 0,l.yLabelVal=void 0;var p=l.trace,g=p._ternary,m=p.hoverinfo.split(\"+\"),v=[];return m.indexOf(\"all\")!==-1&&(m=[\"a\",\"b\",\"c\"]),m.indexOf(\"a\")!==-1&&o(g.aaxis,d.a),m.indexOf(\"b\")!==-1&&o(g.baxis,d.b),m.indexOf(\"c\")!==-1&&o(g.caxis,d.c),l.extraText=v.join(\"<br>\"),s}}},{\"../../plots/cartesian/axes\":664,\"../scatter/hover\":855}],898:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"scatterternary\",n.basePlotModule=t(\"../../plots/ternary\"),n.categories=[\"ternary\",\"symbols\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/ternary\":732,\"../scatter/colorbar\":849,\"./attributes\":894,\"./calc\":895,\"./defaults\":896,\"./hover\":897,\"./plot\":899,\"./select\":900,\"./style\":901}],899:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\");e.exports=function(t,e){var r=t.plotContainer;r.select(\".scatterlayer\").selectAll(\"*\").remove();for(var i={xaxis:t.xaxis,yaxis:t.yaxis,plot:r},a=new Array(e.length),o=t.graphDiv.calcdata,s=0;s<o.length;s++){var l=e.indexOf(o[s][0].trace);l!==-1&&(a[l]=o[s],e[l]._ternary=t)}n(t.graphDiv,i,a)}},{\"../scatter/plot\":863}],900:[function(t,e,r){\"use strict\";var n=t(\"../scatter/select\");e.exports=function(t,e){var r=n(t,e);if(r){var i,a,o,s=t.cd;for(o=0;o<r.length;o++)i=r[o],a=s[i.pointNumber],i.a=a.a,i.b=a.b,i.c=a.c,delete i.x,delete i.y;return r}}},{\"../scatter/select\":864}],901:[function(t,e,r){\"use strict\";var n=t(\"../scatter/style\");e.exports=function(t){for(var e=t._fullLayout._modules,r=0;r<e.length;r++)if(\"scatter\"===e[r].name)return;n(t)}},{\"../scatter/style\":865}],902:[function(t,e,r){\"use strict\";function n(t){return{valType:\"boolean\",dflt:!1}}function i(t){return{show:{valType:\"boolean\",dflt:!1},project:{x:n(\"x\"),y:n(\"y\"),z:n(\"z\")},color:{valType:\"color\",dflt:a.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:a.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var a=t(\"../../components/color\"),o=t(\"../../components/colorscale/attributes\"),s=t(\"../../components/colorbar/attributes\"),l=t(\"../../lib/extend\").extendFlat;e.exports={z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"data_array\"},surfacecolor:{valType:\"data_array\"},cauto:o.zauto,cmin:o.zmin,cmax:o.zmax,colorscale:o.colorscale,autocolorscale:l({},o.autocolorscale,{dflt:!1}),reversescale:o.reversescale,showscale:o.showscale,colorbar:s,contours:{x:i(\"x\"),y:i(\"y\"),z:i(\"z\")},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},_deprecated:{zauto:l({},o.zauto,{}),zmin:l({},o.zmin,{}),zmax:l({},o.zmax,{})}}},{\"../../components/color\":533,\"../../components/colorbar/attributes\":534,\"../../components/colorscale/attributes\":538,\"../../lib/extend\":626}],903:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,\"\",\"c\"):n(e,e.z,\"\",\"c\")}},{\"../../components/colorscale/calc\":539}],904:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../components/colorscale\"),s=t(\"../../components/colorbar/draw\");e.exports=function(t,e){var r=e[0].trace,l=\"cb\"+r.uid,u=r.cmin,c=r.cmax,h=r.surfacecolor||r.z;if(n(u)||(u=i.aggNums(Math.min,null,h)),n(c)||(c=i.aggNums(Math.max,null,h)),t._fullLayout._infolayer.selectAll(\".\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var f=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});f.fillcolor(d).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\"../../components/colorbar/draw\":536,\"../../components/colorscale\":547,\"../../lib\":633,\"../../plots/plots\":724,\"fast-isnumeric\":104}],905:[function(t,e,r){\"use strict\";function n(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}function i(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=p(t[1]),i=n.toRgb();return{index:r,rgb:[i.r,i.g,i.b,e]}})}function a(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]}function o(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=c(new Float32Array(r[0]*r[1]),r);return d.assign(n.lo(1,1).hi(e[0],e[1]),t),d.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),d.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),d.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),d.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}function s(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<m){for(var r=m/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],i=n[0]*n[1],a=0;a<t.length;++a){var s=o(t[a]),l=c(new Float32Array(i),n);h(l,s,[r,0,0,0,r,0,0,0,1]),t[a]=l}return r}return 1}function l(t,e){var r=t.glplot.gl,i=u({gl:r}),a=new n(t,i,e.uid);return a.update(e),t.glplot.add(i),a}var u=t(\"gl-surface3d\"),c=t(\"ndarray\"),h=t(\"ndarray-homography\"),f=t(\"ndarray-fill\"),d=t(\"ndarray-ops\"),p=t(\"tinycolor2\"),g=t(\"../../lib/str2rgbarray\"),m=128,v=n.prototype;v.handlePick=function(t){if(t.object===this.surface){var e=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];Array.isArray(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]],Array.isArray(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0])*this.scene.dataScale[0],n.yaxis.d2l(r[1])*this.scene.dataScale[1],n.zaxis.d2l(r[2])*this.scene.dataScale[2]];var i=this.data.text;return i&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},v.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},v.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,o=this.surface,l=t.opacity,u=i(t.colorscale,l),h=t.z,d=t.x,p=t.y,m=n.xaxis,v=n.yaxis,y=n.zaxis,x=r.dataScale,b=h[0].length,_=h.length,w=[c(new Float32Array(b*_),[b,_]),c(new Float32Array(b*_),[b,_]),c(new Float32Array(b*_),[b,_])],M=w[0],A=w[1],k=r.contourLevels;this.data=t,f(w[2],function(t,e){return y.d2l(h[e][t])*x[2]}),Array.isArray(d[0])?f(M,function(t,e){return m.d2l(d[e][t])*x[0]}):f(M,function(t){return m.d2l(d[t])*x[0]}),Array.isArray(p[0])?f(A,function(t,e){return v.d2l(p[e][t])*x[1]}):f(A,function(t,e){return v.d2l(p[e])*x[1]});var T={colormap:u,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacity:1};if(T.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var E=c(new Float32Array(b*_),[b,_]);f(E,function(e,r){return t.surfacecolor[r][e]}),w.push(E)}else T.intensityBounds[0]*=x[2],T.intensityBounds[1]*=x[2];this.dataScale=s(w),t.surfacecolor&&(T.intensity=w.pop()),\"opacity\"in t&&t.opacity<1&&(T.opacity=.25*t.opacity);var S=[!0,!0,!0],L=[\"x\",\"y\",\"z\"];for(e=0;e<3;++e){var z=t.contours[L[e]];S[e]=z.highlight,T.showContour[e]=z.show||z.highlight,T.showContour[e]&&(T.contourProject[e]=[z.project.x,z.project.y,z.project.z],z.show?(this.showContour[e]=!0,T.levels[e]=k[e],o.highlightColor[e]=T.contourColor[e]=g(z.color),z.usecolormap?o.highlightTint[e]=T.contourTint[e]=0:o.highlightTint[e]=T.contourTint[e]=1,T.contourWidth[e]=z.width):this.showContour[e]=!1,z.highlight&&(T.dynamicColor[e]=g(z.highlightcolor),T.dynamicWidth[e]=z.highlightwidth))}a(u)&&(T.vertexColor=!0),T.coords=w,o.update(T),o.visible=t.visible,o.enableDynamic=S,o.snapToData=!0,\"lighting\"in t&&(o.ambientLight=t.lighting.ambient,o.diffuseLight=t.lighting.diffuse,o.specularLight=t.lighting.specular,o.roughness=t.lighting.roughness,o.fresnel=t.lighting.fresnel),\"lightposition\"in t&&(o.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),l&&l<1&&(o.supportsTransparency=!0)},v.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=l},{\"../../lib/str2rgbarray\":646,\"gl-surface3d\":231,ndarray:427,\"ndarray-fill\":417,\"ndarray-homography\":419,\"ndarray-ops\":421,tinycolor2:489}],906:[function(t,e,r){\"use strict\";function n(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}var i=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}var u,c,h=l(\"z\");if(!h)return void(e.visible=!1);var f=h[0].length,d=h.length;if(l(\"x\"),l(\"y\"),!Array.isArray(e.x))for(e.x=[],u=0;u<f;++u)e.x[u]=u;if(l(\"text\"),!Array.isArray(e.y))for(e.y=[],u=0;u<d;++u)e.y[u]=u;[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"opacity\"].forEach(function(t){l(t)});var p=l(\"surfacecolor\");l(\"colorscale\");var g=[\"x\",\"y\",\"z\"];for(u=0;u<3;++u){var m=\"contours.\"+g[u],v=l(m+\".show\"),y=l(m+\".highlight\");if(v||y)for(c=0;c<3;++c)l(m+\".project.\"+g[c]);v&&(l(m+\".color\"),l(m+\".width\"),l(m+\".usecolormap\")),y&&(l(m+\".highlightcolor\"),l(m+\".highlightwidth\"))}p||(n(t,\"zmin\",\"cmin\"),n(t,\"zmax\",\"cmax\"),n(t,\"zauto\",\"cauto\")),a(t,e,s,l,{prefix:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/defaults\":542,\"../../lib\":633,\"./attributes\":902}],907:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"./colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"surface\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\",\"noOpacity\"],n.meta={},e.exports=n},{\"../../plots/gl3d\":703,\"./attributes\":902,\"./calc\":903,\"./colorbar\":904,\"./convert\":905,\"./defaults\":906}],908:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"==typeof e&&e){var r=o.nestedProperty(t,e).get();return Array.isArray(r)?r:[]}return!!Array.isArray(e)&&e.slice()}function i(t,e,r){var n;if(Array.isArray(r)){n={type:u(r),_categories:[]},c(n);for(var i=0;i<r.length;i++)n.d2c(r[i])}else n=l.getFromTrace(t,e,r);return n?n.d2c:\"ids\"===r?function(t){return String(t)}:function(t){return+t}}function a(t,e){function r(t){return t.indexOf(i)!==-1}var n,i=t.operation,a=t.value,o=Array.isArray(a);switch(r(h)?n=e(o?a[0]:a):r(f)?n=o?[e(a[0]),e(a[1])]:[e(a),e(a)]:r(d)&&(n=o?a.map(e):[e(a)]),i){case\"=\":return function(t){return e(t)===n};case\"<\":return function(t){return e(t)<n};case\"<=\":return function(t){return e(t)<=n};case\">\":return function(t){return e(t)>n};case\">=\":return function(t){return e(t)>=n};case\"[]\":return function(t){var r=e(t);return r>=n[0]&&r<=n[1]};case\"()\":return function(t){var r=e(t);return r>n[0]&&r<n[1]};case\"[)\":return function(t){var r=e(t);return r>=n[0]&&r<n[1]};case\"(]\":return function(t){var r=e(t);return r>n[0]&&r<=n[1]};case\"][\":return function(t){var r=e(t);return r<=n[0]||r>=n[1]};case\")(\":return function(t){var r=e(t);return r<n[0]||r>n[1]};case\"](\":return function(t){var r=e(t);return r<=n[0]||r>n[1]};case\")[\":return function(t){var r=e(t);return r<n[0]||r>=n[1]};case\"{}\":return function(t){return n.indexOf(e(t))!==-1};case\"}{\":return function(t){return n.indexOf(e(t))===-1}}}var o=t(\"../lib\"),s=t(\"../plot_api/plot_schema\"),l=t(\"../plots/cartesian/axis_ids\"),u=t(\"../plots/cartesian/axis_autotype\"),c=t(\"../plots/cartesian/set_convert\"),h=[\"=\",\"<\",\">=\",\">\",\"<=\"],f=[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],d=[\"{}\",\"}{\"];r.moduleType=\"transform\",r.name=\"filter\",r.attributes={enabled:{valType:\"boolean\",dflt:!0},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\"},operation:{valType:\"enumerated\",values:[].concat(h).concat(f).concat(d),dflt:\"=\"},value:{valType:\"any\",dflt:0}},r.supplyDefaults=function(t){function e(e,i){return o.coerce(t,n,r.attributes,e,i)}var n={},i=e(\"enabled\");return i&&(e(\"operation\"),e(\"value\"),e(\"target\")),n},r.calcTransform=function(t,e,r){function l(t,r){var n=g[t],i=o.nestedProperty(e,t).get();i.push(n[r])}if(r.enabled){var u=r.target,c=n(e,u),h=c.length;if(h){for(var f=i(t,e,u),d=a(r,f),p=s.findArrayAttributes(e),g={},m=0;m<p.length;m++){var v=p[m],y=o.nestedProperty(e,v);g[v]=o.extendDeep([],y.get()),y.set([])}for(var x=0;x<h;x++){var b=c[x];if(d(b))for(var _=0;_<p.length;_++)l(p[_],x)}}}}},{\"../lib\":633,\"../plot_api/plot_schema\":653,\"../plots/cartesian/axis_autotype\":665,\"../plots/cartesian/axis_ids\":667,\"../plots/cartesian/set_convert\":678}],909:[function(t,e,r){\"use strict\";function n(t,e){o.nestedProperty(t,e).set([])}function i(t,e,r,n){o.nestedProperty(t,n).set(o.nestedProperty(t,n).get().concat([o.nestedProperty(e,n).get()[r]]))}function a(t,e){var r=e.transform,a=t.transforms[e.transformIndex].groups;if(!Array.isArray(a)||0===a.length)return t;for(var l=o.filterUnique(a),u=new Array(l.length),c=a.length,h=s.findArrayAttributes(t),f=r.style||{},d=0;d<l.length;d++){var p=l[d],g=u[d]=o.extendDeepNoArrays({},t);h.forEach(n.bind(null,g));for(var m=0;m<c;m++)a[m]===p&&h.forEach(i.bind(0,g,t,m));g.name=p,g=o.extendDeepNoArrays(g,f[p]||{})}return u}var o=t(\"../lib\"),s=t(\"../plot_api/plot_schema\");r.moduleType=\"transform\",r.name=\"groupby\",r.attributes={enabled:{valType:\"boolean\",dflt:!0},groups:{valType:\"data_array\",dflt:[]},style:{valType:\"any\",dflt:{}}},r.supplyDefaults=function(t){function e(e,i){return o.coerce(t,n,r.attributes,e,i)}var n={},i=e(\"enabled\");return i?(e(\"groups\"),e(\"style\"),n):n},r.transform=function(t,e){for(var r=[],n=0;n<t.length;n++)r=r.concat(a(t[n],e));return r}},{\"../lib\":633,\"../plot_api/plot_schema\":653}]},{},[15])(15)});});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script></div>",
-                "elapsedTime": 817
+                "result": "<div class=\"output_subarea output_html rendered_html\"><script type=\"text/javascript\">if(!window.Plotly){define('plotly', function(require, exports, module) {/**\n* plotly.js v1.25.0\n* Copyright 2012-2017, Plotly, Inc.\n* All rights reserved.\n* Licensed under the MIT license\n*/\n!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var e;e=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this,e.Plotly=t()}}(function(){var t;return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var u=new Error(\"Cannot find module '\"+o+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var c=r[o]={exports:{}};e[o][0].call(c.exports,function(t){var r=e[o][1][t];return i(r?r:t)},c,c.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),i={\"X,X div\":\"font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;\",\"X input,X button\":\"font-family:'Open Sans', verdana, arial, sans-serif;\",\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\",\"X .modebar--hover\":\"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;\",\"X:hover .modebar--hover\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-group:first-child\":\"margin-left:0px;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar-btn path\":\"fill:rgba(0,31,95,0.3);\",\"X .modebar-btn.active path,X .modebar-btn:hover path\":\"fill:rgba(0,22,72,0.5);\",\"X .modebar-btn.modebar-btn--logo\":\"padding:3px 1px;\",\"X .modebar-btn.modebar-btn--logo path\":\"fill:#447adb !important;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":\"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:white;\",\"X .select-outline-2\":\"stroke:black;stroke-dasharray:2px 2px;\",Y:\"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;\",\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;\",\"Y .notifier-close\":\"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},{\"../src/lib\":681}],2:[function(t,e,r){\"use strict\";e.exports={undo:{width:857.1,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",ascent:850,descent:-150},home:{width:928.6,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",ascent:850,descent:-150},\"camera-retro\":{width:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",ascent:850,descent:-150},zoombox:{width:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",ascent:850,descent:-150},pan:{width:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",ascent:850,descent:-150},zoom_plus:{width:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",ascent:850,descent:-150},zoom_minus:{width:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",ascent:850,descent:-150},autoscale:{width:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",ascent:850,descent:-150},tooltip_basic:{width:1500,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",ascent:850,descent:-150},tooltip_compare:{width:1125,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",ascent:850,descent:-150},plotlylogo:{width:1542,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",ascent:850,descent:-150},\"z-axis\":{width:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",ascent:850,descent:-150},\"3d_rotate\":{width:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",ascent:850,descent:-150},camera:{width:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",ascent:850,descent:-150},movie:{width:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",ascent:850,descent:-150},question:{width:857.1,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",ascent:850,descent:-150},disk:{width:857.1,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",ascent:850,descent:-150},lasso:{width:1031,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",ascent:850,descent:-150},selectbox:{width:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",ascent:850,descent:-150}}},{}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":808}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":820}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":574}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":828}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":835}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":845}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":666}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":986}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":987}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":860}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":869}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":877}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":882}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":886}],17:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./pie\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./mesh3d\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./pointcloud\"),t(\"./heatmapgl\"),t(\"./parcoords\"),t(\"./scattermapbox\"),t(\"./ohlc\"),t(\"./candlestick\")]),n.register([t(\"./filter\"),t(\"./groupby\")]),n.register([t(\"./calendars\")]),e.exports=n},{\"./bar\":3,\"./box\":4,\"./calendars\":5,\"./candlestick\":6,\"./choropleth\":7,\"./contour\":8,\"./core\":9,\"./filter\":10,\"./groupby\":11,\"./heatmap\":12,\"./heatmapgl\":13,\"./histogram\":14,\"./histogram2d\":15,\"./histogram2dcontour\":16,\"./mesh3d\":18,\"./ohlc\":19,\"./parcoords\":20,\"./pie\":21,\"./pointcloud\":22,\"./scatter3d\":23,\"./scattergeo\":24,\"./scattergl\":25,\"./scattermapbox\":26,\"./scatterternary\":27,\"./surface\":28}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":890}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":895}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":904}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":913}],22:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":922}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":952}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":958}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":963}],26:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":970}],27:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":976}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":985}],29:[function(t,e,r){\"use strict\";function n(t,e){function r(e,r,n,a){var o=1/t.clientHeight,s=o*(r-m),l=o*(n-g),c=p.flipX?1:-1,f=p.flipY?1:-1,d=Math.PI*p.rotateSpeed,y=i();if(1&e)a.shift?u.rotate(y,0,0,-s*d):u.rotate(y,c*d*s,-f*d*l,0);else if(2&e)u.pan(y,-p.translateSpeed*s*h,p.translateSpeed*l*h,0);else if(4&e){var b=p.zoomSpeed*l/window.innerHeight*(y-u.lastT())*50;u.pan(y,0,0,h*(Math.exp(b)-1))}m=r,g=n,v=a}t=t||document.body,e=e||{};var n=[.01,1/0];\"distanceLimits\"in e&&(n[0]=e.distanceLimits[0],n[1]=e.distanceLimits[1]),\"zoomMin\"in e&&(n[0]=e.zoomMin),\"zoomMax\"in e&&(n[1]=e.zoomMax);var u=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:n}),c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,d=t.clientHeight,p={view:u,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:u.modes,tick:function(){var e=i(),r=this.delay;u.idle(e-r),u.flush(e-(100+2*r));var n=e-2*r;u.recalcMatrix(n);for(var a=!0,o=u.computedMatrix,s=0;s<16;++s)a=a&&c[s]===o[s],c[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===d;return f=t.clientWidth,d=t.clientHeight,a?!l:(h=Math.exp(u.computedRadius[0]),!0)},lookAt:function(t,e,r){u.lookAt(u.lastT(),t,e,r)},rotate:function(t,e,r){u.rotate(u.lastT(),t,e,r)},pan:function(t,e,r){u.pan(u.lastT(),t,e,r)},translate:function(t,e,r){u.translate(u.lastT(),t,e,r)}};Object.defineProperties(p,{matrix:{get:function(){return u.computedMatrix},set:function(t){return u.setMatrix(u.lastT(),t),u.computedMatrix},enumerable:!0},mode:{get:function(){return u.getMode()},set:function(t){return u.setMode(t),u.getMode()},enumerable:!0},center:{get:function(){return u.computedCenter},set:function(t){return u.lookAt(u.lastT(),t),u.computedCenter},enumerable:!0},eye:{get:function(){return u.computedEye},set:function(t){return u.lookAt(u.lastT(),null,t),u.computedEye},enumerable:!0},up:{get:function(){return u.computedUp},set:function(t){return u.lookAt(u.lastT(),null,null,t),u.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return u.setDistance(u.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return u.getDistanceLimits(n)},set:function(t){return u.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",function(t){return t.preventDefault(),!1});var m=0,g=0,v={shift:!1,control:!1,alt:!1,meta:!1};return o(t,r),t.addEventListener(\"touchstart\",function(e){var n=l(e.changedTouches[0],t);r(0,n[0],n[1],v),r(1,n[0],n[1],v)}),t.addEventListener(\"touchmove\",function(e){var n=l(e.changedTouches[0],t);r(1,n[0],n[1],v)}),t.addEventListener(\"touchend\",function(e){l(e.changedTouches[0],t);r(0,m,g,v)}),s(t,function(t,e,r){var n=p.flipX?1:-1,a=p.flipY?1:-1,o=i();if(Math.abs(t)>Math.abs(e))u.rotate(o,0,0,-t*n*Math.PI*p.rotateSpeed/window.innerWidth);else{var s=p.zoomSpeed*a*e/window.innerHeight*(o-u.lastT())/100;u.pan(o,0,0,h*(Math.exp(s)-1))}},!0),p}e.exports=n;var i=t(\"right-now\"),a=t(\"3d-view\"),o=t(\"mouse-change\"),s=t(\"mouse-wheel\"),l=t(\"mouse-event-offset\")},{\"3d-view\":30,\"mouse-change\":432,\"mouse-event-offset\":433,\"mouse-wheel\":435,\"right-now\":481}],30:[function(t,e,r){\"use strict\";function n(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode=\"turntable\",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}function i(t){t=t||{};var e=t.eye||[0,0,1],r=t.center||[0,0,0],i=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||\"turntable\",c=a(),h=o(),f=s();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,i),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,i),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,i),new n({turntable:c,orbit:h,matrix:f},u)}e.exports=i;var a=t(\"turntable-camera-controller\"),o=t(\"orbit-camera-controller\"),s=t(\"matrix-camera-controller\"),l=n.prototype;[[\"flush\",1],[\"idle\",1],[\"lookAt\",4],[\"rotate\",4],[\"pan\",4],[\"translate\",4],[\"setMatrix\",2],[\"setDistanceLimits\",2],[\"setDistance\",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push(\"a\"+n);var i=\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\"+t[0]+\"(\"+r.join()+\")}\";l[e]=Function.apply(null,r.concat(i))}),l.recalcMatrix=function(t){this._active.recalcMatrix(t)},l.getDistance=function(t){return this._active.getDistance(t)},l.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},l.lastT=function(){return this._active.lastT()},l.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},l.getMode=function(){return this._mode}},{\"matrix-camera-controller\":430,\"orbit-camera-controller\":452,\"turntable-camera-controller\":516}],31:[function(t,e,r){\"use strict\";function n(t){var e=s.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=a(t,new Float32Array([-1,-1,-1,4,4,-1]));e=o(t,[{buffer:n,type:t.FLOAT,size:2}]),e._triangleBuffer=n,s.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}var i=\"undefined\"==typeof WeakMap?t(\"weak-map\"):WeakMap,a=t(\"gl-buffer\"),o=t(\"gl-vao\"),s=new i;e.exports=n},{\"gl-buffer\":138,\"gl-vao\":253,\"weak-map\":537}],32:[function(t,e,r){function n(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var n=t.split(/\\r?\\n/),a=String(n.length+e-1).length;return n.map(function(t,n){var o=n+e;return i(o,a-String(o).length)+r+t}).join(\"\\n\")}var i=t(\"pad-left\");e.exports=n},{\"pad-left\":453}],33:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(e+1),n=0;n<t.length;++n)r[n]=t[n];for(var n=0;n<=t.length;++n){for(var i=t.length;i<=e;++i){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(i+1-n,s);r[i]=o}if(a.apply(void 0,r))return!0}return!1}function i(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,i=[t[0]],a=[0],o=1;o<e;++o)if(i.push(t[o]),n(i,r)){if(a.push(o),a.length===r+1)return a}else i.pop();return a}e.exports=i;var a=t(\"robust-orientation\")},{\"robust-orientation\":487}],34:[function(t,e,r){\"use strict\";function n(t,e){return i(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return a(n)*t<1})}e.exports=n;var i=t(\"delaunay-triangulate\"),a=t(\"circumradius\")},{circumradius:77,\"delaunay-triangulate\":105}],35:[function(t,e,r){function n(t,e){return a(i(t,e))}e.exports=n;var i=t(\"alpha-complex\"),a=t(\"simplicial-complex-boundary\")},{\"alpha-complex\":34,\"simplicial-complex-boundary\":495}],36:[function(t,e,r){\"use strict\";e.exports=function(){function t(t){return!Array.isArray(t)&&null!==t&&\"object\"==typeof t}function e(t,e,r){for(var n=(e-t)/Math.max(r-1,1),i=[],a=0;a<r;a++)i.push(t+a*n);return i}function r(){for(var t=[].slice.call(arguments),e=t.map(function(t){return t.length}),r=Math.min.apply(null,e),n=[],i=0;i<r;i++){n[i]=[];for(var a=0;a<t.length;++a)n[i][a]=t[a][i]}return n}function n(t,e,r){for(var n=Math.min.apply(null,[t.length,e.length,r.length]),i=[],a=0;a<n;a++)i.push([t[a],e[a],r[a]]);return i}function i(t){function e(t){for(var n=0;n<t.length;n++)Array.isArray(t[n])?e(t[n],r):r+=t[n]}var r=0;return e(t,r),r}function a(t){for(var e=[],r=0;r<t.length;++r){e[r]=[];for(var n=0;n<t[r].length;++n)e[r][n]=t[r][n]}return e}function o(t){for(var e=[],r=0;r<t.length;++r)e[r]=t[r];return e}function s(t,e){if(t.length!==e.length)return!1;for(var r=t.length;r--;)if(t[r]!==e[r])return!1;return!0}function l(t,e){var r,n;if(\"string\"!=typeof t)return t;if(r=[],\"#\"===t[0]?(t=t.substr(1),3===t.length&&(t+=t),n=parseInt(t,16),r[0]=n>>16&255,r[1]=n>>8&255,r[2]=255&n):h.test(t)&&(n=t.match(f),r[0]=parseInt(n[1]),r[1]=parseInt(n[2]),r[2]=parseInt(n[3])),!e)for(var i=0;i<3;++i)r[i]=r[i]/255;return r}function u(t,e){var r,n;if(\"string\"!=typeof t)return t;if(r=[],\"#\"===t[0]?(t=t.substr(1),3===t.length&&(t+=t),n=parseInt(t,16),r[0]=n>>16&255,r[1]=n>>8&255,r[2]=255&n):h.test(t)&&(n=t.match(f),r[0]=parseInt(n[1]),r[1]=parseInt(n[2]),r[2]=parseInt(n[3]),n[4]?r[3]=parseFloat(n[4]):r[3]=1),!e)for(var i=0;i<3;++i)r[i]=r[i]/255;return r}var c={},h=/^rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*(,.*)?\\)$/,f=/^rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,?\\s*(.*)?\\)$/;return c.isPlainObject=t,c.linspace=e,c.zip3=n,c.sum=i,c.zip=r,c.isEqual=s,c.copy2D=a,c.copy1D=o,c.str2RgbArray=l,c.str2RgbaArray=u,c}()},{}],37:[function(t,e,r){(function(r){\"use strict\";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}function a(t){return Object.prototype.toString.call(t)}function o(t){return!i(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}function s(t){if(x.isFunction(t)){if(M)return t.name;var e=t.toString(),r=e.match(k);return r&&r[1]}}function l(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function u(t){if(M||!x.isFunction(t))return x.inspect(t);var e=s(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function c(t){return l(u(t.actual),128)+\" \"+t.operator+\" \"+l(u(t.expected),128)}function h(t,e,r,n,i){throw new A.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function f(t,e){t||h(t,!0,e,\"==\",A.ok)}function d(t,e,r,s){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(x.isDate(t)&&x.isDate(e))return t.getTime()===e.getTime();if(x.isRegExp(t)&&x.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(o(t)&&o(e)&&a(t)===a(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;s=s||{actual:[],expected:[]};var l=s.actual.indexOf(t);return l!==-1&&l===s.expected.indexOf(e)||(s.actual.push(t),s.expected.push(e),m(t,e,r,s))}return r?t===e:t==e}function p(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function m(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(x.isPrimitive(t)||x.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=p(t),a=p(e);if(i&&!a||!i&&a)return!1;if(i)return t=w.call(t),e=w.call(e),d(t,e,r);var o,s,l=T(t),u=T(e);if(l.length!==u.length)return!1;for(l.sort(),u.sort(),s=l.length-1;s>=0;s--)if(l[s]!==u[s])return!1;for(s=l.length-1;s>=0;s--)if(o=l[s],!d(t[o],e[o],r,n))return!1;return!0}function g(t,e,r){d(t,e,!0)&&h(t,e,r,\"notDeepStrictEqual\",g)}function v(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&e.call({},t)===!0}function y(t){var e;try{t()}catch(t){e=t}return e}function b(t,e,r,n){var i;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),i=y(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&h(i,r,\"Missing expected exception\"+n);var a=\"string\"==typeof n,o=!t&&x.isError(i),s=!t&&i&&!r;if((o&&a&&v(i,r)||s)&&h(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!v(i,r)||!t&&i)throw i}var x=t(\"util/\"),_=Object.prototype.hasOwnProperty,w=Array.prototype.slice,M=function(){return\"foo\"===function(){}.name}(),A=e.exports=f,k=/\\s*function\\s+([^\\(\\s]*)\\s*/;A.AssertionError=function(t){this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=c(this),this.generatedMessage=!0);var e=t.stackStartFunction||h;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=s(e),a=n.indexOf(\"\\n\"+i);if(a>=0){var o=n.indexOf(\"\\n\",a+1);n=n.substring(o+1)}this.stack=n}}},x.inherits(A.AssertionError,Error),A.fail=h,A.ok=f,A.equal=function(t,e,r){t!=e&&h(t,e,r,\"==\",A.equal)},A.notEqual=function(t,e,r){t==e&&h(t,e,r,\"!=\",A.notEqual)},A.deepEqual=function(t,e,r){d(t,e,!1)||h(t,e,r,\"deepEqual\",A.deepEqual)},A.deepStrictEqual=function(t,e,r){d(t,e,!0)||h(t,e,r,\"deepStrictEqual\",A.deepStrictEqual)},A.notDeepEqual=function(t,e,r){d(t,e,!1)&&h(t,e,r,\"notDeepEqual\",A.notDeepEqual)},A.notDeepStrictEqual=g,A.strictEqual=function(t,e,r){t!==e&&h(t,e,r,\"===\",A.strictEqual)},A.notStrictEqual=function(t,e,r){t===e&&h(t,e,r,\"!==\",A.notStrictEqual)},A.throws=function(t,e,r){b(!0,t,e,r)},A.doesNotThrow=function(t,e,r){b(!1,t,e,r)},A.ifError=function(t){if(t)throw t};var T=Object.keys||function(t){var e=[];for(var r in t)_.call(t,r)&&e.push(r);return e}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"util/\":527}],38:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],39:[function(t,e,r){\"use strict\";function n(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}function i(t,e){for(var r=e.length,i=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];i[o]=s}i[r]=new Array(r+1);for(var o=0;o<=r;++o)i[r][o]=1;for(var u=new Array(r+1),o=0;o<r;++o)u[o]=e[o];u[r]=1;var c=a(i,u),h=n(c[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=n(c[o])/h;return f}e.exports=i;var a=t(\"robust-linear-solve\")},{\"robust-linear-solve\":486}],40:[function(t,e,r){\"use strict\";function n(t,e){return i(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}var i=t(\"./lib/rationalize\");e.exports=n},{\"./lib/rationalize\":50}],41:[function(t,e,r){\"use strict\";function n(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}e.exports=n},{}],42:[function(t,e,r){\"use strict\";function n(t,e){return i(t[0].mul(e[1]),t[1].mul(e[0]))}var i=t(\"./lib/rationalize\");e.exports=n},{\"./lib/rationalize\":50}],43:[function(t,e,r){\"use strict\";function n(t,e){if(i(t))return e?u(t,n(e)):[t[0].clone(),t[1].clone()];var r,c,h=0;if(a(t))r=t.clone();else if(\"string\"==typeof t)r=s(t);else{if(0===t)return[o(0),o(1)];if(t===Math.floor(t))r=o(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),h-=256;r=o(t)}}if(i(e))r.mul(e[1]),c=e[0].clone();else if(a(e))c=e.clone();else if(\"string\"==typeof e)c=s(e);else if(e)if(e===Math.floor(e))c=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h+=256;c=o(e)}else c=o(1);return h>0?r=r.shln(h):h<0&&(c=c.shln(-h)),l(r,c)}var i=t(\"./is-rat\"),a=t(\"./lib/is-bn\"),o=t(\"./lib/num-to-bn\"),s=t(\"./lib/str-to-bn\"),l=t(\"./lib/rationalize\"),u=t(\"./div\");e.exports=n},{\"./div\":42,\"./is-rat\":44,\"./lib/is-bn\":48,\"./lib/num-to-bn\":49,\"./lib/rationalize\":50,\"./lib/str-to-bn\":51}],44:[function(t,e,r){\"use strict\";function n(t){return Array.isArray(t)&&2===t.length&&i(t[0])&&i(t[1])}var i=t(\"./lib/is-bn\");e.exports=n},{\"./lib/is-bn\":48}],45:[function(t,e,r){\"use strict\";function n(t){return t.cmp(new i(0))}var i=t(\"bn.js\");e.exports=n},{\"bn.js\":58}],46:[function(t,e,r){\"use strict\";function n(t){var e=t.length,r=t.words,n=0;if(1===e)n=r[0];else if(2===e)n=r[0]+67108864*r[1];else for(var n=0,i=0;i<e;i++){var a=r[i];n+=a*Math.pow(67108864,i)}return t.sign?-n:n}e.exports=n},{}],47:[function(t,e,r){\"use strict\";function n(t){var e=a(i.lo(t));if(e<32)return e;var r=a(i.hi(t));return r>20?52:r+32}var i=t(\"double-bits\"),a=t(\"bit-twiddle\").countTrailingZeros;e.exports=n},{\"bit-twiddle\":57,\"double-bits\":106}],48:[function(t,e,r){\"use strict\";function n(t){return t&&\"object\"==typeof t&&Boolean(t.words)}t(\"bn.js\");e.exports=n},{\"bn.js\":58}],49:[function(t,e,r){\"use strict\";function n(t){var e=a.exponent(t);return e<52?new i(t):new i(t*Math.pow(2,52-e)).shln(e-52)}var i=t(\"bn.js\"),a=t(\"double-bits\");e.exports=n},{\"bn.js\":58,\"double-bits\":106}],50:[function(t,e,r){\"use strict\";function n(t,e){var r=a(t),n=a(e);if(0===r)return[i(0),i(1)];if(0===n)return[i(0),i(0)];n<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}var i=t(\"./num-to-bn\"),a=t(\"./bn-sign\");e.exports=n},{\n\"./bn-sign\":45,\"./num-to-bn\":49}],51:[function(t,e,r){\"use strict\";function n(t){return new i(t)}var i=t(\"bn.js\");e.exports=n},{\"bn.js\":58}],52:[function(t,e,r){\"use strict\";function n(t,e){return i(t[0].mul(e[0]),t[1].mul(e[1]))}var i=t(\"./lib/rationalize\");e.exports=n},{\"./lib/rationalize\":50}],53:[function(t,e,r){\"use strict\";function n(t){return i(t[0])*i(t[1])}var i=t(\"./lib/bn-sign\");e.exports=n},{\"./lib/bn-sign\":45}],54:[function(t,e,r){\"use strict\";function n(t,e){return i(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}var i=t(\"./lib/rationalize\");e.exports=n},{\"./lib/rationalize\":50}],55:[function(t,e,r){\"use strict\";function n(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var n=e.divmod(r),o=n.div,s=i(o),l=n.mod;if(0===l.cmpn(0))return s;if(s){var u=a(s)+4,c=i(l.shln(u).divRound(r));return s<0&&(c=-c),s+c*Math.pow(2,-u)}var h=r.bitLength()-l.bitLength()+53,c=i(l.shln(h).divRound(r));return h<1023?c*Math.pow(2,-h):(c*=Math.pow(2,-1023))*Math.pow(2,1023-h)}var i=t(\"./lib/bn-to-num\"),a=t(\"./lib/ctz\");e.exports=n},{\"./lib/bn-to-num\":46,\"./lib/ctz\":47}],56:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){var o=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",a?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a\",i?\".get(m)\":\"[m]\"];return a?e.indexOf(\"c\")<0?o.push(\";if(x===y){return m}else if(x<=y){\"):o.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):o.push(\";if(\",e,\"){i=m;\"),r?o.push(\"l=m+1}else{h=m-1}\"):o.push(\"h=m-1}else{l=m+1}\"),o.push(\"}\"),a?o.push(\"return -1};\"):o.push(\"return i};\"),o.join(\"\")}function i(t,e,r,i){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,i),n(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,i),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,i),n(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,i),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:i(\">=\",!1,\"GE\"),gt:i(\">\",!1,\"GT\"),lt:i(\"<\",!0,\"LT\"),le:i(\"<=\",!0,\"LE\"),eq:i(\"-\",!0,\"EQ\",!0)}},{}],57:[function(t,e,r){\"use strict\";\"use restrict\";function n(t){var e=32;return t&=-t,t&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,t>>>=e,r=(t>255)<<3,t>>>=r,e|=r,r=(t>15)<<2,t>>>=r,e|=r,r=(t>3)<<1,t>>>=r,(e|=r)|t>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return t-=t>>>1&1431655765,16843009*((t=(858993459&t)+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return t&=65535,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e&=65535,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},r.deinterleave2=function(t,e){return t=t>>>e&1431655765,t=858993459&(t|t>>>1),t=252645135&(t|t>>>2),t=16711935&(t|t>>>4),(t=65535&(t|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t&=1023,t=4278190335&(t|t<<16),t=251719695&(t|t<<8),t=3272356035&(t|t<<4),t=1227133513&(t|t<<2),e&=1023,e=4278190335&(e|e<<16),e=251719695&(e|e<<8),e=3272356035&(e|e<<4),e=1227133513&(e|e<<2),t|=e<<1,r&=1023,r=4278190335&(r|r<<16),r=251719695&(r|r<<8),r=3272356035&(r|r<<4),r=1227133513&(r|r<<2),t|r<<2},r.deinterleave3=function(t,e){return t=t>>>e&1227133513,t=3272356035&(t|t>>>2),t=251719695&(t|t>>>4),t=4278190335&(t|t>>>8),(t=1023&(t|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],58:[function(t,e,r){!function(t,e){\"use strict\";function r(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(null!==t&&\"object\"==typeof t&&Array.isArray(t.words))return t;this.sign=!1,this.words=null,this.length=0,this.red=null,\"le\"!==e&&\"be\"!==e||(r=e,e=10),null!==t&&this._init(t||0,e||10,r||\"be\")}function a(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function o(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}function s(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).ishln(this.n).isub(this.p),this.tmp=this._tmp()}function l(){s.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function u(){s.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function c(){s.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function h(){s.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function f(t){if(\"string\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else this.m=t,this.prime=null}function d(t){f.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).ishln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv.sign=!0,this.minv=this.minv.mod(this.r)}\"object\"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26,i.prototype._init=function(t,e,n){if(\"number\"==typeof t)return this._initNumber(t,e,n);if(\"object\"==typeof t)return this._initArray(t,e,n);\"hex\"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\\s+/g,\"\");var i=0;\"-\"===t[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\"-\"===t[0]&&(this.sign=!0),this.strip(),\"le\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){t<0&&(this.sign=!0,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a=0;if(\"be\"===n)for(var i=t.length-1,o=0;i>=0;i-=3){var s=t[i]|t[i-1]<<8|t[i-2]<<16;this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,a+=24,a>=26&&(a-=26,o++)}else if(\"le\"===n)for(var i=0,o=0;i<t.length;i+=3){var s=t[i]|t[i+1]<<8|t[i+2]<<16;this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,a+=24,a>=26&&(a-=26,o++)}return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;for(var n=0,r=t.length-6,i=0;r>=e;r-=6){var o=a(t,r,r+6);this.words[i]|=o<<n&67108863,this.words[i+1]|=o>>>26-n&4194303,n+=24,n>=26&&(n-=26,i++)}if(r+6!==e){var o=a(t,e,r+6);this.words[i]|=o<<n&67108863,this.words[i+1]|=o>>>26-n&4194303}this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,s=a%n,l=Math.min(a,a-s)+r,u=0,c=r;c<l;c+=n)u=o(t,c,c+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){for(var h=1,u=o(t,c,t.length,e),c=0;c<s;c++)h*=e;this.imuln(h),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.sign=this.sign,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.sign=!1),this},i.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var p=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],m=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],g=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(t,e){if(16===(t=t||10)||\"hex\"===t){for(var n=\"\",i=0,e=0|e||1,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);a=s>>>24-i&16777215,n=0!==a||o!==this.length-1?p[6-l.length]+l+n:l+n,i+=2,i>=26&&(i-=26,o--)}for(0!==a&&(n=a.toString(16)+n);n.length%e!=0;)n=\"0\"+n;return this.sign&&(n=\"-\"+n),n}if(t===(0|t)&&t>=2&&t<=36){var u=m[t],c=g[t],n=\"\",h=this.clone();for(h.sign=!1;0!==h.cmpn(0);){var f=h.modn(c).toString(t);h=h.idivn(c),n=0!==h.cmpn(0)?p[u-f.length]+f+n:f+n}return 0===this.cmpn(0)&&(n=\"0\"+n),this.sign&&(n=\"-\"+n),n}r(!1,\"Base should be between 2 and 36\")},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toArray=function(t){this.strip();var e=new Array(this.byteLength());e[0]=0;var r=this.clone();if(\"le\"!==t)for(var n=0;0!==r.cmpn(0);n++){var i=r.andln(255);r.ishrn(8),e[e.length-n-1]=i}else for(var n=0;0!==r.cmpn(0);n++){var i=r.andln(255);r.ishrn(8),e[n]=i}return e},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=0,e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(0===this.cmpn(0))return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.neg=function(){if(0===this.cmpn(0))return this.clone();var t=this.clone();return t.sign=!this.sign,t},i.prototype.ior=function(t){for(this.sign=this.sign||t.sign;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.iand=function(t){this.sign=this.sign&&t.sign;var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.ixor=function(t){this.sign=this.sign||t.sign;var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.setn=function(t,e){r(\"number\"==typeof t&&t>=0);for(var n=t/26|0,i=t%26;this.length<=n;)this.words[this.length++]=0;return this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),this.strip()},i.prototype.iadd=function(t){if(this.sign&&!t.sign){this.sign=!1;var e=this.isub(t);return this.sign=!this.sign,this._normSign()}if(!this.sign&&t.sign){t.sign=!1;var e=this.isub(t);return t.sign=!0,e._normSign()}var r,n;this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++){var e=r.words[a]+n.words[a]+i;this.words[a]=67108863&e,i=e>>>26}for(;0!==i&&a<r.length;a++){var e=r.words[a]+i;this.words[a]=67108863&e,i=e>>>26}if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},i.prototype.add=function(t){if(t.sign&&!this.sign){t.sign=!1;var e=this.sub(t);return t.sign=!0,e}if(!t.sign&&this.sign){this.sign=!1;var e=t.sub(this);return this.sign=!0,e}return this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(t.sign){t.sign=!1;var e=this.iadd(t);return t.sign=!0,e._normSign()}if(this.sign)return this.sign=!1,this.iadd(t),this.sign=!0,this._normSign();var r=this.cmp(t);if(0===r)return this.sign=!1,this.length=1,this.words[0]=0,this;var n,i;r>0?(n=this,i=t):(n=t,i=this);for(var a=0,o=0;o<i.length;o++){var e=n.words[o]-i.words[o]+a;a=e>>26,this.words[o]=67108863&e}for(;0!==a&&o<n.length;o++){var e=n.words[o]+a;a=e>>26,this.words[o]=67108863&e}if(0===a&&o<n.length&&n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&&(this.sign=!0),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)},i.prototype._smallMulTo=function(t,e){e.sign=t.sign!==this.sign,e.length=this.length+t.length;for(var r=0,n=0;n<e.length-1;n++){for(var i=r>>>26,a=67108863&r,o=Math.min(n,t.length-1),s=Math.max(0,n-this.length+1);s<=o;s++){var l=n-s,u=0|this.words[l],c=0|t.words[s],h=u*c,f=67108863&h;i=i+(h/67108864|0)|0,f=f+a|0,a=67108863&f,i=i+(f>>>26)|0}e.words[n]=a,r=i}return 0!==r?e.words[n]=r:e.length--,e.strip()},i.prototype._bigMulTo=function(t,e){e.sign=t.sign!==this.sign,e.length=this.length+t.length;for(var r=0,n=0,i=0;i<e.length-1;i++){var a=n;n=0;for(var o=67108863&r,s=Math.min(i,t.length-1),l=Math.max(0,i-this.length+1);l<=s;l++){var u=i-l,c=0|this.words[u],h=0|t.words[l],f=c*h,d=67108863&f;a=a+(f/67108864|0)|0,d=d+o|0,o=67108863&d,a=a+(d>>>26)|0,n+=a>>>26,a&=67108863}e.words[i]=o,r=a,a=n}return 0!==r?e.words[i]=r:e.length--,e.strip()},i.prototype.mulTo=function(t,e){return this.length+t.length<63?this._smallMulTo(t,e):this._bigMulTo(t,e)},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.imul=function(t){if(0===this.cmpn(0)||0===t.cmpn(0))return this.words[0]=0,this.length=1,this;var e=this.length,r=t.length;this.sign=t.sign!==this.sign,this.length=this.length+t.length,this.words[this.length-1]=0;for(var n=this.length-2;n>=0;n--){for(var i=0,a=0,o=Math.min(n,r-1),s=Math.max(0,n-e+1);s<=o;s++){var l=n-s,u=this.words[l],c=t.words[s],h=u*c,f=67108863&h;i+=h/67108864|0,f+=a,a=67108863&f,i+=f>>>26}this.words[n]=a,this.words[n+1]+=i,i=0}for(var i=0,l=1;l<this.length;l++){var d=this.words[l]+i;this.words[l]=67108863&d,i=d>>>26}return this.strip()},i.prototype.imuln=function(t){r(\"number\"==typeof t);for(var e=0,n=0;n<this.length;n++){var i=this.words[n]*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[n]=67108863&a}return 0!==e&&(this.words[n]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.mul(this)},i.prototype.ishln=function(t){r(\"number\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=67108863>>>26-e<<26-e;if(0!==e){for(var a=0,o=0;o<this.length;o++){var s=this.words[o]&i,l=this.words[o]-s<<e;this.words[o]=l|a,a=s>>>26-e}a&&(this.words[o]=a,this.length++)}if(0!==n){for(var o=this.length-1;o>=0;o--)this.words[o+n]=this.words[o];for(var o=0;o<n;o++)this.words[o]=0;this.length+=n}return this.strip()},i.prototype.ishrn=function(t,e,n){r(\"number\"==typeof t&&t>=0);var i;i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=n;if(i-=o,i=Math.max(0,i),l){for(var u=0;u<o;u++)l.words[u]=this.words[u];l.length=o}if(0===o);else if(this.length>o){this.length-=o;for(var u=0;u<this.length;u++)this.words[u]=this.words[u+o]}else this.words[0]=0,this.length=1;for(var c=0,u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=this.words[u];this.words[u]=c<<26-a|h>>>a,c=h&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip(),this},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.testn=function(t){r(\"number\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;return!(this.length<=n)&&!!(this.words[n]&i)},i.prototype.imaskn=function(t){r(\"number\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(!this.sign,\"imaskn works only with positive numbers\"),0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return r(\"number\"==typeof t),t<0?this.isubn(-t):this.sign?1===this.length&&this.words[0]<t?(this.words[0]=t-this.words[0],this.sign=!1,this):(this.sign=!1,this.isubn(t),this.sign=!0,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r(\"number\"==typeof t),t<0)return this.iaddn(-t);if(this.sign)return this.sign=!1,this.iaddn(t),this.sign=!0,this;this.words[0]-=t;for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.sign=!1,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,n){var i,a=t.length+n;if(this.words.length<a){for(var o=new Array(a),i=0;i<this.length;i++)o[i]=this.words[i];this.words=o}else i=this.length;for(this.length=Math.max(this.length,a);i<this.length;i++)this.words[i]=0;for(var s=0,i=0;i<t.length;i++){var l=this.words[i+n]+s,u=t.words[i]*e;l-=67108863&u,s=(l>>26)-(u/67108864|0),this.words[i+n]=67108863&l}for(;i<this.length-n;i++){var l=this.words[i+n]+s;s=l>>26,this.words[i+n]=67108863&l}if(0===s)return this.strip();r(s===-1),s=0;for(var i=0;i<this.length;i++){var l=-this.words[i]+s;s=l>>26,this.words[i]=67108863&l}return this.sign=!0,this.strip()},i.prototype._wordDiv=function(t,e){var r=this.length-t.length,n=this.clone(),a=t,o=a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.shln(r),n.ishln(r),o=a.words[a.length-1]);var s,l=n.length-a.length;if(\"mod\"!==e){s=new i(null),s.length=l+1,s.words=new Array(s.length);for(var u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(a,1,l);c.sign||(n=c,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*n.words[a.length+h]+n.words[a.length+h-1];for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);n.sign;)f--,n.sign=!1,n._ishlnsubmul(a,1,h),0!==n.cmpn(0)&&(n.sign=!n.sign);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.ishrn(r),{div:s?s:null,mod:n}},i.prototype.divmod=function(t,e){if(r(0!==t.cmpn(0)),this.sign&&!t.sign){var n,a,o=this.neg().divmod(t,e);return\"mod\"!==e&&(n=o.div.neg()),\"div\"!==e&&(a=0===o.mod.cmpn(0)?o.mod:t.sub(o.mod)),{div:n,mod:a}}if(!this.sign&&t.sign){var n,o=this.divmod(t.neg(),e);return\"mod\"!==e&&(n=o.div.neg()),{div:n,mod:o.mod}}return this.sign&&t.sign?this.neg().divmod(t.neg(),e):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e)},i.prototype.div=function(t){return this.divmod(t,\"div\").div},i.prototype.mod=function(t){return this.divmod(t,\"mod\").mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(0===e.mod.cmpn(0))return e.div;var r=e.div.sign?e.mod.isub(t):e.mod,n=t.shrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:e.div.sign?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+this.words[i])%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=this.words[n]+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(!t.sign),r(0!==t.cmpn(0));var e=this,n=t.clone();e=e.sign?e.mod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),u=0;e.isEven()&&n.isEven();)e.ishrn(1),n.ishrn(1),++u;for(var c=n.clone(),h=e.clone();0!==e.cmpn(0);){for(;e.isEven();)e.ishrn(1),a.isEven()&&o.isEven()?(a.ishrn(1),o.ishrn(1)):(a.iadd(c).ishrn(1),o.isub(h).ishrn(1));for(;n.isEven();)n.ishrn(1),s.isEven()&&l.isEven()?(s.ishrn(1),l.ishrn(1)):(s.iadd(c).ishrn(1),l.isub(h).ishrn(1));e.cmp(n)>=0?(e.isub(n),a.isub(s),o.isub(l)):(n.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:n.ishln(u)}},i.prototype._invmp=function(t){r(!t.sign),r(0!==t.cmpn(0));var e=this,n=t.clone();e=e.sign?e.mod(t):e.clone();for(var a=new i(1),o=new i(0),s=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(;e.isEven();)e.ishrn(1),a.isEven()?a.ishrn(1):a.iadd(s).ishrn(1);for(;n.isEven();)n.ishrn(1),o.isEven()?o.ishrn(1):o.iadd(s).ishrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(o)):(n.isub(e),o.isub(a))}return 0===e.cmpn(1)?a:o},i.prototype.gcd=function(t){if(0===this.cmpn(0))return t.clone();if(0===t.cmpn(0))return this.clone();var e=this.clone(),r=t.clone();e.sign=!1,r.sign=!1;for(var n=0;e.isEven()&&r.isEven();n++)e.ishrn(1),r.ishrn(1);for(;;){for(;e.isEven();)e.ishrn(1);for(;r.isEven();)r.ishrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.ishln(n)},i.prototype.invm=function(t){return this.egcd(t).a.mod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r(\"number\"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n){for(var a=this.length;a<n+1;a++)this.words[a]=0;return this.words[n]|=i,this.length=n+1,this}for(var o=i,a=n;0!==o&&a<this.length;a++){var s=this.words[a];s+=o,o=s>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.cmpn=function(t){var e=t<0;if(e&&(t=-t),this.sign&&!e)return-1;if(!this.sign&&e)return 1;t&=67108863,this.strip();var r;if(this.length>1)r=1;else{var n=this.words[0];r=n===t?0:n<t?-1:1}return this.sign&&(r=-r),r},i.prototype.cmp=function(t){if(this.sign&&!t.sign)return-1;if(!this.sign&&t.sign)return 1;var e=this.ucmp(t);return this.sign?-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=this.words[r],i=t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},i.red=function(t){return new f(t)},i.prototype.toRed=function(t){return r(!this.red,\"Already a number in reduction context\"),r(!this.sign,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};s.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},s.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},s.prototype.split=function(t,e){t.ishrn(this.n,0,e)},s.prototype.imulK=function(t){return t.imul(this.k)},n(l,s),l.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];e.words[e.length++]=4194303&i;for(var n=10;n<t.length;n++){var a=t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}t.words[n-10]=i>>>22,t.length-=9},l.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e,r=0,n=0;n<t.length;n++){var i=t.words[n];e=64*i,r+=977*i,e+=r/67108864|0,r&=67108863,t.words[n]=r,r=e}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(u,s),n(c,s),n(h,s),h.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*t.words[r]+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function t(e){if(v[e])return v[e];var t;if(\"k256\"===e)t=new l;else if(\"p224\"===e)t=new u;else if(\"p192\"===e)t=new c;else{if(\"p25519\"!==e)throw new Error(\"Unknown prime \"+e);t=new h}return v[e]=t,t},f.prototype._verify1=function(t){r(!t.sign,\"red works only with positives\"),r(t.red,\"red works only with red numbers\")},f.prototype._verify2=function(t,e){r(!t.sign&&!e.sign,\"red works only with positives\"),r(t.red&&t.red===e.red,\"red works only with red numbers\")},f.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.mod(this.m)._forceRed(this)},f.prototype.neg=function(t){var e=t.clone();return e.sign=!e.sign,e.iadd(this.m)._forceRed(this)},f.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},f.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},f.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},f.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},f.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.shln(e))},f.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},f.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},f.prototype.isqr=function(t){return this.imul(t,t)},f.prototype.sqr=function(t){return this.mul(t,t)},f.prototype.sqrt=function(t){if(0===t.cmpn(0))return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).ishrn(2),a=this.pow(t,n);return a}for(var o=this.m.subn(1),s=0;0!==o.cmpn(0)&&0===o.andln(1);)s++,o.ishrn(1);r(0!==o.cmpn(0));var l=new i(1).toRed(this),u=l.redNeg(),c=this.m.subn(1).ishrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var f=this.pow(h,o),a=this.pow(t,o.addn(1).ishrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(l);){for(var m=d,g=0;0!==m.cmp(l);g++)m=m.redSqr();r(g<p);var v=this.pow(f,new i(1).ishln(p-g-1));a=a.redMul(v),f=v.redSqr(),d=d.redMul(f),p=g}return a},f.prototype.invm=function(t){var e=t._invmp(this.m);return e.sign?(e.sign=!1,this.imod(e).redNeg()):this.imod(e)},f.prototype.pow=function(t,e){var r=[];if(0===e.cmpn(0))return new i(1);for(var n=e.clone();0!==n.cmpn(0);)r.push(n.andln(1)),n.ishrn(1);for(var a=t,o=0;o<r.length&&0===r[o];o++,a=this.sqr(a));if(++o<r.length)for(var n=this.sqr(a);o<r.length;o++,n=this.sqr(n))0!==r[o]&&(a=this.mul(a,n));return a},f.prototype.convertTo=function(t){var e=t.mod(this.m);return e===t?e.clone():e},f.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new d(t)},n(d,f),d.prototype.convertTo=function(t){return this.imod(t.shln(this.shift))},d.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},d.prototype.imul=function(t,e){if(0===t.cmpn(0)||0===e.cmpn(0))return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).ishrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},d.prototype.mul=function(t,e){if(0===t.cmpn(0)||0===e.cmpn(0))return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).ishrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},d.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{}],59:[function(t,e,r){\"use strict\";function n(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],u=l.length;for(r=0;r<u;++r){var c=o[s++]=new Array(u-1),h=0;for(n=0;n<u;++n)n!==r&&(c[h++]=l[n]);if(1&r){var f=c[1];c[1]=c[0],c[0]=f}}}return o}e.exports=n},{}],60:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function i(t,e,r,i){for(var a=0,o=0,s=0,l=t.length;s<l;++s){var u=t[s];if(!n(e,u)){for(var c=0;c<2*e;++c)r[a++]=u[c];i[o++]=s}}return o}function a(t,e,r,n){var a=t.length,o=e.length;if(!(a<=0||o<=0)){var s=t[0].length>>>1;if(!(s<=0)){var l,u=h.mallocDouble(2*s*a),c=h.mallocInt32(a);if((a=i(t,s,u,c))>0){if(1===s&&n)f.init(a),l=f.sweepComplete(s,r,0,a,u,c,0,a,u,c);else{var p=h.mallocDouble(2*s*o),m=h.mallocInt32(o);o=i(e,s,p,m),o>0&&(f.init(a+o),\nl=1===s?f.sweepBipartite(s,r,0,a,u,c,0,o,p,m):d(s,r,n,a,u,c,o,p,m),h.free(p),h.free(m))}h.free(u),h.free(c)}return l}}}function o(t,e){c.push([t,e])}function s(t){return c=[],a(t,t,o,!0),c}function l(t,e){return c=[],a(t,e,o,!1),c}function u(t,e,r){switch(arguments.length){case 1:return s(t);case 2:return\"function\"==typeof e?a(t,t,e,!0):l(t,e);case 3:return a(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}e.exports=u;var c,h=t(\"typedarray-pool\"),f=t(\"./lib/sweep\"),d=t(\"./lib/intersect\")},{\"./lib/intersect\":62,\"./lib/sweep\":66,\"typedarray-pool\":519}],61:[function(t,e,r){\"use strict\";function n(t,e,r){var n=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),i=[\"function \",n,\"(\",w.join(),\"){\",\"var \",u,\"=2*\",a,\";\"],l=\"for(var i=\"+c+\",\"+p+\"=\"+u+\"*\"+c+\";i<\"+h+\";++i,\"+p+\"+=\"+u+\"){var x0=\"+f+\"[\"+o+\"+\"+p+\"],x1=\"+f+\"[\"+o+\"+\"+p+\"+\"+a+\"],xi=\"+d+\"[i];\",M=\"for(var j=\"+m+\",\"+b+\"=\"+u+\"*\"+m+\";j<\"+g+\";++j,\"+b+\"+=\"+u+\"){var y0=\"+v+\"[\"+o+\"+\"+b+\"],\"+(r?\"y1=\"+v+\"[\"+o+\"+\"+b+\"+\"+a+\"],\":\"\")+\"yi=\"+y+\"[j];\";return t?i.push(l,_,\":\",M):i.push(M,_,\":\",l),r?i.push(\"if(y1<x0||x1<y0)continue;\"):e?i.push(\"if(y0<=x0||x1<y0)continue;\"):i.push(\"if(y0<x0||x1<y0)continue;\"),i.push(\"for(var k=\"+o+\"+1;k<\"+a+\";++k){var r0=\"+f+\"[k+\"+p+\"],r1=\"+f+\"[k+\"+a+\"+\"+p+\"],b0=\"+v+\"[k+\"+b+\"],b1=\"+v+\"[k+\"+a+\"+\"+b+\"];if(r1<b0||b1<r0)continue \"+_+\";}var \"+x+\"=\"+s+\"(\"),e?i.push(\"yi,xi\"):i.push(\"xi,yi\"),i.push(\");if(\"+x+\"!==void 0)return \"+x+\";}}}\"),{name:n,code:i.join(\"\")}}function i(t){function e(e,r){var a=n(e,r,t);i.push(a.code),o.push(\"return \"+a.name+\"(\"+w.join()+\");\")}var r=\"bruteForce\"+(t?\"Full\":\"Partial\"),i=[],a=w.slice();t||a.splice(3,0,l);var o=[\"function \"+r+\"(\"+a.join()+\"){\"];o.push(\"if(\"+h+\"-\"+c+\">\"+g+\"-\"+m+\"){\"),t?(e(!0,!1),o.push(\"}else{\"),e(!1,!1)):(o.push(\"if(\"+l+\"){\"),e(!0,!0),o.push(\"}else{\"),e(!0,!1),o.push(\"}}else{if(\"+l+\"){\"),e(!1,!0),o.push(\"}else{\"),e(!1,!1),o.push(\"}\")),o.push(\"}}return \"+r);var s=i.join(\"\")+o.join(\"\");return new Function(s)()}var a=\"d\",o=\"ax\",s=\"vv\",l=\"fp\",u=\"es\",c=\"rs\",h=\"re\",f=\"rb\",d=\"ri\",p=\"rp\",m=\"bs\",g=\"be\",v=\"bb\",y=\"bi\",b=\"bp\",x=\"rv\",_=\"Q\",w=[a,o,s,c,h,f,d,m,g,v,y];r.partial=i(!1),r.full=i(!0)},{}],62:[function(t,e,r){\"use strict\";function n(t,e){var r=8*u.log2(e+1)*(t+1)|0,n=u.nextPow2(k*r);E.length<n&&(l.free(E),E=l.mallocInt32(n));var i=u.nextPow2(T*r);S<i&&(l.free(S),S=l.mallocDouble(i))}function i(t,e,r,n,i,a,o,s,l){var u=k*t;E[u]=e,E[u+1]=r,E[u+2]=n,E[u+3]=i,E[u+4]=a,E[u+5]=o;var c=T*t;S[c]=s,S[c+1]=l}function a(t,e,r,n,i,a,o,s,l,u,c){var h=2*t,f=l*h,d=u[f+e];t:for(var p=i,m=i*h;p<a;++p,m+=h){var g=o[m+e],v=o[m+e+t];if(!(d<g||v<d||n&&d===g)){for(var y=s[p],b=e+1;b<t;++b){var g=o[m+b],v=o[m+b+t],x=u[f+b],_=u[f+b+t];if(v<x||_<g)continue t}var w;if(void 0!==(w=n?r(c,y):r(y,c)))return w}}}function o(t,e,r,n,i,a,o,s,l,u){var c=2*t,h=s*c,f=l[h+e];t:for(var d=n,p=n*c;d<i;++d,p+=c){var m=o[d];if(m!==u){var g=a[p+e],v=a[p+e+t];if(!(f<g||v<f)){for(var y=e+1;y<t;++y){var g=a[p+y],v=a[p+y+t],b=l[h+y],x=l[h+y+t];if(v<b||x<g)continue t}var _=r(m,u);if(void 0!==_)return _}}}}function s(t,e,r,s,l,u,c,m,L){n(t,s+c);var C,D=0,I=2*t;for(i(D++,0,0,s,0,c,r?16:0,-(1/0),1/0),r||i(D++,0,0,c,0,s,1,-(1/0),1/0);D>0;){D-=1;var z=D*k,P=E[z],O=E[z+1],R=E[z+2],F=E[z+3],j=E[z+4],N=E[z+5],B=D*T,U=S[B],V=S[B+1],H=1&N,q=!!(16&N),G=l,Y=u,X=m,W=L;if(H&&(G=m,Y=L,X=l,W=u),!(2&N&&(R=_(t,P,O,R,G,Y,V),O>=R)||4&N&&(O=w(t,P,O,R,G,Y,U))>=R)){var Z=R-O,J=j-F;if(q){if(t*Z*(Z+J)<y){if(void 0!==(C=d.scanComplete(t,P,e,O,R,G,Y,F,j,X,W)))return C;continue}}else{if(t*Math.min(Z,J)<g){if(void 0!==(C=h(t,P,e,H,O,R,G,Y,F,j,X,W)))return C;continue}if(t*Z*J<v){if(void 0!==(C=d.scanBipartite(t,P,e,H,O,R,G,Y,F,j,X,W)))return C;continue}}var K=b(t,P,O,R,G,Y,U,V);if(O<K)if(t*(K-O)<g){if(void 0!==(C=f(t,P+1,e,O,K,G,Y,F,j,X,W)))return C}else if(P===t-2){if(void 0!==(C=H?d.sweepBipartite(t,e,F,j,X,W,O,K,G,Y):d.sweepBipartite(t,e,O,K,G,Y,F,j,X,W)))return C}else i(D++,P+1,O,K,F,j,H,-(1/0),1/0),i(D++,P+1,F,j,O,K,1^H,-(1/0),1/0);if(K<R){var Q=p(t,P,F,j,X,W),$=X[I*Q+P],tt=x(t,P,Q,j,X,W,$);if(tt<j&&i(D++,P,K,R,tt,j,(4|H)+(q?16:0),$,V),F<Q&&i(D++,P,K,R,F,Q,(2|H)+(q?16:0),U,$),Q+1===tt){if(void 0!==(C=q?o(t,P,e,K,R,G,Y,Q,X,W[Q]):a(t,P,e,H,K,R,G,Y,Q,X,W[Q])))return C}else if(Q<tt){var et;if(q){if(et=M(t,P,K,R,G,Y,$),K<et){var rt=x(t,P,K,et,G,Y,$);if(P===t-2){if(K<rt&&void 0!==(C=d.sweepComplete(t,e,K,rt,G,Y,Q,tt,X,W)))return C;if(rt<et&&void 0!==(C=d.sweepBipartite(t,e,rt,et,G,Y,Q,tt,X,W)))return C}else K<rt&&i(D++,P+1,K,rt,Q,tt,16,-(1/0),1/0),rt<et&&(i(D++,P+1,rt,et,Q,tt,0,-(1/0),1/0),i(D++,P+1,Q,tt,rt,et,1,-(1/0),1/0))}}else et=H?A(t,P,K,R,G,Y,$):M(t,P,K,R,G,Y,$),K<et&&(P===t-2?C=H?d.sweepBipartite(t,e,Q,tt,X,W,K,et,G,Y):d.sweepBipartite(t,e,K,et,G,Y,Q,tt,X,W):(i(D++,P+1,K,et,Q,tt,H,-(1/0),1/0),i(D++,P+1,Q,tt,K,et,1^H,-(1/0),1/0)))}}}}}e.exports=s;var l=t(\"typedarray-pool\"),u=t(\"bit-twiddle\"),c=t(\"./brute\"),h=c.partial,f=c.full,d=t(\"./sweep\"),p=t(\"./median\"),m=t(\"./partition\"),g=128,v=1<<22,y=1<<22,b=m(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),x=m(\"lo===p0\",[\"p0\"]),_=m(\"lo<p0\",[\"p0\"]),w=m(\"hi<=p0\",[\"p0\"]),M=m(\"lo<=p0&&p0<=hi\",[\"p0\"]),A=m(\"lo<p0&&p0<=hi\",[\"p0\"]),k=6,T=2,E=l.mallocInt32(1024),S=l.mallocDouble(1024)},{\"./brute\":61,\"./median\":63,\"./partition\":64,\"./sweep\":66,\"bit-twiddle\":57,\"typedarray-pool\":519}],63:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var u=i[s],c=l,h=o*(l-1);c>r&&i[h+e]>u;--c,h-=o){for(var f=h,d=h+o,p=0;p<o;++p,++f,++d){var m=i[f];i[f]=i[d],i[d]=m}var g=a[c];a[c]=a[c-1],a[c-1]=g}}function i(t,e,r,i,a,l){if(i<=r+1)return r;for(var u=r,c=i,h=i+r>>>1,f=2*t,d=h,p=a[f*h+e];u<c;){if(c-u<s){n(t,e,u,c,a,l),p=a[f*h+e];break}var m=c-u,g=Math.random()*m+u|0,v=a[f*g+e],y=Math.random()*m+u|0,b=a[f*y+e],x=Math.random()*m+u|0,_=a[f*x+e];v<=b?_>=b?(d=y,p=b):v>=_?(d=g,p=v):(d=x,p=_):b>=_?(d=y,p=b):_>=v?(d=g,p=v):(d=x,p=_);for(var w=f*(c-1),M=f*d,A=0;A<f;++A,++w,++M){var k=a[w];a[w]=a[M],a[M]=k}var T=l[c-1];l[c-1]=l[d],l[d]=T,d=o(t,e,u,c-1,a,l,p);for(var w=f*(c-1),M=f*d,A=0;A<f;++A,++w,++M){var k=a[w];a[w]=a[M],a[M]=k}var T=l[c-1];if(l[c-1]=l[d],l[d]=T,h<d){for(c=d-1;u<c&&a[f*(c-1)+e]===p;)c-=1;c+=1}else{if(!(d<h))break;for(u=d+1;u<c&&a[f*u+e]===p;)u+=1}}return o(t,e,r,h,a,l,a[f*h+e])}e.exports=i;var a=t(\"./partition\"),o=a(\"lo<p0\",[\"p0\"]),s=8},{\"./partition\":64}],64:[function(t,e,r){\"use strict\";function n(t,e){var r=\"abcdef\".split(\"\").concat(e),n=[];return t.indexOf(\"lo\")>=0&&n.push(\"lo=e[k+n]\"),t.indexOf(\"hi\")>=0&&n.push(\"hi=e[k+o]\"),r.push(i.replace(\"_\",n.join()).replace(\"$\",t)),Function.apply(void 0,r)}e.exports=n;var i=\"for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m\"},{}],65:[function(t,e,r){\"use strict\";function n(t,e){e<=4*f?i(0,e-1,t):h(0,e-1,t)}function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(u<a)break;if(u===a&&c<o)break;r[l]=u,r[l+1]=c,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){t*=2,e*=2;var n=r[t],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){t*=2,e*=2,r[t]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){t*=2,e*=2,r*=2;var i=n[t],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function l(t,e,r,n,i){t*=2,e*=2,i[t]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function u(t,e,r){t*=2,e*=2;var n=r[t],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function c(t,e,r,n){t*=2;var i=n[t];return i<e||i===e&&n[t+1]<r}function h(t,e,r){var n=(e-t+1)/6|0,d=t+n,p=e-n,m=t+e>>1,g=m-n,v=m+n,y=d,b=g,x=m,_=v,w=p,M=t+1,A=e-1,k=0;u(y,b,r)&&(k=y,y=b,b=k),u(_,w,r)&&(k=_,_=w,w=k),u(y,x,r)&&(k=y,y=x,x=k),u(b,x,r)&&(k=b,b=x,x=k),u(y,_,r)&&(k=y,y=_,_=k),u(x,_,r)&&(k=x,x=_,_=k),u(b,w,r)&&(k=b,b=w,w=k),u(b,x,r)&&(k=b,b=x,x=k),u(_,w,r)&&(k=_,_=w,w=k);for(var T=r[2*b],E=r[2*b+1],S=r[2*_],L=r[2*_+1],C=2*y,D=2*x,I=2*w,z=2*d,P=2*m,O=2*p,R=0;R<2;++R){var F=r[C+R],j=r[D+R],N=r[I+R];r[z+R]=F,r[P+R]=j,r[O+R]=N}o(g,t,r),o(v,e,r);for(var B=M;B<=A;++B)if(c(B,T,E,r))B!==M&&a(B,M,r),++M;else if(!c(B,S,L,r))for(;;){if(c(A,S,L,r)){c(A,T,E,r)?(s(B,M,A,r),++M,--A):(a(B,A,r),--A);break}if(--A<B)break}l(t,M-1,T,E,r),l(e,A+1,S,L,r),M-2-t<=f?i(t,M-2,r):h(t,M-2,r),e-(A+2)<=f?i(A+2,e,r):h(A+2,e,r),A-M<=f?i(M,A,r):h(M,A,r)}e.exports=n;var f=32},{}],66:[function(t,e,r){\"use strict\";function n(t){var e=h.nextPow2(t);p.length<e&&(c.free(p),p=c.mallocInt32(e)),m.length<e&&(c.free(m),m=c.mallocInt32(e)),g.length<e&&(c.free(g),g=c.mallocInt32(e)),v.length<e&&(c.free(v),v=c.mallocInt32(e)),y.length<e&&(c.free(y),y=c.mallocInt32(e)),b.length<e&&(c.free(b),b=c.mallocInt32(e));var r=8*e;x.length<r&&(c.free(x),x=c.mallocDouble(r))}function i(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function a(t,e,r,n){t[r]=n,e[n]=r}function o(t,e,r,n,o,s,l,u,c,h){for(var y=0,b=2*t,_=t-1,w=b-1,M=r;M<n;++M){var A=s[M],k=b*M;x[y++]=o[k+_],x[y++]=-(A+1),x[y++]=o[k+w],x[y++]=A}for(var M=l;M<u;++M){var A=h[M]+d,T=b*M;x[y++]=c[T+_],x[y++]=-A,x[y++]=c[T+w],x[y++]=A}var E=y>>>1;f(x,E);for(var S=0,L=0,M=0;M<E;++M){var C=0|x[2*M+1];if(C>=d)C=C-d|0,i(g,v,L--,C);else if(C>=0)i(p,m,S--,C);else if(C<=-d){C=-C-d|0;for(var D=0;D<S;++D){var I=e(p[D],C);if(void 0!==I)return I}a(g,v,L++,C)}else{C=-C-1|0;for(var D=0;D<L;++D){var I=e(C,g[D]);if(void 0!==I)return I}a(p,m,S++,C)}}}function s(t,e,r,n,o,s,l,u,c,h){for(var d=0,_=2*t,w=t-1,M=_-1,A=r;A<n;++A){var k=s[A]+1<<1,T=_*A;x[d++]=o[T+w],x[d++]=-k,x[d++]=o[T+M],x[d++]=k}for(var A=l;A<u;++A){var k=h[A]+1<<1,E=_*A;x[d++]=c[E+w],x[d++]=1|-k,x[d++]=c[E+M],x[d++]=1|k}var S=d>>>1;f(x,S);for(var L=0,C=0,D=0,A=0;A<S;++A){var I=0|x[2*A+1],z=1&I;if(A<S-1&&I>>1==x[2*A+3]>>1&&(z=2,A+=1),I<0){for(var P=-(I>>1)-1,O=0;O<D;++O){var R=e(y[O],P);if(void 0!==R)return R}if(0!==z)for(var O=0;O<L;++O){var R=e(p[O],P);if(void 0!==R)return R}if(1!==z)for(var O=0;O<C;++O){var R=e(g[O],P);if(void 0!==R)return R}0===z?a(p,m,L++,P):1===z?a(g,v,C++,P):2===z&&a(y,b,D++,P)}else{var P=(I>>1)-1;0===z?i(p,m,L--,P):1===z?i(g,v,C--,P):2===z&&i(y,b,D--,P)}}}function l(t,e,r,n,o,s,l,u,c,h,g,v){var y=0,b=2*t,_=e,w=e+t,M=1,A=1;n?A=d:M=d;for(var k=o;k<s;++k){var T=k+M,E=b*k;x[y++]=l[E+_],x[y++]=-T,x[y++]=l[E+w],x[y++]=T}for(var k=c;k<h;++k){var T=k+A,S=b*k;x[y++]=g[S+_],x[y++]=-T}var L=y>>>1;f(x,L);for(var C=0,k=0;k<L;++k){var D=0|x[2*k+1];if(D<0){var T=-D,I=!1;if(T>=d?(I=!n,T-=d):(I=!!n,T-=1),I)a(p,m,C++,T);else{var z=v[T],P=b*T,O=g[P+e+1],R=g[P+e+1+t];t:for(var F=0;F<C;++F){var j=p[F],N=b*j;if(!(R<l[N+e+1]||l[N+e+1+t]<O)){for(var B=e+2;B<t;++B)if(g[P+B+t]<l[N+B]||l[N+B+t]<g[P+B])continue t;var U,V=u[j];if(void 0!==(U=n?r(z,V):r(V,z)))return U}}}}else i(p,m,C--,D-M)}}function u(t,e,r,n,i,a,o,s,l,u,c){for(var h=0,m=2*t,g=e,v=e+t,y=n;y<i;++y){var b=y+d,_=m*y;x[h++]=a[_+g],x[h++]=-b,x[h++]=a[_+v],x[h++]=b}for(var y=s;y<l;++y){var b=y+1,w=m*y;x[h++]=u[w+g],x[h++]=-b}var M=h>>>1;f(x,M);for(var A=0,y=0;y<M;++y){var k=0|x[2*y+1];if(k<0){var b=-k;if(b>=d)p[A++]=b-d;else{b-=1;var T=c[b],E=m*b,S=u[E+e+1],L=u[E+e+1+t];t:for(var C=0;C<A;++C){var D=p[C],I=o[D];if(I===T)break;var z=m*D;if(!(L<a[z+e+1]||a[z+e+1+t]<S)){for(var P=e+2;P<t;++P)if(u[E+P+t]<a[z+P]||a[z+P+t]<u[E+P])continue t;var O=r(I,T);if(void 0!==O)return O}}}}else{for(var b=k-d,C=A-1;C>=0;--C)if(p[C]===b){for(var P=C+1;P<A;++P)p[P-1]=p[P];break}--A}}}e.exports={init:n,sweepBipartite:o,sweepComplete:s,scanBipartite:l,scanComplete:u};var c=t(\"typedarray-pool\"),h=t(\"bit-twiddle\"),f=t(\"./sort\"),d=1<<28,p=c.mallocInt32(1024),m=c.mallocInt32(1024),g=c.mallocInt32(1024),v=c.mallocInt32(1024),y=c.mallocInt32(1024),b=c.mallocInt32(1024),x=c.mallocDouble(8192)},{\"./sort\":65,\"bit-twiddle\":57,\"typedarray-pool\":519}],67:[function(t,e,r){\"use strict\";function n(t){if(t>Z)throw new RangeError(\"Invalid typed array length\");var e=new Uint8Array(t);return e.__proto__=i.prototype,e}function i(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new Error(\"If encoding is specified then the first argument must be a string\");return l(t)}return a(t,e,r)}function a(t,e,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return t instanceof ArrayBuffer?h(t,e,r):\"string\"==typeof t?u(t,e):f(t)}function o(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be a number');if(t<0)throw new RangeError('\"size\" argument must not be negative')}function s(t,e,r){return o(t),t<=0?n(t):void 0!==e?\"string\"==typeof r?n(t).fill(e,r):n(t).fill(e):n(t)}function l(t){return o(t),n(t<0?0:0|d(t))}function u(t,e){if(\"string\"==typeof e&&\"\"!==e||(e=\"utf8\"),!i.isEncoding(e))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|m(t,e),a=n(r),o=a.write(t,e);return o!==r&&(a=a.slice(0,o)),a}function c(t){for(var e=t.length<0?0:0|d(t.length),r=n(e),i=0;i<e;i+=1)r[i]=255&t[i];return r}function h(t,e,r){if(e<0||t.byteLength<e)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<e+(r||0))throw new RangeError(\"'length' is out of bounds\");var n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),n.__proto__=i.prototype,n}function f(t){if(i.isBuffer(t)){var e=0|d(t.length),r=n(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(ArrayBuffer.isView(t)||\"length\"in t)return\"number\"!=typeof t.length||Y(t.length)?n(0):c(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return c(t.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function d(t){if(t>=Z)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+Z.toString(16)+\" bytes\");return 0|t}function p(t){return+t!=t&&(t=0),i.alloc(+t)}function m(t,e){if(i.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return U(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return q(t).length;default:if(n)return U(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function g(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if(r>>>=0,e>>>=0,r<=e)return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return D(this,e,r);case\"utf8\":case\"utf-8\":return E(this,e,r);case\"ascii\":return L(this,e,r);case\"latin1\":case\"binary\":return C(this,e,r);case\"base64\":return T(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return I(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,a){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=a?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(a)return-1;r=t.length-1}else if(r<0){if(!a)return-1;r=0}if(\"string\"==typeof e&&(e=i.from(e,n)),i.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,a);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):b(t,[e],r,n,a);throw new TypeError(\"val must be string, number or Buffer\")}function b(t,e,r,n,i){function a(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}var u;if(i){var c=-1;for(u=r;u<s;u++)if(a(t,u)===a(e,c===-1?0:u-c)){if(c===-1&&(c=u),u-c+1===l)return c*o}else c!==-1&&(u-=u-c),c=-1}else for(r+l>s&&(r=s-l),u=r;u>=0;u--){for(var h=!0,f=0;f<l;f++)if(a(t,u+f)!==a(e,f)){h=!1;break}if(h)return u}return-1}function x(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;if(a%2!=0)throw new TypeError(\"Invalid hex string\");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(isNaN(s))return o;t[r+o]=s}return o}function _(t,e,r,n){return G(U(e,t.length-r),t,r,n)}function w(t,e,r,n){return G(V(e),t,r,n)}function M(t,e,r,n){return w(t,e,r,n)}function A(t,e,r,n){return G(q(e),t,r,n)}function k(t,e,r,n){return G(H(e,t.length-r),t,r,n)}function T(t,e,r){return 0===e&&r===t.length?X.fromByteArray(t):X.fromByteArray(t.slice(e,r))}function E(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a=t[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var l,u,c,h;switch(s){case 1:a<128&&(o=a);break;case 2:l=t[i+1],128==(192&l)&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(h=(15&a)<<12|(63&l)<<6|63&u)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(h=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return S(n)}function S(t){var e=t.length;if(e<=J)return String.fromCharCode.apply(String,t);for(var r=\"\",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=J));return r}function L(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function C(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function D(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",a=e;a<r;++a)i+=B(t[a]);return i}function I(t,e,r){for(var n=t.slice(e,r),i=\"\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function z(t,e,r){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function P(t,e,r,n,a,o){if(!i.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>a||e<o)throw new RangeError('\"value\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\"Index out of range\")}function O(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function R(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),W.write(t,e,r,n,23,4),r+4}function F(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),W.write(t,e,r,n,52,8),r+8}function j(t){if(t=N(t).replace(K,\"\"),t.length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}function N(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}function B(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function U(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function V(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}function H(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function q(t){return X.toByteArray(j(t))}function G(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function Y(t){return t!==t}var X=t(\"base64-js\"),W=t(\"ieee754\");r.Buffer=i,r.SlowBuffer=p,r.INSPECT_MAX_BYTES=50;var Z=2147483647;r.kMaxLength=Z,i.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),i.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),\"undefined\"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(t,e,r){return a(t,e,r)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(t,e,r){return s(t,e,r)},i.allocUnsafe=function(t){return l(t)},i.allocUnsafeSlow=function(t){return l(t)},i.isBuffer=function(t){return null!=t&&t._isBuffer===!0},i.compare=function(t,e){if(!i.isBuffer(t)||!i.isBuffer(e))throw new TypeError(\"Arguments must be Buffers\");if(t===e)return 0;for(var r=t.length,n=e.length,a=0,o=Math.min(r,n);a<o;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0},i.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},i.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return i.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=i.allocUnsafe(e),a=0;for(r=0;r<t.length;++r){var o=t[r];if(!i.isBuffer(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n},i.byteLength=m,i.prototype._isBuffer=!0,i.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;e<t;e+=2)v(this,e,e+1);return this},i.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)v(this,e,e+3),v(this,e+1,e+2);return this},i.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)v(this,e,e+7),v(this,e+1,e+6),v(this,e+2,e+5),v(this,e+3,e+4);return this},i.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?E(this,0,t):g.apply(this,arguments)},i.prototype.equals=function(t){if(!i.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===i.compare(this,t)},i.prototype.inspect=function(){var t=\"\",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\"hex\",0,e).match(/.{2}/g).join(\" \"),this.length>e&&(t+=\" ... \")),\"<Buffer \"+t+\">\"},i.prototype.compare=function(t,e,r,n,a){if(!i.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===a&&(a=this.length),e<0||r>t.length||n<0||a>this.length)throw new RangeError(\"out of range index\");if(n>=a&&e>=r)return 0;if(n>=a)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,a>>>=0,this===t)return 0;for(var o=a-n,s=r-e,l=Math.min(o,s),u=this.slice(n,a),c=t.slice(e,r),h=0;h<l;++h)if(u[h]!==c[h]){o=u[h],s=c[h];break}return o<s?-1:s<o?1:0},i.prototype.includes=function(t,e,r){return this.indexOf(t,e,r)!==-1},i.prototype.indexOf=function(t,e,r){return y(this,t,e,r,!0)},i.prototype.lastIndexOf=function(t,e,r){return y(this,t,e,r,!1)},i.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return x(this,t,e,r);case\"utf8\":case\"utf-8\":return _(this,t,e,r);case\"ascii\":return w(this,t,e,r);case\"latin1\":case\"binary\":return M(this,t,e,r);case\"base64\":return A(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return k(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},i.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var J=4096;i.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=i.prototype,n},i.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||z(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},i.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||z(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},i.prototype.readUInt8=function(t,e){return t>>>=0,e||z(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return t>>>=0,e||z(t,2,this.length),this[t]|this[t+1]<<8},i.prototype.readUInt16BE=function(t,e){return t>>>=0,e||z(t,2,this.length),this[t]<<8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return t>>>=0,e||z(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return t>>>=0,e||z(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},i.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||z(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},i.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||z(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*e)),a},i.prototype.readInt8=function(t,e){return t>>>=0,e||z(t,1,this.length),128&this[t]?(255-this[t]+1)*-1:this[t]},i.prototype.readInt16LE=function(t,e){t>>>=0,e||z(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt16BE=function(t,e){t>>>=0,e||z(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt32LE=function(t,e){return t>>>=0,e||z(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},i.prototype.readInt32BE=function(t,e){return t>>>=0,e||z(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},i.prototype.readFloatLE=function(t,e){return t>>>=0,e||z(t,4,this.length),W.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return t>>>=0,e||z(t,4,this.length),W.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return t>>>=0,e||z(t,8,this.length),W.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return t>>>=0,e||z(t,8,this.length),W.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){P(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},i.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){P(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},i.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},i.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},i.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},i.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},i.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},i.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},i.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},i.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},i.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},i.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},i.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},i.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},i.prototype.writeFloatLE=function(t,e,r){return R(this,t,e,!0,r)},i.prototype.writeFloatBE=function(t,e,r){return R(this,t,e,!1,r)},i.prototype.writeDoubleLE=function(t,e,r){return F(this,t,e,!0,r)},i.prototype.writeDoubleBE=function(t,e,r){return F(this,t,e,!1,r)},i.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,a=n-r;if(this===t&&r<e&&e<n)for(i=a-1;i>=0;--i)t[i+e]=this[i+r];else if(a<1e3)for(i=0;i<a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},i.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),1===t.length){var a=t.charCodeAt(0);a<256&&(t=a)}if(void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!i.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n)}else\"number\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\"Out of range index\");if(r<=e)return this;e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0);var o;if(\"number\"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=i.isBuffer(t)?t:new i(t,n),l=s.length;for(o=0;o<r-e;++o)this[o+e]=s[o%l]}return this};var K=/[^+\\/0-9A-Za-z-_]/g},{\"base64-js\":68,ieee754:270}],68:[function(t,e,r){\"use strict\";function n(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");return\"=\"===t[e-2]?2:\"=\"===t[e-1]?1:0}function i(t){return 3*t.length/4-n(t)}function a(t){var e,r,i,a,o,s,l=t.length;o=n(t),s=new h(3*l/4-o),i=o>0?l-4:l;var u=0;for(e=0,r=0;e<i;e+=4,r+=3)a=c[t.charCodeAt(e)]<<18|c[t.charCodeAt(e+1)]<<12|c[t.charCodeAt(e+2)]<<6|c[t.charCodeAt(e+3)],s[u++]=a>>16&255,s[u++]=a>>8&255,s[u++]=255&a;return 2===o?(a=c[t.charCodeAt(e)]<<2|c[t.charCodeAt(e+1)]>>4,s[u++]=255&a):1===o&&(a=c[t.charCodeAt(e)]<<10|c[t.charCodeAt(e+1)]<<4|c[t.charCodeAt(e+2)]>>2,s[u++]=a>>8&255,s[u++]=255&a),s}function o(t){return u[t>>18&63]+u[t>>12&63]+u[t>>6&63]+u[63&t]}function s(t,e,r){for(var n,i=[],a=e;a<r;a+=3)n=(t[a]<<16)+(t[a+1]<<8)+t[a+2],i.push(o(n));return i.join(\"\")}function l(t){for(var e,r=t.length,n=r%3,i=\"\",a=[],o=0,l=r-n;o<l;o+=16383)a.push(s(t,o,o+16383>l?l:o+16383));return 1===n?(e=t[r-1],i+=u[e>>2],i+=u[e<<4&63],i+=\"==\"):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=u[e>>10],i+=u[e>>4&63],i+=u[e<<2&63],i+=\"=\"),a.push(i),a.join(\"\")}r.byteLength=i,r.toByteArray=a,r.fromByteArray=l;for(var u=[],c=[],h=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",d=0,p=f.length;d<p;++d)u[d]=f[d],c[f.charCodeAt(d)]=d;c[\"-\".charCodeAt(0)]=62,c[\"_\".charCodeAt(0)]=63},{}],69:[function(t,e,r){\"use strict\";function n(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function i(t,e){\nreturn t[0]-e[0]||t[1]-e[1]}function a(t){return t.map(n).sort(i)}function o(t,e,r){return e in t?t[e]:r}function s(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var n=!!o(r,\"delaunay\",!0),i=!!o(r,\"interior\",!0),s=!!o(r,\"exterior\",!0),f=!!o(r,\"infinity\",!1);if(!i&&!s||0===t.length)return[];var d=l(t,e);if(n||i!==s||f){for(var p=u(t.length,a(e)),m=0;m<d.length;++m){var g=d[m];p.addTriangle(g[0],g[1],g[2])}return n&&c(t,p),s?i?f?h(p,0,f):p.cells():h(p,1,f):h(p,-1)}return d}var l=t(\"./lib/monotone\"),u=t(\"./lib/triangulation\"),c=t(\"./lib/delaunay\"),h=t(\"./lib/filter\");e.exports=s},{\"./lib/delaunay\":70,\"./lib/filter\":71,\"./lib/monotone\":72,\"./lib/triangulation\":73}],70:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,o){var s=e.opposite(n,i);if(!(s<0)){if(i<n){var l=n;n=i,i=l,l=o,o=s,s=l}e.isConstraint(n,i)||a(t[n],t[i],t[o],t[s])<0&&r.push(n,i)}}function i(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],u=1;u<l.length;u+=2){var c=l[u];if(!(c<s||e.isConstraint(s,c))){for(var h=l[u-1],f=-1,d=1;d<l.length;d+=2)if(l[d-1]===c){f=l[d];break}f<0||a(t[s],t[c],t[h],t[f])<0&&r.push(s,c)}}for(;r.length>0;){for(var c=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],p=1;p<l.length;p+=2){var m=l[p-1],g=l[p];m===c?f=g:g===c&&(h=m)}h<0||f<0||a(t[s],t[c],t[h],t[f])>=0||(e.flip(s,c),n(t,e,r,h,s,f),n(t,e,r,s,f,h),n(t,e,r,f,c,h),n(t,e,r,c,h,f))}}var a=t(\"robust-in-sphere\")[4];t(\"binary-search-bounds\");e.exports=i},{\"binary-search-bounds\":74,\"robust-in-sphere\":485}],71:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function i(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}function a(t,e){for(var r=t.cells(),a=r.length,o=0;o<a;++o){var s=r[o],l=s[0],u=s[1],c=s[2];u<c?u<l&&(s[0]=u,s[1]=c,s[2]=l):c<l&&(s[0]=c,s[1]=l,s[2]=u)}r.sort(i);for(var h=new Array(a),o=0;o<h.length;++o)h[o]=0;var f=[],d=[],p=new Array(3*a),m=new Array(3*a),g=null;e&&(g=[]);for(var v=new n(r,p,m,h,f,d,g),o=0;o<a;++o)for(var s=r[o],y=0;y<3;++y){var l=s[y],u=s[(y+1)%3],b=p[3*o+y]=v.locate(u,l,t.opposite(u,l)),x=m[3*o+y]=t.isConstraint(l,u);b<0&&(x?d.push(o):(f.push(o),h[o]=1),e&&g.push([u,l,-1]))}return v}function o(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}function s(t,e,r){var n=a(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;for(var i=1,s=n.active,l=n.next,u=n.flags,c=n.cells,h=n.constraint,f=n.neighbor;s.length>0||l.length>0;){for(;s.length>0;){var d=s.pop();if(u[d]!==-i){u[d]=i;for(var p=(c[d],0);p<3;++p){var m=f[3*d+p];m>=0&&0===u[m]&&(h[3*d+p]?l.push(m):(s.push(m),u[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var v=o(c,u,e);return r?v.concat(n.boundary):v}var l=t(\"binary-search-bounds\");e.exports=s,n.prototype.locate=function(){var t=[0,0,0];return function(e,r,n){var a=e,o=r,s=n;return r<n?r<e&&(a=r,o=n,s=e):n<e&&(a=n,o=e,s=r),a<0?-1:(t[0]=a,t[1]=o,t[2]=s,l.eq(this.cells,t,i))}}()},{\"binary-search-bounds\":74}],72:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function i(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function a(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r?r:t.type!==p&&(r=d(t.a,t.b,e.b))?r:t.idx-e.idx}function o(t,e){return d(t.a,t.b,e)}function s(t,e,r,n,i){for(var a=f.lt(e,n,o),s=f.gt(e,n,o),l=a;l<s;++l){for(var u=e[l],c=u.lowerIds,h=c.length;h>1&&d(r[c[h-2]],r[c[h-1]],n)>0;)t.push([c[h-1],c[h-2],i]),h-=1;c.length=h,c.push(i);for(var p=u.upperIds,h=p.length;h>1&&d(r[p[h-2]],r[p[h-1]],n)<0;)t.push([p[h-2],p[h-1],i]),h-=1;p.length=h,p.push(i)}}function l(t,e){var r;return(r=t.a[0]<e.a[0]?d(t.a,t.b,e.a):d(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?d(t.a,t.b,e.b):d(e.b,e.a,t.b))||t.idx-e.idx}function u(t,e,r){var i=f.le(t,r,l),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new n(r.a,r.b,r.idx,[s],o))}function c(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=f.eq(t,r,l),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}function h(t,e){for(var r=t.length,o=e.length,l=[],h=0;h<r;++h)l.push(new i(t[h],null,p,h));for(var h=0;h<o;++h){var f=e[h],d=t[f[0]],v=t[f[1]];d[0]<v[0]?l.push(new i(d,v,g,h),new i(v,d,m,h)):d[0]>v[0]&&l.push(new i(v,d,g,h),new i(d,v,m,h))}l.sort(a);for(var y=l[0].a[0]-(1+Math.abs(l[0].a[0]))*Math.pow(2,-52),b=[new n([y,1],[y,0],-1,[],[],[],[])],x=[],h=0,_=l.length;h<_;++h){var w=l[h],M=w.type;M===p?s(x,b,t,w.a,w.idx):M===g?u(b,t,w):c(b,t,w)}return x}var f=t(\"binary-search-bounds\"),d=t(\"robust-orientation\")[3],p=0,m=1,g=2;e.exports=h},{\"binary-search-bounds\":74,\"robust-orientation\":487}],73:[function(t,e,r){\"use strict\";function n(t,e){this.stars=t,this.edges=e}function i(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}function a(t,e){for(var r=new Array(t),i=0;i<t;++i)r[i]=[];return new n(r,e)}var o=t(\"binary-search-bounds\");e.exports=a;var s=n.prototype;s.isConstraint=function(){function t(t,e){return t[0]-e[0]||t[1]-e[1]}var e=[0,0];return function(r,n){return e[0]=Math.min(r,n),e[1]=Math.max(r,n),o.eq(this.edges,e,t)>=0}}(),s.removeTriangle=function(t,e,r){var n=this.stars;i(n[t],e,r),i(n[e],r,t),i(n[r],t,e)},s.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},s.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},s.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},s.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},s.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\"binary-search-bounds\":74}],74:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",i?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a[m]\"];return i?e.indexOf(\"c\")<0?a.push(\";if(x===y){return m}else if(x<=y){\"):a.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):a.push(\";if(\",e,\"){i=m;\"),r?a.push(\"l=m+1}else{h=m-1}\"):a.push(\"h=m-1}else{l=m+1}\"),a.push(\"}\"),i?a.push(\"return -1};\"):a.push(\"return i};\"),a.join(\"\")}function i(t,e,r,i){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],i),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],i),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:i(\">=\",!1,\"GE\"),gt:i(\">\",!1,\"GT\"),lt:i(\"<\",!0,\"LT\"),le:i(\"<=\",!0,\"LE\"),eq:i(\"-\",!0,\"EQ\",!0)}},{}],75:[function(t,e,r){\"use strict\";function n(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}e.exports=n},{}],76:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function i(t){var e=t.length;if(0===e)return[];var r=(t[0].length,o([t.length+1,t.length+1],1)),i=o([t.length+1],1);r[e][e]=0;for(var a=0;a<e;++a){for(var l=0;l<=a;++l)r[l][a]=r[a][l]=2*n(t[a],t[l]);i[a]=n(t[a],t[a])}for(var u=s(r,i),c=0,h=u[e+1],a=0;a<h.length;++a)c+=h[a];for(var f=new Array(e),a=0;a<e;++a){for(var h=u[a],d=0,l=0;l<h.length;++l)d+=h[l];f[a]=d/c}return f}function a(t){if(0===t.length)return[];for(var e=t[0].length,r=o([e]),n=i(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*n[a];return r}var o=t(\"dup\"),s=t(\"robust-linear-solve\");a.barycenetric=i,e.exports=a},{dup:107,\"robust-linear-solve\":486}],77:[function(t,e,r){function n(t){for(var e=i(t),r=0,n=0;n<t.length;++n)for(var a=t[n],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)}e.exports=n;var i=t(\"circumcenter\")},{circumcenter:76}],78:[function(t,e,r){function n(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}e.exports=n},{}],79:[function(t,e,r){\"use strict\";function n(t){var e=x(t),r=b(y(e),t);return r<0?[e,w(e,1/0)]:r>0?[w(e,-(1/0)),e]:[e,e]}function i(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[Math.min(a[0],o[0]),Math.min(a[1],o[1]),Math.max(a[0],o[0]),Math.max(a[1],o[1])]}return r}function a(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[n[0],n[1],n[0],n[1]]}return e}function o(t,e,r){var n=[];return g(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&&a[0]!==o[1]&&a[1]!==o[0]&&a[1]!==o[1]){v(t[a[0]],t[a[1]],t[o[0]],t[o[1]])&&n.push([r,i])}}),n}function s(t,e,r,n){var i=[];return g(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var o=t[n];v(t[a[0]],t[a[1]],o,o)&&i.push([r,n])}}),i}function l(t,e,r,n,i){function a(e){if(e>=t.length)return o[e-t.length];var r=t[e];return[y(r[0]),y(r[1])]}for(var o=[],s=0;s<r.length;++s){var l=r[s],u=l[0],c=l[1],h=e[u],f=e[c],d=M(_(t[h[0]]),_(t[h[1]]),_(t[f[0]]),_(t[f[1]]));if(d){var p=o.length+t.length;o.push(d),n.push([u,p],[c,p])}}n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=a(t[1]),n=a(e[1]);return b(r[0],n[0])||b(r[1],n[1])});for(var s=n.length-1;s>=0;--s){var m=n[s],u=m[0],g=e[u],v=g[0],x=g[1],w=t[v],A=t[x];if((w[0]-A[0]||w[1]-A[1])<0){var k=v;v=x,x=k}g[0]=v;var T,E=g[1]=m[1];for(i&&(T=g[2]);s>0&&n[s-1][0]===u;){var m=n[--s],S=m[1];i?e.push([E,S,T]):e.push([E,S]),E=S}i?e.push([E,x,T]):e.push([E,x])}return o}function u(t,e,r){for(var i=t.length+e.length,a=new m(i),o=r,s=0;s<e.length;++s){var l=e[s],u=n(l[0]),c=n(l[1]);o.push([u[0],c[0],u[1],c[1]]),t.push([x(l[0]),x(l[1])])}g(o,function(t,e){a.link(t,e)});for(var h=0,f=!0,d=new Array(i),s=0;s<i;++s){a.find(s)===s?(d[s]=h,t[h++]=t[s]):(f=!1,d[s]=-1)}if(t.length=h,f)return null;for(var s=0;s<i;++s)d[s]<0&&(d[s]=d[a.find(s)]);return d}function c(t,e){return t[0]-e[0]||t[1]-e[1]}function h(t,e){var r=t[0]-e[0]||t[1]-e[1];return r?r:t[2]<e[2]?-1:t[2]>e[2]?1:0}function f(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=t[n],a=e[i[0]],o=e[i[1]];i[0]=Math.min(a,o),i[1]=Math.max(a,o)}else for(var n=0;n<t.length;++n){var i=t[n],a=i[0],o=i[1];i[0]=Math.min(a,o),i[1]=Math.max(a,o)}r?t.sort(h):t.sort(c);for(var s=1,n=1;n<t.length;++n){var l=t[n-1],u=t[n];(u[0]!==l[0]||u[1]!==l[1]||r&&u[2]!==l[2])&&(t[s++]=u)}t.length=s}}function d(t,e,r){var n=i(t,e),c=o(t,e,n),h=a(t),d=s(t,e,n,h),p=l(t,e,c,d,r),m=u(t,p,h);return f(e,m,r),!!m||(c.length>0||d.length>0)}function p(t,e,r){var n,i=!1;if(r){n=e;for(var a=new Array(e.length),o=0;o<e.length;++o){var s=e[o];a[o]=[s[0],s[1],r[o]]}e=a}for(;d(t,e,!!r);)i=!0;if(r&&i){n.length=0,r.length=0;for(var o=0;o<e.length;++o){var s=e[o];n.push([s[0],s[1]]),r.push(s[2])}}return i}e.exports=p;var m=t(\"union-find\"),g=t(\"box-intersect\"),v=(t(\"compare-cell\"),t(\"robust-segment-intersect\")),y=t(\"big-rat\"),b=t(\"big-rat/cmp\"),x=t(\"big-rat/to-float\"),_=t(\"rat-vec\"),w=t(\"nextafter\"),M=t(\"./lib/rat-seg-intersect\")},{\"./lib/rat-seg-intersect\":80,\"big-rat\":43,\"big-rat/cmp\":41,\"big-rat/to-float\":55,\"box-intersect\":60,\"compare-cell\":91,nextafter:448,\"rat-vec\":474,\"robust-segment-intersect\":490,\"union-find\":520}],80:[function(t,e,r){\"use strict\";function n(t,e){return s(a(t[0],e[1]),a(t[1],e[0]))}function i(t,e,r,i){var a=u(e,t),s=u(i,r),f=n(a,s);return 0===l(f)?null:c(t,h(a,o(n(s,u(t,r)),f)))}e.exports=i;var a=t(\"big-rat/mul\"),o=t(\"big-rat/div\"),s=t(\"big-rat/sub\"),l=t(\"big-rat/sign\"),u=t(\"rat-vec/sub\"),c=t(\"rat-vec/add\"),h=t(\"rat-vec/muls\");t(\"big-rat/to-float\")},{\"big-rat/div\":42,\"big-rat/mul\":52,\"big-rat/sign\":53,\"big-rat/sub\":54,\"big-rat/to-float\":55,\"rat-vec/add\":473,\"rat-vec/muls\":475,\"rat-vec/sub\":476}],81:[function(t,e,r){(function(t){var r=function(){\"use strict\";function e(r,n,i,a){function s(r,i){if(null===r)return null;if(0==i)return r;var h,f;if(\"object\"!=typeof r)return r;if(e.__isArray(r))h=[];else if(e.__isRegExp(r))h=new RegExp(r.source,o(r)),r.lastIndex&&(h.lastIndex=r.lastIndex);else if(e.__isDate(r))h=new Date(r.getTime());else{if(c&&t.isBuffer(r))return h=new t(r.length),r.copy(h),h;void 0===a?(f=Object.getPrototypeOf(r),h=Object.create(f)):(h=Object.create(a),f=a)}if(n){var d=l.indexOf(r);if(d!=-1)return u[d];l.push(r),u.push(h)}for(var p in r){var m;f&&(m=Object.getOwnPropertyDescriptor(f,p)),m&&null==m.set||(h[p]=s(r[p],i-1))}return h}\"object\"==typeof n&&(i=n.depth,a=n.prototype,n.filter,n=n.circular);var l=[],u=[],c=void 0!==t;return void 0===n&&(n=!0),void 0===i&&(i=1/0),s(r,i)}function r(t){return Object.prototype.toString.call(t)}function n(t){return\"object\"==typeof t&&\"[object Date]\"===r(t)}function i(t){return\"object\"==typeof t&&\"[object Array]\"===r(t)}function a(t){return\"object\"==typeof t&&\"[object RegExp]\"===r(t)}function o(t){var e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),e}return e.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},e.__objToStr=r,e.__isDate=n,e.__isArray=i,e.__isRegExp=a,e.__getRegExpFlags=o,e}();\"object\"==typeof e&&e.exports&&(e.exports=r)}).call(this,t(\"buffer\").Buffer)},{buffer:67}],82:[function(t,e,r){\"use strict\";function n(t,e){null==e&&(e=!0);var r=t[0],n=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,n*=255,a*=255,o*=255),r=255&i(r,0,255),n=255&i(n,0,255),a=255&i(a,0,255),o=255&i(o,0,255),16777216*r+(n<<16)+(a<<8)+o}var i=t(\"clamp\");e.exports=n},{clamp:78}],83:[function(t,e,r){e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],84:[function(t,e,r){\"use strict\";function n(t){var e,r,n=[],s=1;if(\"string\"==typeof t)if(i[t])n=i[t].slice(),r=\"rgb\";else if(\"transparent\"===t)s=0,r=\"rgb\",n=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var l=t.slice(1),u=l.length,c=u<=4;s=1,c?(n=[parseInt(l[0]+l[0],16),parseInt(l[1]+l[1],16),parseInt(l[2]+l[2],16)],4===u&&(s=parseInt(l[3]+l[3],16)/255)):(n=[parseInt(l[0]+l[1],16),parseInt(l[2]+l[3],16),parseInt(l[4]+l[5],16)],8===u&&(s=parseInt(l[6]+l[7],16)/255)),n[0]||(n[0]=0),n[1]||(n[1]=0),n[2]||(n[2]=0),r=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var h=e[1],l=h.replace(/a$/,\"\");r=l;var u=\"cmyk\"===l?4:\"gray\"===l?1:3;n=e[2].trim().split(/\\s*,\\s*/).map(function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:\"rgb\"===l?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===l[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),h===l&&n.push(1),s=void 0===n[u]?1:n[u],n=n.slice(0,u)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(n=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),r=t.match(/([a-z])/gi).join(\"\").toLowerCase());else\"number\"==typeof t?(r=\"rgb\",n=[t>>>16,(65280&t)>>>8,255&t]):a(t)?(null!=t.r?(n=[t.r,t.g,t.b],r=\"rgb\"):null!=t.red?(n=[t.red,t.green,t.blue],r=\"rgb\"):null!=t.h?(n=[t.h,t.s,t.l],r=\"hsl\"):null!=t.hue&&(n=[t.hue,t.saturation,t.lightness],r=\"hsl\"),null!=t.a?s=t.a:null!=t.alpha?s=t.alpha:null!=t.opacity&&(s=t.opacity/100)):(Array.isArray(t)||ArrayBuffer.isView(t))&&(n=[t[0],t[1],t[2]],r=\"rgb\",s=4===t.length?t[3]:1);return{space:r,values:n,alpha:s}}e.exports=n;var i=t(\"color-name\"),a=t(\"is-plain-obj\"),o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},{\"color-name\":83,\"is-plain-obj\":277}],85:[function(t,e,r){\"use strict\";var n=t(\"color-parse\"),i=t(\"color-space/hsl\"),a=t(\"clamp\");e.exports=function(t,e){null==e&&(e=!0);var r=n(t);if(!r.space)return[];if(Array.isArray(t))return t;var o,s=r.values,l=s.length;for(o=0;o<l;o++)s[o]=a(s[o],0,255);if(\"h\"===r.space[0]&&(s=i.rgb(s)),e)for(o=0;o<l;o++)s[o]/=255;return s.push(a(r.alpha,0,1)),s}},{clamp:78,\"color-parse\":84,\"color-space/hsl\":86}],86:[function(t,e,r){\"use strict\";var n=t(\"./rgb\");e.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return a=255*l,[a,a,a];r=l<.5?l*(1+s):l+s-l*s,e=2*l-r,i=[0,0,0];for(var u=0;u<3;u++)n=o+1/3*-(u-1),n<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n,i=t[0]/255,a=t[1]/255,o=t[2]/255,s=Math.min(i,a,o),l=Math.max(i,a,o),u=l-s;return l===s?e=0:i===l?e=(a-o)/u:a===l?e=2+(o-i)/u:o===l&&(e=4+(i-a)/u),e=Math.min(60*e,360),e<0&&(e+=360),n=(s+l)/2,r=l===s?0:n<=.5?u/(l+s):u/(2-l-s),[e,100*r,100*n]}},{\"./rgb\":87}],87:[function(t,e,r){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},{}],88:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:0,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],89:[function(t,e,r){\"use strict\";function n(t){var e,r,n,u,c,h,f,d,p,m,g,v,y,b=[],x=[],_=[],w=[];if(o.isPlainObject(t)||(t={}),p=t.nshades||72,d=t.format||\"hex\",f=t.colormap,f||(f=\"jet\"),\"string\"==typeof f){if(f=f.toLowerCase(),!l[f])throw Error(f+\" not a supported colorscale\");h=s(l[f])}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);h=s(f)}if(h.length>p)throw new Error(f+\" map requires nshades to be at least size \"+h.length);for(g=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:s(t.alpha):\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=h.map(function(t){return Math.round(t.index*p)}),g[0]<0&&(g[0]=0),g[1]<0&&(g[0]=0),g[0]>1&&(g[0]=1),g[1]>1&&(g[0]=1),y=0;y<e.length;++y)v=h[y].index,r=h[y].rgb,4===r.length&&r[3]>=0&&r[3]<=1||(r[3]=g[0]+(g[1]-g[0])*v);for(y=0;y<e.length-1;++y)c=e[y+1]-e[y],n=h[y].rgb,u=h[y+1].rgb,b=b.concat(o.linspace(n[0],u[0],c)),x=x.concat(o.linspace(n[1],u[1],c)),_=_.concat(o.linspace(n[2],u[2],c)),w=w.concat(o.linspace(n[3],u[3],c));return b=b.map(Math.round),x=x.map(Math.round),_=_.map(Math.round),m=o.zip(b,x,_,w),\"hex\"===d&&(m=m.map(i)),\"rgbaString\"===d&&(m=m.map(a)),m}function i(t){for(var e,r=\"#\",n=0;n<3;++n)e=t[n],e=e.toString(16),r+=(\"00\"+e).substr(e.length);return r}function a(t){return\"rgba(\"+t.join(\",\")+\")\"}var o=t(\"arraytools\"),s=t(\"clone\"),l=t(\"./colorScales\");e.exports=n},{\"./colorScales\":88,arraytools:36,clone:81}],90:[function(t,e,r){\"use strict\";function n(t,e,r){var n=s(t[0],-e[0]),i=s(t[1],-e[1]),a=s(r[0],-e[0]),o=s(r[1],-e[1]),c=u(l(n,a),l(i,o));return c[c.length-1]>=0}function i(t,e,r,i){var s=a(e,r,i);if(0===s){var l=o(a(t,e,r)),u=o(a(t,e,i));if(l===u){if(0===l){var c=n(t,e,r);return c===n(t,e,i)?0:c?1:-1}return 0}return 0===u?l>0?-1:n(t,e,i)?-1:1:0===l?u>0?1:n(t,e,r)?1:-1:o(u-l)}var h=a(t,e,r);return h>0?s>0&&a(t,e,i)>0?1:-1:h<0?s>0||a(t,e,i)>0?1:-1:a(t,e,i)>0?1:n(t,e,r)?1:-1}e.exports=i;var a=t(\"robust-orientation\"),o=t(\"signum\"),s=t(\"two-sum\"),l=t(\"robust-product\"),u=t(\"robust-sum\")},{\"robust-orientation\":487,\"robust-product\":488,\"robust-sum\":492,signum:494,\"two-sum\":518}],91:[function(t,e,r){function n(t,e){return t-e}function i(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||a(t[0],t[1])-a(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=a(t[0],t[1]),u=a(e[0],e[1]);return a(l,t[2])-a(u,e[2])||a(l+t[2],o)-a(u+e[2],s);case 4:var c=t[0],h=t[1],f=t[2],d=t[3],p=e[0],m=e[1],g=e[2],v=e[3]\n;return c+h+f+d-(p+m+g+v)||a(c,h,f,d)-a(p,m,g,v,p)||a(c+h,c+f,c+d,h+f,h+d,f+d)-a(p+m,p+g,p+v,m+g,m+v,g+v)||a(c+h+f,c+h+d,c+f+d,h+f+d)-a(p+m+g,p+m+v,p+g+v,m+g+v);default:for(var y=t.slice().sort(n),b=e.slice().sort(n),x=0;x<r;++x)if(i=y[x]-b[x])return i;return 0}}e.exports=i;var a=Math.min},{}],92:[function(t,e,r){\"use strict\";function n(t,e){return i(t,e)||a(t)-a(e)}var i=t(\"compare-cell\"),a=t(\"cell-orientation\");e.exports=n},{\"cell-orientation\":75,\"compare-cell\":91}],93:[function(t,e,r){\"use strict\";function n(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?i(t):2===r?a(t):o(t,r)}var i=t(\"./lib/ch1d\"),a=t(\"./lib/ch2d\"),o=t(\"./lib/chnd\");e.exports=n},{\"./lib/ch1d\":94,\"./lib/ch2d\":95,\"./lib/chnd\":96}],94:[function(t,e,r){\"use strict\";function n(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}e.exports=n},{}],95:[function(t,e,r){\"use strict\";function n(t){var e=i(t),r=e.length;if(r<=2)return[];for(var n=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];n[o]=[a,s],a=s}return n}e.exports=n;var i=t(\"monotone-convex-hull-2d\")},{\"monotone-convex-hull-2d\":431}],96:[function(t,e,r){\"use strict\";function n(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}function i(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}function a(t,e){try{return o(t,!0)}catch(u){var r=s(t);if(r.length<=e)return[];var a=n(t,r),l=o(a,!0);return i(l,r)}}e.exports=a;var o=t(\"incremental-convex-hull\"),s=t(\"affine-hull\")},{\"affine-hull\":33,\"incremental-convex-hull\":271}],97:[function(t,e,r){e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|\\xe7)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|\\xe9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xe9)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|\\xe3)o.?tom(e|\\xe9)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},{}],98:[function(t,e,r){function n(t){return t=Math.round(t),t<0?0:t>255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return n(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function o(t){return i(\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}function l(t){var e=t.replace(/ /g,\"\").toLowerCase();if(e in u)return u[e].slice();if(\"#\"===e[0]){if(4===e.length){var r=parseInt(e.substr(1),16);return r>=0&&r<=4095?[(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,1]:null}if(7===e.length){var r=parseInt(e.substr(1),16);return r>=0&&r<=16777215?[(16711680&r)>>16,(65280&r)>>8,255&r,1]:null}return null}var i=e.indexOf(\"(\"),l=e.indexOf(\")\");if(i!==-1&&l+1===e.length){var c=e.substr(0,i),h=e.substr(i+1,l-(i+1)).split(\",\"),f=1;switch(c){case\"rgba\":if(4!==h.length)return null;f=o(h.pop());case\"rgb\":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case\"hsla\":if(4!==h.length)return null;f=o(h.pop());case\"hsl\":if(3!==h.length)return null;var d=(parseFloat(h[0])%360+360)%360/360,p=o(h[1]),m=o(h[2]),g=m<=.5?m*(p+1):m+p-m*p,v=2*m-g;return[n(255*s(v,g,d+1/3)),n(255*s(v,g,d)),n(255*s(v,g,d-1/3)),f];default:return null}}return null}var u={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{r.parseCSSColor=l}catch(t){}},{}],99:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}function i(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var d=t.length-1;d>=0;--d)a[d]=u*t[d]+c*e[d]+h*r[d]+f*n[d];return a}return u*t+c*e+h*r+f*n}e.exports=i,e.exports.derivative=n},{}],100:[function(t,e,r){\"use strict\";function n(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=\"\",this.pre=null,this.body=null,this.post=null,this.debug=!1}function i(t){var e=new n;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i<r.length;++i){var o=r[i];if(\"array\"===o||\"object\"==typeof o&&o.blockIndices){if(e.argTypes[i]=\"array\",e.arrayArgs.push(i),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push(\"array\"+i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error(\"cwise: pre() block may not reference array args\");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error(\"cwise: post() block may not reference array args\")}else if(\"scalar\"===o)e.scalarArgs.push(i),e.shimArgs.push(\"scalar\"+i);else if(\"index\"===o){if(e.indexArgs.push(i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error(\"cwise: pre() block may not reference array index\");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error(\"cwise: body() block may not write to array index\");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error(\"cwise: post() block may not reference array index\")}else if(\"shape\"===o){if(e.shapeArgs.push(i),i<e.pre.args.length&&e.pre.args[i].lvalue)throw new Error(\"cwise: pre() block may not write to array shape\");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error(\"cwise: body() block may not write to array shape\");if(i<e.post.args.length&&e.post.args[i].lvalue)throw new Error(\"cwise: post() block may not write to array shape\")}else{if(\"object\"!=typeof o||!o.offset)throw new Error(\"cwise: Unknown argument type \"+r[i]);e.argTypes[i]=\"offset\",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length<=0)throw new Error(\"cwise: No array arguments specified\");if(e.pre.args.length>r.length)throw new Error(\"cwise: Too many arguments in pre() block\");if(e.body.args.length>r.length)throw new Error(\"cwise: Too many arguments in body() block\");if(e.post.args.length>r.length)throw new Error(\"cwise: Too many arguments in post() block\");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||\"cwise\",e.blockSize=t.blockSize||64,a(e)}var a=t(\"./lib/thunk.js\");e.exports=i},{\"./lib/thunk.js\":102}],101:[function(t,e,r){\"use strict\";function n(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],u=[],c=0,h=0;for(n=0;n<a;++n)u.push([\"i\",n,\"=0\"].join(\"\"));for(i=0;i<o;++i)for(n=0;n<a;++n)h=c,c=t[n],0===n?u.push([\"d\",i,\"s\",n,\"=t\",i,\"p\",c].join(\"\")):u.push([\"d\",i,\"s\",n,\"=(t\",i,\"p\",c,\"-s\",h,\"*t\",i,\"p\",h,\")\"].join(\"\"));for(l.push(\"var \"+u.join(\",\")),n=a-1;n>=0;--n)c=t[n],l.push([\"for(i\",n,\"=0;i\",n,\"<s\",c,\";++i\",n,\"){\"].join(\"\"));for(l.push(r),n=0;n<a;++n){for(h=c,c=t[n],i=0;i<o;++i)l.push([\"p\",i,\"+=d\",i,\"s\",n].join(\"\"));s&&(n>0&&l.push([\"index[\",h,\"]-=s\",h].join(\"\")),l.push([\"++index[\",c,\"]\"].join(\"\"))),l.push(\"}\")}return l.join(\"\\n\")}function i(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,u=[],c=0;c<o;++c)u.push([\"var offset\",c,\"=p\",c].join(\"\"));for(var c=t;c<a;++c)u.push([\"for(var j\"+c+\"=SS[\",e[c],\"]|0;j\",c,\">0;){\"].join(\"\")),u.push([\"if(j\",c,\"<\",s,\"){\"].join(\"\")),u.push([\"s\",e[c],\"=j\",c].join(\"\")),u.push([\"j\",c,\"=0\"].join(\"\")),u.push([\"}else{s\",e[c],\"=\",s].join(\"\")),u.push([\"j\",c,\"-=\",s,\"}\"].join(\"\")),l&&u.push([\"index[\",e[c],\"]=j\",c].join(\"\"));for(var c=0;c<o;++c){for(var h=[\"offset\"+c],f=t;f<a;++f)h.push([\"j\",f,\"*t\",c,\"p\",e[f]].join(\"\"));u.push([\"p\",c,\"=(\",h.join(\"+\"),\")\"].join(\"\"))}u.push(n(e,r,i));for(var c=t;c<a;++c)u.push(\"}\");return u.join(\"\\n\")}function a(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}function o(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\"g\"),u=\"\",c=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\"offset\":var h=e.offsetArgIndex.indexOf(o);c=e.offsetArgs[h].array,u=\"+q\"+h;case\"array\":u=\"p\"+c+u;var f=\"l\"+o,d=\"a\"+c;if(0===e.arrayBlockIndices[c])1===s.count?\"generic\"===r[c]?s.lvalue?(i.push([\"var \",f,\"=\",d,\".get(\",u,\")\"].join(\"\")),n=n.replace(l,f),a.push([d,\".set(\",u,\",\",f,\")\"].join(\"\"))):n=n.replace(l,[d,\".get(\",u,\")\"].join(\"\")):n=n.replace(l,[d,\"[\",u,\"]\"].join(\"\")):\"generic\"===r[c]?(i.push([\"var \",f,\"=\",d,\".get(\",u,\")\"].join(\"\")),n=n.replace(l,f),s.lvalue&&a.push([d,\".set(\",u,\",\",f,\")\"].join(\"\"))):(i.push([\"var \",f,\"=\",d,\"[\",u,\"]\"].join(\"\")),n=n.replace(l,f),s.lvalue&&a.push([d,\"[\",u,\"]=\",f].join(\"\")));else{for(var p=[s.name],m=[u],g=0;g<Math.abs(e.arrayBlockIndices[c]);g++)p.push(\"\\\\s*\\\\[([^\\\\]]+)\\\\]\"),m.push(\"$\"+(g+1)+\"*t\"+c+\"b\"+g);if(l=new RegExp(p.join(\"\"),\"g\"),u=m.join(\"+\"),\"generic\"===r[c])throw new Error(\"cwise: Generic arrays not supported in combination with blocks!\");n=n.replace(l,[d,\"[\",u,\"]\"].join(\"\"))}break;case\"scalar\":n=n.replace(l,\"Y\"+e.scalarArgs.indexOf(o));break;case\"index\":n=n.replace(l,\"index\");break;case\"shape\":n=n.replace(l,\"shape\")}}}return[i.join(\"\\n\"),n,a.join(\"\\n\")].join(\"\\n\").trim()}function s(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\d+/);a=a?a[0]:\"\",0===i.charAt(0)?e[n]=\"u\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\"\")}function l(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,l=new Array(t.arrayArgs.length),c=new Array(t.arrayArgs.length),h=0;h<t.arrayArgs.length;++h)c[h]=e[2*h],l[h]=e[2*h+1];for(var f=[],d=[],p=[],m=[],g=[],h=0;h<t.arrayArgs.length;++h){t.arrayBlockIndices[h]<0?(p.push(0),m.push(r),f.push(r),d.push(r+t.arrayBlockIndices[h])):(p.push(t.arrayBlockIndices[h]),m.push(t.arrayBlockIndices[h]+r),f.push(0),d.push(t.arrayBlockIndices[h]));for(var v=[],y=0;y<l[h].length;y++)p[h]<=l[h][y]&&l[h][y]<m[h]&&v.push(l[h][y]-p[h]);g.push(v)}for(var b=[\"SS\"],x=[\"'use strict'\"],_=[],y=0;y<r;++y)_.push([\"s\",y,\"=SS[\",y,\"]\"].join(\"\"));for(var h=0;h<t.arrayArgs.length;++h){b.push(\"a\"+h),b.push(\"t\"+h),b.push(\"p\"+h);for(var y=0;y<r;++y)_.push([\"t\",h,\"p\",y,\"=t\",h,\"[\",p[h]+y,\"]\"].join(\"\"));for(var y=0;y<Math.abs(t.arrayBlockIndices[h]);++y)_.push([\"t\",h,\"b\",y,\"=t\",h,\"[\",f[h]+y,\"]\"].join(\"\"))}for(var h=0;h<t.scalarArgs.length;++h)b.push(\"Y\"+h);if(t.shapeArgs.length>0&&_.push(\"shape=SS.slice(0)\"),t.indexArgs.length>0){for(var w=new Array(r),h=0;h<r;++h)w[h]=\"0\";_.push([\"index=[\",w.join(\",\"),\"]\"].join(\"\"))}for(var h=0;h<t.offsetArgs.length;++h){for(var M=t.offsetArgs[h],A=[],y=0;y<M.offset.length;++y)0!==M.offset[y]&&(1===M.offset[y]?A.push([\"t\",M.array,\"p\",y].join(\"\")):A.push([M.offset[y],\"*t\",M.array,\"p\",y].join(\"\")));0===A.length?_.push(\"q\"+h+\"=0\"):_.push([\"q\",h,\"=\",A.join(\"+\")].join(\"\"))}var k=u([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));_=_.concat(k),x.push(\"var \"+_.join(\",\"));for(var h=0;h<t.arrayArgs.length;++h)x.push(\"p\"+h+\"|=0\");t.pre.body.length>3&&x.push(o(t.pre,t,c));var T=o(t.body,t,c),E=a(g);E<r?x.push(i(E,g[0],t,T)):x.push(n(g[0],t,T)),t.post.body.length>3&&x.push(o(t.post,t,c)),t.debug&&console.log(\"-----Generated cwise routine for \",e,\":\\n\"+x.join(\"\\n\")+\"\\n----------\");var S=[t.funcName||\"unnamed\",\"_cwise_loop_\",l[0].join(\"s\"),\"m\",E,s(c)].join(\"\");return new Function([\"function \",S,\"(\",b.join(\",\"),\"){\",x.join(\"\\n\"),\"} return \",S].join(\"\"))()}var u=t(\"uniq\");e.exports=l},{uniq:521}],102:[function(t,e,r){\"use strict\";function n(t){var e=[\"'use strict'\",\"var CACHED={}\"],r=[],n=t.funcName+\"_cwise_thunk\";e.push([\"return function \",n,\"(\",t.shimArgs.join(\",\"),\"){\"].join(\"\"));for(var a=[],o=[],s=[[\"array\",t.arrayArgs[0],\".shape.slice(\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\",\"+t.arrayBlockIndices[0]+\")\":\")\"].join(\"\")],l=[],u=[],c=0;c<t.arrayArgs.length;++c){var h=t.arrayArgs[c];r.push([\"t\",h,\"=array\",h,\".dtype,\",\"r\",h,\"=array\",h,\".order\"].join(\"\")),a.push(\"t\"+h),a.push(\"r\"+h),o.push(\"t\"+h),o.push(\"r\"+h+\".join()\"),s.push(\"array\"+h+\".data\"),s.push(\"array\"+h+\".stride\"),s.push(\"array\"+h+\".offset|0\"),c>0&&(l.push(\"array\"+t.arrayArgs[0]+\".shape.length===array\"+h+\".shape.length+\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),u.push(\"array\"+t.arrayArgs[0]+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[0])+\"]===array\"+h+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[c])+\"]\"))}t.arrayArgs.length>1&&(e.push(\"if (!(\"+l.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same dimensionality!')\"),e.push(\"for(var shapeIndex=array\"+t.arrayArgs[0]+\".shape.length-\"+Math.abs(t.arrayBlockIndices[0])+\"; shapeIndex-->0;) {\"),e.push(\"if (!(\"+u.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same shape!')\"),e.push(\"}\"));for(var c=0;c<t.scalarArgs.length;++c)s.push(\"scalar\"+t.scalarArgs[c]);return r.push([\"type=[\",o.join(\",\"),\"].join()\"].join(\"\")),r.push(\"proc=CACHED[type]\"),e.push(\"var \"+r.join(\",\")),e.push([\"if(!proc){\",\"CACHED[type]=proc=compile([\",a.join(\",\"),\"])}\",\"return proc(\",s.join(\",\"),\")}\"].join(\"\")),t.debug&&console.log(\"-----Generated thunk:\\n\"+e.join(\"\\n\")+\"\\n----------\"),new Function(\"compile\",e.join(\"\\n\"))(i.bind(void 0,t))}var i=t(\"./compile.js\");e.exports=n},{\"./compile.js\":101}],103:[function(t,e,r){e.exports=t(\"cwise-compiler\")},{\"cwise-compiler\":100}],104:[function(e,r,n){!function(){function e(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function i(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function a(t){return null===t?NaN:+t}function o(t){return!isNaN(t)}function s(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}function l(t){return t.length}function u(t){for(var e=1;t*e%1;)e*=10;return e}function c(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function h(){this._=Object.create(null)}function f(t){return(t+=\"\")===_o||t[0]===wo?wo+t:t}function d(t){return(t+=\"\")[0]===wo?t.slice(1):t}function p(t){return f(t)in this._}function m(t){return(t=f(t))in this._&&delete this._[t]}function g(){var t=[];for(var e in this._)t.push(d(e));return t}function v(){var t=0;for(var e in this._)++t;return t}function y(){for(var t in this._)return!1;return!0}function b(){this._=Object.create(null)}function x(t){return t}function _(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function w(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=Mo.length;r<n;++r){var i=Mo[r]+e;if(i in t)return i}}function M(){}function A(){}function k(t){function e(){for(var e,n=r,i=-1,a=n.length;++i<a;)(e=n[i].on)&&e.apply(this,arguments);return t}var r=[],n=new h;return e.on=function(e,i){var a,o=n.get(e);return arguments.length<2?o&&o.on:(o&&(o.on=null,r=r.slice(0,a=r.indexOf(o)).concat(r.slice(a+1)),n.remove(e)),i&&r.push(n.set(e,{on:i})),t)},e}function T(){uo.event.preventDefault()}function E(){for(var t,e=uo.event;t=e.sourceEvent;)e=t;return e}function S(t){for(var e=new A,r=0,n=arguments.length;++r<n;)e[arguments[r]]=k(e);return e.of=function(r,n){return function(i){try{var a=i.sourceEvent=uo.event;i.target=t,uo.event=i,e[i.type].apply(r,n)}finally{uo.event=a}}},e}function L(t){return ko(t,Lo),t}function C(t){return\"function\"==typeof t?t:function(){return To(t,this)}}function D(t){return\"function\"==typeof t?t:function(){return Eo(t,this)}}function I(t,e){function r(){this.removeAttribute(t)}function n(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function a(){this.setAttributeNS(t.space,t.local,e)}function o(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}function s(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}return t=uo.ns.qualify(t),null==e?t.local?n:r:\"function\"==typeof e?t.local?s:o:t.local?a:i}function z(t){return t.trim().replace(/\\s+/g,\" \")}function P(t){return new RegExp(\"(?:^|\\\\s+)\"+uo.requote(t)+\"(?:\\\\s+|$)\",\"g\")}function O(t){return(t+\"\").trim().split(/^|\\s+/)}function R(t,e){function r(){for(var r=-1;++r<i;)t[r](this,e)}function n(){for(var r=-1,n=e.apply(this,arguments);++r<i;)t[r](this,n)}t=O(t).map(F);var i=t.length;return\"function\"==typeof e?n:r}function F(t){var e=P(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\"class\")||\"\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\"class\",z(i+\" \"+t))):r.setAttribute(\"class\",z(i.replace(e,\" \")))}}function j(t,e,r){function n(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,r)}function a(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}return null==e?n:\"function\"==typeof e?a:i}function N(t,e){function r(){delete this[t]}function n(){this[t]=e}function i(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}return null==e?r:\"function\"==typeof e?i:n}function B(t){function e(){var e=this.ownerDocument,r=this.namespaceURI;return r===Co&&e.documentElement.namespaceURI===Co?e.createElement(t):e.createElementNS(r,t)}function r(){return this.ownerDocument.createElementNS(t.space,t.local)}return\"function\"==typeof t?t:(t=uo.ns.qualify(t)).local?r:e}function U(){var t=this.parentNode;t&&t.removeChild(this)}function V(t){return{__data__:t}}function H(t){return function(){return So(this,t)}}function q(t){return arguments.length||(t=i),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function G(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function Y(t){return ko(t,Io),t}function X(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&&(r=a,e=0),i>=e&&(e=i+1);!(o=s[e])&&++e<l;);return o}}function W(t,e,r){function n(){var e=this[o];e&&(this.removeEventListener(t,e,e.$),delete this[o])}function i(){var i=l(e,ho(arguments));n.call(this),this.addEventListener(t,this[o]=i,i.$=r),i._=e}function a(){var e,r=new RegExp(\"^__on([^.]+)\"+uo.requote(t)+\"$\");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}var o=\"__on\"+t,s=t.indexOf(\".\"),l=Z;s>0&&(t=t.slice(0,s));var u=zo.get(t);return u&&(t=u,l=J),s?e?i:n:e?M:a}function Z(t,e){return function(r){var n=uo.event;uo.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{uo.event=n}}}function J(t,e){var r=Z(t,e);return function(t){var e=this,n=t.relatedTarget;n&&(n===e||8&n.compareDocumentPosition(e))||r.call(e,t)}}function K(t){var r=\".dragsuppress-\"+ ++Oo,i=\"click\"+r,a=uo.select(n(t)).on(\"touchmove\"+r,T).on(\"dragstart\"+r,T).on(\"selectstart\"+r,T);if(null==Po&&(Po=!(\"onselectstart\"in t)&&w(t.style,\"userSelect\")),Po){var o=e(t).style,s=o[Po];o[Po]=\"none\"}return function(t){if(a.on(r,null),Po&&(o[Po]=s),t){var e=function(){a.on(i,null)};a.on(i,function(){T(),e()},!0),setTimeout(e,0)}}}function Q(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(Ro<0){var a=n(t);if(a.scrollX||a.scrollY){r=uo.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var o=r[0][0].getScreenCTM();Ro=!(o.f||o.e),r.remove()}}return Ro?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function $(){return uo.event.changedTouches[0].identifier}function tt(t){return t>0?1:t<0?-1:0}function et(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function rt(t){return t>1?0:t<-1?No:Math.acos(t)}function nt(t){return t>1?Vo:t<-1?-Vo:Math.asin(t)}function it(t){return((t=Math.exp(t))-1/t)/2}function at(t){return((t=Math.exp(t))+1/t)/2}function ot(t){return((t=Math.exp(2*t))-1)/(t+1)}function st(t){return(t=Math.sin(t/2))*t}function lt(){}function ut(t,e,r){return this instanceof ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof ut?new ut(t.h,t.s,t.l):Mt(\"\"+t,At,ut):new ut(t,e,r)}function ct(t,e,r){function n(t){return t>360?t-=360:t<0&&(t+=360),t<60?a+(o-a)*t/60:t<180?o:t<240?a+(o-a)*(240-t)/60:a}function i(t){return Math.round(255*n(t))}var a,o;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,r=r<0?0:r>1?1:r,o=r<=.5?r*(1+e):r+e-r*e,a=2*r-o,new bt(i(t+120),i(t),i(t-120))}function ht(t,e,r){return this instanceof ht?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof ht?new ht(t.h,t.c,t.l):t instanceof dt?mt(t.l,t.a,t.b):mt((t=kt((t=uo.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new ht(t,e,r)}function ft(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new dt(r,Math.cos(t*=Ho)*e,Math.sin(t)*e)}function dt(t,e,r){return this instanceof dt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof dt?new dt(t.l,t.a,t.b):t instanceof ht?ft(t.h,t.c,t.l):kt((t=bt(t)).r,t.g,t.b):new dt(t,e,r)}function pt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return i=gt(i)*Qo,n=gt(n)*$o,a=gt(a)*ts,new bt(yt(3.2404542*i-1.5371385*n-.4985314*a),yt(-.969266*i+1.8760108*n+.041556*a),yt(.0556434*i-.2040259*n+1.0572252*a))}function mt(t,e,r){return t>0?new ht(Math.atan2(r,e)*qo,Math.sqrt(e*e+r*r),t):new ht(NaN,NaN,t)}function gt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function vt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function yt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function bt(t,e,r){return this instanceof bt?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof bt?new bt(t.r,t.g,t.b):Mt(\"\"+t,bt,ct):new bt(t,e,r)}function xt(t){return new bt(t>>16,t>>8&255,255&t)}function _t(t){return xt(t)+\"\"}function wt(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function Mt(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(Et(i[0]),Et(i[1]),Et(i[2]))}\nreturn(a=ns.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function At(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new ut(n,i,l)}function kt(t,e,r){t=Tt(t),e=Tt(e),r=Tt(r);var n=vt((.4124564*t+.3575761*e+.1804375*r)/Qo),i=vt((.2126729*t+.7151522*e+.072175*r)/$o);return dt(116*i-16,500*(n-i),200*(i-vt((.0193339*t+.119192*e+.9503041*r)/ts)))}function Tt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Et(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}function St(t){return\"function\"==typeof t?t:function(){return t}}function Lt(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),Ct(e,r,t,n)}}function Ct(t,e,r,n){function i(){var t,e=l.status;if(!e&&It(l)||e>=200&&e<300||304===e){try{t=r.call(a,l)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,l)}var a={},o=uo.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),s={},l=new XMLHttpRequest,u=null;return!this.XDomainRequest||\"withCredentials\"in l||!/^(http(s)?:)?\\/\\//.test(t)||(l=new XDomainRequest),\"onload\"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(t){var e=uo.event;uo.event=t;try{o.progress.call(a,l)}finally{uo.event=e}},a.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?s[t]:(null==e?delete s[t]:s[t]=e+\"\",a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+\"\",a):e},a.responseType=function(t){return arguments.length?(u=t,a):u},a.response=function(t){return r=t,a},[\"get\",\"post\"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(ho(arguments)))}}),a.send=function(r,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),l.open(r,t,!0),null==e||\"accept\"in s||(s.accept=e+\",*/*\"),l.setRequestHeader)for(var c in s)l.setRequestHeader(c,s[c]);return null!=e&&l.overrideMimeType&&l.overrideMimeType(e),null!=u&&(l.responseType=u),null!=i&&a.on(\"error\",i).on(\"load\",function(t){i(null,t)}),o.beforesend.call(a,l),l.send(null==n?null:n),a},a.abort=function(){return l.abort(),a},uo.rebind(a,o,\"on\"),null==n?a:a.get(Dt(n))}function Dt(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}function It(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}function zt(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i=r+e,a={c:t,t:i,n:null};return as?as.n=a:is=a,as=a,os||(ss=clearTimeout(ss),os=1,ls(Pt)),a}function Pt(){var t=Ot(),e=Rt()-t;e>24?(isFinite(e)&&(clearTimeout(ss),ss=setTimeout(Pt,e)),os=0):(os=1,ls(Pt))}function Ot(){for(var t=Date.now(),e=is;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Rt(){for(var t,e=is,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:is=e.n;return as=t,r}function Ft(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function jt(t,e){var r=Math.pow(10,3*xo(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}}function Nt(t){var e=t.decimal,r=t.thousands,n=t.grouping,i=t.currency,a=n&&r?function(t,e){for(var i=t.length,a=[],o=0,s=n[0],l=0;i>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>e));)s=n[o=(o+1)%n.length];return a.reverse().join(r)}:x;return function(t){var r=cs.exec(t),n=r[1]||\" \",o=r[2]||\">\",s=r[3]||\"-\",l=r[4]||\"\",u=r[5],c=+r[6],h=r[7],f=r[8],d=r[9],p=1,m=\"\",g=\"\",v=!1,y=!0;switch(f&&(f=+f.substring(1)),(u||\"0\"===n&&\"=\"===o)&&(u=n=\"0\",o=\"=\"),d){case\"n\":h=!0,d=\"g\";break;case\"%\":p=100,g=\"%\",d=\"f\";break;case\"p\":p=100,g=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===l&&(m=\"0\"+d.toLowerCase());case\"c\":y=!1;case\"d\":v=!0,f=0;break;case\"s\":p=-1,d=\"r\"}\"$\"===l&&(m=i[0],g=i[1]),\"r\"!=d||f||(d=\"g\"),null!=f&&(\"g\"==d?f=Math.max(1,Math.min(21,f)):\"e\"!=d&&\"f\"!=d||(f=Math.max(0,Math.min(20,f)))),d=hs.get(d)||Bt;var b=u&&h;return function(t){var r=g;if(v&&t%1)return\"\";var i=t<0||0===t&&1/t<0?(t=-t,\"-\"):\"-\"===s?\"\":s;if(p<0){var l=uo.formatPrefix(t,f);t=l.scale(t),r=l.symbol+g}else t*=p;t=d(t,f);var x,_,w=t.lastIndexOf(\".\");if(w<0){var M=y?t.lastIndexOf(\"e\"):-1;M<0?(x=t,_=\"\"):(x=t.substring(0,M),_=t.substring(M))}else x=t.substring(0,w),_=e+t.substring(w+1);!u&&h&&(x=a(x,1/0));var A=m.length+x.length+_.length+(b?0:i.length),k=A<c?new Array(A=c-A+1).join(n):\"\";return b&&(x=a(k+x,k.length?c-_.length:1/0)),i+=m,t=x+_,(\"<\"===o?i+t+k:\">\"===o?k+i+t:\"^\"===o?k.substring(0,A>>=1)+i+t+k.substring(A):i+(b?t:k+t))+r}}}function Bt(t){return t+\"\"}function Ut(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Vt(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new ds(r-1)),1),r}function a(t,r){return e(t=new ds(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}function s(t,e,r){try{ds=Ut;var n=new Ut;return n._=t,o(n,e,r)}finally{ds=Date}}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var l=t.utc=Ht(t);return l.floor=l,l.round=Ht(n),l.ceil=Ht(i),l.offset=Ht(a),l.range=s,t}function Ht(t){return function(e,r){try{ds=Ut;var n=new Ut;return n._=e,t(n,r)._}finally{ds=Date}}}function qt(t){function e(t){function e(e){for(var r,i,a,o=[],s=-1,l=0;++s<n;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=ms[r=t.charAt(++s)])&&(r=t.charAt(++s)),(a=S[r])&&(r=a(e,null==i?\"e\"===r?\" \":\"0\":i)),o.push(r),l=s+1);return o.push(t.slice(l,s)),o.join(\"\")}var n=t.length;return e.parse=function(e){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(r(n,t,e,0)!=e.length)return null;\"p\"in n&&(n.H=n.H%12+12*n.p);var i=null!=n.Z&&ds!==Ut,a=new(i?Ut:ds);return\"j\"in n?a.setFullYear(n.y,0,n.j):\"W\"in n||\"U\"in n?(\"w\"in n||(n.w=\"W\"in n?1:0),a.setFullYear(n.y,0,1),a.setFullYear(n.y,0,\"W\"in n?(n.w+6)%7+7*n.W-(a.getDay()+5)%7:n.w+7*n.U-(a.getDay()+6)%7)):a.setFullYear(n.y,n.m,n.d),a.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),i?a._:a},e.toString=function(){return t},e}function r(t,e,r,n){for(var i,a,o,s=0,l=e.length,u=r.length;s<l;){if(n>=u)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=L[o in ms?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}function n(t,e,r){w.lastIndex=0;var n=w.exec(e.slice(r));return n?(t.w=M.get(n[0].toLowerCase()),r+n[0].length):-1}function i(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.w=_.get(n[0].toLowerCase()),r+n[0].length):-1}function a(t,e,r){T.lastIndex=0;var n=T.exec(e.slice(r));return n?(t.m=E.get(n[0].toLowerCase()),r+n[0].length):-1}function o(t,e,r){A.lastIndex=0;var n=A.exec(e.slice(r));return n?(t.m=k.get(n[0].toLowerCase()),r+n[0].length):-1}function s(t,e,n){return r(t,S.c.toString(),e,n)}function l(t,e,n){return r(t,S.x.toString(),e,n)}function u(t,e,n){return r(t,S.X.toString(),e,n)}function c(t,e,r){var n=b.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,m=t.days,g=t.shortDays,v=t.months,y=t.shortMonths;e.utc=function(t){function r(t){try{ds=Ut;var e=new ds;return e._=t,n(e)}finally{ds=Date}}var n=e(t);return r.parse=function(t){try{ds=Ut;var e=n.parse(t);return e&&e._}finally{ds=Date}},r.toString=n.toString,r},e.multi=e.utc.multi=ce;var b=uo.map(),x=Yt(m),_=Xt(m),w=Yt(g),M=Xt(g),A=Yt(v),k=Xt(v),T=Yt(y),E=Xt(y);p.forEach(function(t,e){b.set(t.toLowerCase(),e)});var S={a:function(t){return g[t.getDay()]},A:function(t){return m[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return v[t.getMonth()]},c:e(h),d:function(t,e){return Gt(t.getDate(),e,2)},e:function(t,e){return Gt(t.getDate(),e,2)},H:function(t,e){return Gt(t.getHours(),e,2)},I:function(t,e){return Gt(t.getHours()%12||12,e,2)},j:function(t,e){return Gt(1+fs.dayOfYear(t),e,3)},L:function(t,e){return Gt(t.getMilliseconds(),e,3)},m:function(t,e){return Gt(t.getMonth()+1,e,2)},M:function(t,e){return Gt(t.getMinutes(),e,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,e){return Gt(t.getSeconds(),e,2)},U:function(t,e){return Gt(fs.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Gt(fs.mondayOfYear(t),e,2)},x:e(f),X:e(d),y:function(t,e){return Gt(t.getFullYear()%100,e,2)},Y:function(t,e){return Gt(t.getFullYear()%1e4,e,4)},Z:le,\"%\":function(){return\"%\"}},L={a:n,A:i,b:a,B:o,c:s,d:re,e:re,H:ie,I:ie,j:ne,L:se,m:ee,M:ae,p:c,S:oe,U:Zt,w:Wt,W:Jt,x:l,X:u,y:Qt,Y:Kt,Z:$t,\"%\":ue};return e}function Gt(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function Yt(t){return new RegExp(\"^(?:\"+t.map(uo.requote).join(\"|\")+\")\",\"i\")}function Xt(t){for(var e=new h,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Wt(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Zt(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Jt(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Kt(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Qt(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+2));return n?(t.y=te(+n[0]),r+n[0].length):-1}function $t(t,e,r){return/^[+-]\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function te(t){return t+(t>68?1900:2e3)}function ee(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function re(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function ne(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function ie(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function ae(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function oe(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function se(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function le(t){var e=t.getTimezoneOffset(),r=e>0?\"-\":\"+\",n=xo(e)/60|0,i=xo(e)%60;return r+Gt(n,\"0\",2)+Gt(i,\"0\",2)}function ue(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function ce(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}function he(){}function fe(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function de(t,e){t&&_s.hasOwnProperty(t.type)&&_s[t.type](t,e)}function pe(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function me(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)pe(t[r],e,1);e.polygonEnd()}function ge(){function t(t,e){t*=Ho,e=e*Ho/2+No/4;var r=t-n,o=r>=0?1:-1,s=o*r,l=Math.cos(e),u=Math.sin(e),c=a*u,h=i*l+c*Math.cos(s),f=c*o*Math.sin(s);Ms.add(Math.atan2(f,h)),n=t,i=l,a=u}var e,r,n,i,a;As.point=function(o,s){As.point=t,n=(e=o)*Ho,i=Math.cos(s=(r=s)*Ho/2+No/4),a=Math.sin(s)},As.lineEnd=function(){t(e,r)}}function ve(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function ye(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function be(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function xe(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function _e(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function we(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Me(t){return[Math.atan2(t[1],t[0]),nt(t[2])]}function Ae(t,e){return xo(t[0]-e[0])<Fo&&xo(t[1]-e[1])<Fo}function ke(t,e){t*=Ho;var r=Math.cos(e*=Ho);Te(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Te(t,e,r){++ks,Es+=(t-Es)/ks,Ss+=(e-Ss)/ks,Ls+=(r-Ls)/ks}function Ee(){function t(t,i){t*=Ho;var a=Math.cos(i*=Ho),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(i),u=Math.atan2(Math.sqrt((u=r*l-n*s)*u+(u=n*o-e*l)*u+(u=e*s-r*o)*u),e*o+r*s+n*l);Ts+=u,Cs+=u*(e+(e=o)),Ds+=u*(r+(r=s)),Is+=u*(n+(n=l)),Te(e,r,n)}var e,r,n;Rs.point=function(i,a){i*=Ho;var o=Math.cos(a*=Ho);e=o*Math.cos(i),r=o*Math.sin(i),n=Math.sin(a),Rs.point=t,Te(e,r,n)}}function Se(){Rs.point=ke}function Le(){function t(t,e){t*=Ho;var r=Math.cos(e*=Ho),o=r*Math.cos(t),s=r*Math.sin(t),l=Math.sin(e),u=i*l-a*s,c=a*o-n*l,h=n*s-i*o,f=Math.sqrt(u*u+c*c+h*h),d=n*o+i*s+a*l,p=f&&-rt(d)/f,m=Math.atan2(f,d);zs+=p*u,Ps+=p*c,Os+=p*h,Ts+=m,Cs+=m*(n+(n=o)),Ds+=m*(i+(i=s)),Is+=m*(a+(a=l)),Te(n,i,a)}var e,r,n,i,a;Rs.point=function(o,s){e=o,r=s,Rs.point=t,o*=Ho;var l=Math.cos(s*=Ho);n=l*Math.cos(o),i=l*Math.sin(o),a=Math.sin(s),Te(n,i,a)},Rs.lineEnd=function(){t(e,r),Rs.lineEnd=Se,Rs.point=ke}}function Ce(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function De(){return!0}function Ie(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Ae(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);return void i.lineEnd()}var l=new Pe(r,t,null,!0),u=new Pe(r,null,l,!1);l.o=u,a.push(l),o.push(u),l=new Pe(n,t,null,!1),u=new Pe(n,null,l,!0),l.o=u,a.push(l),o.push(u)}}),o.sort(e),ze(a),ze(o),a.length){for(var s=0,l=r,u=o.length;s<u;++s)o[s].e=l=!l;for(var c,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var s=0,u=c.length;s<u;++s)i.point((h=c[s])[0],h[1]);else n(d.x,d.n.x,1,i);d=d.n}else{if(p){c=d.p.z;for(var s=c.length-1;s>=0;--s)i.point((h=c[s])[0],h[1])}else n(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,p=!p}while(!d.v);i.lineEnd()}}}function ze(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Pe(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function Oe(t,e,r,n){return function(i,a){function o(e,r){var n=i(e,r);t(e=n[0],r=n[1])&&a.point(e,r)}function s(t,e){var r=i(t,e);g.point(r[0],r[1])}function l(){y.point=s,g.lineStart()}function u(){y.point=o,g.lineEnd()}function c(t,e){m.push([t,e]);var r=i(t,e);x.point(r[0],r[1])}function h(){x.lineStart(),m=[]}function f(){c(m[0][0],m[0][1]),x.lineEnd();var t,e=x.clean(),r=b.buffer(),n=r.length;if(m.pop(),p.push(m),m=null,n)if(1&e){t=r[0];var i,n=t.length-1,o=-1;if(n>0){for(_||(a.polygonStart(),_=!0),a.lineStart();++o<n;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),d.push(r.filter(Re))}var d,p,m,g=e(a),v=i.invert(n[0],n[1]),y={point:o,lineStart:l,lineEnd:u,polygonStart:function(){y.point=c,y.lineStart=h,y.lineEnd=f,d=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=l,y.lineEnd=u,d=uo.merge(d);var t=Ve(v,p);d.length?(_||(a.polygonStart(),_=!0),Ie(d,je,t,r,a)):t&&(_||(a.polygonStart(),_=!0),a.lineStart(),r(null,null,1,a),a.lineEnd()),_&&(a.polygonEnd(),_=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),r(null,null,1,a),a.lineEnd(),a.polygonEnd()}},b=Fe(),x=e(b),_=!1;return y}}function Re(t){return t.length>1}function Fe(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:M,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function je(t,e){return((t=t.x)[0]<0?t[1]-Vo-Fo:Vo-t[1])-((e=e.x)[0]<0?e[1]-Vo-Fo:Vo-e[1])}function Ne(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?No:-No,l=xo(a-r);xo(l-No)<Fo?(t.point(r,n=(n+o)/2>0?Vo:-Vo),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=No&&(xo(r-i)<Fo&&(r-=i*Fo),xo(a-s)<Fo&&(a-=s*Fo),n=Be(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}function Be(t,e,r,n){var i,a,o=Math.sin(t-r);return xo(o)>Fo?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}function Ue(t,e,r,n){var i;if(null==t)i=r*Vo,n.point(-No,i),n.point(0,i),n.point(No,i),n.point(No,0),n.point(No,-i),n.point(0,-i),n.point(-No,-i),n.point(-No,0),n.point(-No,i);else if(xo(t[0]-e[0])>Fo){var a=t[0]<e[0]?No:-No;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])}function Ve(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Ms.reset();for(var s=0,l=e.length;s<l;++s){var u=e[s],c=u.length;if(c)for(var h=u[0],f=h[0],d=h[1]/2+No/4,p=Math.sin(d),m=Math.cos(d),g=1;;){g===c&&(g=0),t=u[g];var v=t[0],y=t[1]/2+No/4,b=Math.sin(y),x=Math.cos(y),_=v-f,w=_>=0?1:-1,M=w*_,A=M>No,k=p*b;if(Ms.add(Math.atan2(k*w*Math.sin(M),m*x+k*Math.cos(M))),a+=A?_+w*Bo:_,A^f>=r^v>=r){var T=be(ve(h),ve(t));we(T);var E=be(i,T);we(E);var S=(A^_>=0?-1:1)*nt(E[2]);(n>S||n===S&&(T[0]||T[1]))&&(o+=A^_>=0?1:-1)}if(!g++)break;f=v,p=b,m=x,h=t}}return(a<-Fo||a<Fo&&Ms<-Fo)^1&o}function He(t){function e(t,e){return Math.cos(t)*Math.cos(e)>a}function r(t){var r,a,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(h,f){var d,p=[h,f],m=e(h,f),g=o?m?0:i(h,f):m?i(h+(h<0?No:-No),f):0;if(!r&&(u=l=m)&&t.lineStart(),m!==l&&(d=n(r,p),(Ae(r,d)||Ae(p,d))&&(p[0]+=Fo,p[1]+=Fo,m=e(p[0],p[1]))),m!==l)c=0,m?(t.lineStart(),d=n(p,r),t.point(d[0],d[1])):(d=n(r,p),t.point(d[0],d[1]),t.lineEnd()),r=d;else if(s&&r&&o^m){var v;g&a||!(v=n(p,r,!0))||(c=0,o?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!m||r&&Ae(r,p)||t.point(p[0],p[1]),r=p,l=m,a=g},lineEnd:function(){l&&t.lineEnd(),r=null},clean:function(){return c|(u&&l)<<1}}}function n(t,e,r){var n=ve(t),i=ve(e),o=[1,0,0],s=be(n,i),l=ye(s,s),u=s[0],c=l-u*u;if(!c)return!r&&t;var h=a*l/c,f=-a*u/c,d=be(o,s),p=_e(o,h);xe(p,_e(s,f));var m=d,g=ye(p,m),v=ye(m,m),y=g*g-v*(ye(p,p)-1);if(!(y<0)){var b=Math.sqrt(y),x=_e(m,(-g-b)/v);if(xe(x,p),x=Me(x),!r)return x;var _,w=t[0],M=e[0],A=t[1],k=e[1];M<w&&(_=w,w=M,M=_);var T=M-w,E=xo(T-No)<Fo,S=E||T<Fo;if(!E&&k<A&&(_=A,A=k,k=_),S?E?A+k>0^x[1]<(xo(x[0]-w)<Fo?A:k):A<=x[1]&&x[1]<=k:T>No^(w<=x[0]&&x[0]<=M)){var L=_e(m,(-g+b)/v);return xe(L,p),[x,Me(L)]}}}function i(e,r){var n=o?t:No-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}var a=Math.cos(t),o=a>0,s=xo(a)>Fo;return Oe(e,r,gr(t,6*Ho),o?[0,-t]:[-No,t-No])}function qe(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=s.x,h=s.y,f=0,d=1,p=c-l,m=h-u;if(a=t-l,p||!(a>0)){if(a/=p,p<0){if(a<f)return;a<d&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=r-l,p||!(a<0)){if(a/=p,p<0){if(a>d)return;a>f&&(f=a)}else if(p>0){if(a<f)return;a<d&&(d=a)}if(a=e-u,m||!(a>0)){if(a/=m,m<0){if(a<f)return;a<d&&(d=a)}else if(m>0){if(a>d)return;a>f&&(f=a)}if(a=n-u,m||!(a<0)){if(a/=m,m<0){if(a>d)return;a>f&&(f=a)}else if(m>0){if(a<f)return;a<d&&(d=a)}return f>0&&(i.a={x:l+f*p,y:u+f*m}),d<1&&(i.b={x:l+d*p,y:u+d*m}),i}}}}}}function Ge(t,e,r,n){function i(n,i){return xo(n[0]-t)<Fo?i>0?0:3:xo(n[0]-r)<Fo?i>0?2:1:xo(n[1]-e)<Fo?i>0?1:0:i>0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(s){function l(t){for(var e=0,r=g.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=g[i],l=s.length,u=s[0];o<l;++o)a=s[o],u[1]<=n?a[1]>n&&et(u,a,t)>0&&++e:a[1]<=n&&et(u,a,t)<0&&--e,u=a;return 0!==e}function u(a,s,l,u){var c=0,h=0;if(null==a||(c=i(a,l))!==(h=i(s,l))||o(a,s)<0^l>0)do{u.point(0===c||3===c?t:r,c>1?n:e)}while((c=(c+l+4)%4)!==h);else u.point(s[0],s[1])}function c(i,a){return t<=i&&i<=r&&e<=a&&a<=n}function h(t,e){c(t,e)&&s.point(t,e)}function f(){L.point=p,g&&g.push(v=[]),A=!0,M=!1,_=w=NaN}function d(){m&&(p(y,b),x&&M&&E.rejoin(),m.push(E.buffer())),L.point=h,M&&s.lineEnd()}function p(t,e){t=Math.max(-js,Math.min(js,t)),e=Math.max(-js,Math.min(js,e));var r=c(t,e);if(g&&v.push([t,e]),A)y=t,b=e,x=r,A=!1,r&&(s.lineStart(),s.point(t,e));else if(r&&M)s.point(t,e);else{var n={a:{x:_,y:w},b:{x:t,y:e}};S(n)?(M||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),k=!1):r&&(s.lineStart(),s.point(t,e),k=!1)}_=t,w=e,M=r}var m,g,v,y,b,x,_,w,M,A,k,T=s,E=Fe(),S=qe(t,e,r,n),L={point:h,lineStart:f,lineEnd:d,polygonStart:function(){s=E,m=[],g=[],k=!0},polygonEnd:function(){s=T,m=uo.merge(m);var e=l([t,n]),r=k&&e,i=m.length;(r||i)&&(s.polygonStart(),r&&(s.lineStart(),u(null,null,1,s),s.lineEnd()),i&&Ie(m,a,e,u,s),s.polygonEnd()),m=g=v=null}};return L}}function Ye(t){var e=0,r=No/3,n=lr(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*No/180,r=t[1]*No/180):[e/No*180,r/No*180]},i}function Xe(t,e){function r(t,e){var r=Math.sqrt(a-2*i*Math.sin(e))/i;return[r*Math.sin(t*=i),o-r*Math.cos(t)]}var n=Math.sin(t),i=(n+Math.sin(e))/2,a=1+n*(2*i-n),o=Math.sqrt(a)/i;return r.invert=function(t,e){var r=o-e;return[Math.atan2(t,r)/i,nt((a-(t*t+r*r)*i*i)/(2*i))]},r}function We(){function t(t,e){Bs+=i*t-n*e,n=t,i=e}var e,r,n,i;Gs.point=function(a,o){Gs.point=t,e=n=a,r=i=o},Gs.lineEnd=function(){t(e,r)}}function Ze(t,e){t<Us&&(Us=t),t>Hs&&(Hs=t),e<Vs&&(Vs=e),e>qs&&(qs=e)}function Je(){function t(t,e){o.push(\"M\",t,\",\",e,a)}function e(t,e){o.push(\"M\",t,\",\",e),s.point=r}function r(t,e){o.push(\"L\",t,\",\",e)}function n(){s.point=t}function i(){o.push(\"Z\")}var a=Ke(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:n,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=n,s.point=t},pointRadius:function(t){return a=Ke(t),s},result:function(){if(o.length){var t=o.join(\"\");return o=[],t}}};return s}function Ke(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}function Qe(t,e){Es+=t,Ss+=e,++Ls}function $e(){function t(t,n){var i=t-e,a=n-r,o=Math.sqrt(i*i+a*a);Cs+=o*(e+t)/2,Ds+=o*(r+n)/2,Is+=o,Qe(e=t,r=n)}var e,r;Xs.point=function(n,i){Xs.point=t,Qe(e=n,r=i)}}function tr(){Xs.point=Qe}function er(){function t(t,e){var r=t-n,a=e-i,o=Math.sqrt(r*r+a*a);Cs+=o*(n+t)/2,Ds+=o*(i+e)/2,Is+=o,o=i*t-n*e,zs+=o*(n+t),Ps+=o*(i+e),Os+=3*o,Qe(n=t,i=e)}var e,r,n,i;Xs.point=function(a,o){Xs.point=t,Qe(e=n=a,r=i=o)},Xs.lineEnd=function(){t(e,r)}}function rr(t){function e(e,r){t.moveTo(e+o,r),t.arc(e,r,o,0,Bo)}function r(e,r){t.moveTo(e,r),s.point=n}function n(e,r){t.lineTo(e,r)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=r},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:M};return s}function nr(t){function e(t){return(s?n:r)(t)}function r(e){return or(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})}function n(e){function r(r,n){r=t(r,n),e.point(r[0],r[1])}function n(){b=NaN,A.point=a,e.lineStart()}function a(r,n){var a=ve([r,n]),o=t(r,n);i(b,x,y,_,w,M,b=o[0],x=o[1],y=r,_=a[0],w=a[1],M=a[2],s,e),e.point(b,x)}function o(){A.point=r,e.lineEnd()}function l(){n(),A.point=u,A.lineEnd=c}function u(t,e){a(h=t,f=e),d=b,p=x,m=_,g=w,v=M,A.point=a}function c(){i(b,x,y,_,w,M,d,p,h,m,g,v,s,e),A.lineEnd=o,o()}var h,f,d,p,m,g,v,y,b,x,_,w,M,A={point:r,lineStart:n,lineEnd:o,polygonStart:function(){e.polygonStart(),A.lineStart=l},polygonEnd:function(){e.polygonEnd(),A.lineStart=n}};return A}function i(e,r,n,s,l,u,c,h,f,d,p,m,g,v){var y=c-e,b=h-r,x=y*y+b*b;if(x>4*a&&g--){var _=s+d,w=l+p,M=u+m,A=Math.sqrt(_*_+w*w+M*M),k=Math.asin(M/=A),T=xo(xo(M)-1)<Fo||xo(n-f)<Fo?(n+f)/2:Math.atan2(w,_),E=t(T,k),S=E[0],L=E[1],C=S-e,D=L-r,I=b*C-y*D;(I*I/x>a||xo((y*C+b*D)/x-.5)>.3||s*d+l*p+u*m<o)&&(i(e,r,n,s,l,u,S,L,T,_/=A,w/=A,M,g,v),v.point(S,L),i(S,L,T,_,w,M,c,h,f,d,p,m,g,v))}}var a=.5,o=Math.cos(30*Ho),s=16;return e.precision=function(t){return arguments.length?(s=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function ir(t){var e=nr(function(e,r){return t([e*qo,r*qo])});return function(t){return ur(e(t))}}function ar(t){this.stream=t}function or(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function sr(t){return lr(function(){return t})()}function lr(t){function e(t){return t=s(t[0]*Ho,t[1]*Ho),[t[0]*f+l,u-t[1]*f]}function r(t){return(t=s.invert((t[0]-l)/f,(u-t[1])/f))&&[t[0]*qo,t[1]*qo]}function n(){s=Ce(o=fr(v,y,b),a);var t=a(m,g);return l=d-t[0]*f,u=p+t[1]*f,i()}function i(){return c&&(c.valid=!1,c=null),e}var a,o,s,l,u,c,h=nr(function(t,e){return t=a(t,e),[t[0]*f+l,u-t[1]*f]}),f=150,d=480,p=250,m=0,g=0,v=0,y=0,b=0,_=Fs,w=x,M=null,A=null;return e.stream=function(t){return c&&(c.valid=!1),c=ur(_(o,h(w(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(_=null==t?(M=t,Fs):He((M=+t)*Ho),i()):M},e.clipExtent=function(t){return arguments.length?(A=t,w=t?Ge(t[0][0],t[0][1],t[1][0],t[1][1]):x,i()):A},e.scale=function(t){return arguments.length?(f=+t,n()):f},e.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],n()):[d,p]},e.center=function(t){return arguments.length?(m=t[0]%360*Ho,g=t[1]%360*Ho,n()):[m*qo,g*qo]},e.rotate=function(t){return arguments.length?(v=t[0]%360*Ho,y=t[1]%360*Ho,b=t.length>2?t[2]%360*Ho:0,n()):[v*qo,y*qo,b*qo]},uo.rebind(e,h,\"precision\"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&r,n()}}function ur(t){return or(t,function(e,r){t.point(e*Ho,r*Ho)})}function cr(t,e){return[t,e]}function hr(t,e){return[t>No?t-Bo:t<-No?t+Bo:t,e]}function fr(t,e,r){return t?e||r?Ce(pr(t),mr(e,r)):pr(t):e||r?mr(e,r):hr}function dr(t){return function(e,r){return e+=t,[e>No?e-Bo:e<-No?e+Bo:e,r]}}function pr(t){var e=dr(t);return e.invert=dr(-t),e}function mr(t,e){function r(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,u=Math.sin(e),c=u*n+s*i;return[Math.atan2(l*a-c*o,s*n-u*i),nt(c*a+l*o)]}var n=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return r.invert=function(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,u=Math.sin(e),c=u*a-l*o;return[Math.atan2(l*a+u*o,s*n+c*i),nt(c*n-s*i)]},r}function gr(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=vr(r,i),a=vr(r,a),(o>0?i<a:i>a)&&(i+=o*Bo)):(i=t+o*Bo,a=t-.5*l);for(var u,c=i;o>0?c>a:c<a;c-=l)s.point((u=Me([r,-n*Math.cos(c),-n*Math.sin(c)]))[0],u[1])}}function vr(t,e){var r=ve(e);r[0]-=t,we(r);var n=rt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-Fo)%(2*Math.PI)}function yr(t,e,r){var n=uo.range(t,e-Fo,r).concat(e);return function(t){return n.map(function(e){return[t,e]})}}function br(t,e,r){var n=uo.range(t,e-Fo,r).concat(e);return function(t){return n.map(function(e){return[e,t]})}}function xr(t){return t.source}function _r(t){return t.target}function wr(t,e,r,n){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),l=i*Math.cos(t),u=i*Math.sin(t),c=o*Math.cos(r),h=o*Math.sin(r),f=2*Math.asin(Math.sqrt(st(n-e)+i*o*st(r-t))),d=1/Math.sin(f),p=f?function(t){var e=Math.sin(t*=f)*d,r=Math.sin(f-t)*d,n=r*l+e*c,i=r*u+e*h,o=r*a+e*s;return[Math.atan2(i,n)*qo,Math.atan2(o,Math.sqrt(n*n+i*i))*qo]}:function(){return[t*qo,e*qo]};return p.distance=f,p}function Mr(){function t(t,i){var a=Math.sin(i*=Ho),o=Math.cos(i),s=xo((t*=Ho)-e),l=Math.cos(s);Ws+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=n*a-r*o*l)*s),r*a+n*o*l),e=t,r=a,n=o}var e,r,n;Zs.point=function(i,a){e=i*Ho,r=Math.sin(a*=Ho),n=Math.cos(a),Zs.point=t},Zs.lineEnd=function(){Zs.point=Zs.lineEnd=M}}function Ar(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}function kr(t,e){function r(t,e){o>0?e<-Vo+Fo&&(e=-Vo+Fo):e>Vo-Fo&&(e=Vo-Fo);var r=o/Math.pow(i(e),a);return[r*Math.sin(a*t),o-r*Math.cos(a*t)]}var n=Math.cos(t),i=function(t){return Math.tan(No/4+t/2)},a=t===e?Math.sin(t):Math.log(n/Math.cos(e))/Math.log(i(e)/i(t)),o=n*Math.pow(i(t),a)/a;return a?(r.invert=function(t,e){var r=o-e,n=tt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(o/n,1/a))-Vo]},r):Er}function Tr(t,e){function r(t,e){var r=a-e;return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}var n=Math.cos(t),i=t===e?Math.sin(t):(n-Math.cos(e))/(e-t),a=n/i+t;return xo(i)<Fo?cr:(r.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/i,a-tt(i)*Math.sqrt(t*t+r*r)]},r)}function Er(t,e){return[t,Math.log(Math.tan(No/4+e/2))]}function Sr(t){var e,r=sr(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=No*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}function Lr(t,e){return[Math.log(Math.tan(No/4+e/2)),-t]}function Cr(t){return t[0]}function Dr(t){return t[1]}function Ir(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&et(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function zr(t,e){return t[0]-e[0]||t[1]-e[1]}function Pr(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function Or(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],u=r[1],c=e[1]-l,h=n[1]-u,f=(s*(l-u)-h*(i-a))/(h*o-s*c);return[i+f*o,l+f*c]}function Rr(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}function Fr(){an(this),this.edge=this.site=this.circle=null}function jr(t){var e=sl.pop()||new Fr;return e.site=t,e}function Nr(t){Zr(t),il.remove(t),sl.push(t),an(t)}function Br(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];Nr(t);for(var l=a;l.circle&&xo(r-l.circle.x)<Fo&&xo(n-l.circle.cy)<Fo;)a=l.P,s.unshift(l),Nr(l),l=a;s.unshift(l),Zr(l);for(var u=o;u.circle&&xo(r-u.circle.x)<Fo&&xo(n-u.circle.cy)<Fo;)o=u.N,s.push(u),Nr(u),u=o;s.push(u),Zr(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],en(u.edge,l.site,u.site,i);l=s[0],u=s[h-1],u.edge=$r(l.site,u.site,null,i),Wr(l),Wr(u)}function Ur(t){for(var e,r,n,i,a=t.x,o=t.y,s=il._;s;)if((n=Vr(s,o)-a)>Fo)s=s.L;else{if(!((i=a-Hr(s,o))>Fo)){n>-Fo?(e=s.P,r=s):i>-Fo?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=jr(t);if(il.insert(e,l),e||r){if(e===r)return Zr(e),r=jr(e.site),il.insert(l,r),l.edge=r.edge=$r(e.site,l.site),Wr(e),void Wr(r);if(!r)return void(l.edge=$r(e.site,l.site));Zr(e),Zr(r);var u=e.site,c=u.x,h=u.y,f=t.x-c,d=t.y-h,p=r.site,m=p.x-c,g=p.y-h,v=2*(f*g-d*m),y=f*f+d*d,b=m*m+g*g,x={x:(g*y-d*b)/v+c,y:(f*b-m*y)/v+h};en(r.edge,u,p,x),l.edge=$r(u,t,null,x),r.edge=$r(t,p,null,x),Wr(e),Wr(r)}}function Vr(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-(1/0);r=o.site;var s=r.x,l=r.y,u=l-e;if(!u)return s;var c=s-n,h=1/a-1/u,f=c/u;return h?(-f+Math.sqrt(f*f-2*h*(c*c/(-2*u)-l+u/2+i-a/2)))/h+n:(n+s)/2}function Hr(t,e){var r=t.N;if(r)return Vr(r,e);var n=t.site;return n.y===e?n.x:1/0}function qr(t){this.site=t,this.edges=[]}function Gr(t){for(var e,r,n,i,a,o,s,l,u,c,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],m=nl,g=m.length;g--;)if((a=m[g])&&a.prepare())for(s=a.edges,l=s.length,o=0;o<l;)c=s[o].end(),n=c.x,i=c.y,u=s[++o%l].start(),e=u.x,r=u.y,(xo(n-e)>Fo||xo(i-r)>Fo)&&(s.splice(o,0,new rn(tn(a.site,c,xo(n-h)<Fo&&p-i>Fo?{x:h,y:xo(e-h)<Fo?r:p}:xo(i-p)<Fo&&f-n>Fo?{x:xo(r-p)<Fo?e:f,y:p}:xo(n-f)<Fo&&i-d>Fo?{x:f,y:xo(e-f)<Fo?r:d}:xo(i-d)<Fo&&n-h>Fo?{x:xo(r-d)<Fo?e:h,y:d}:null),a.site,null)),++l)}function Yr(t,e){return e.angle-t.angle}function Xr(){an(this),this.x=this.y=this.arc=this.site=this.cy=null}function Wr(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,h=a.y-s,f=2*(l*h-u*c);if(!(f>=-jo)){var d=l*l+u*u,p=c*c+h*h,m=(h*d-u*p)/f,g=(l*p-c*d)/f,h=g+s,v=ll.pop()||new Xr;v.arc=t,v.site=i,v.x=m+o,v.y=h+Math.sqrt(m*m+g*g),v.cy=h,t.circle=v;for(var y=null,b=ol._;b;)if(v.y<b.y||v.y===b.y&&v.x<=b.x){if(!b.L){y=b.P;break}b=b.L}else{if(!b.R){y=b;break}b=b.R}\nol.insert(y,v),y||(al=v)}}}}function Zr(t){var e=t.circle;e&&(e.P||(al=e.N),ol.remove(e),ll.push(e),an(e),t.circle=null)}function Jr(t){for(var e,r=rl,n=qe(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)e=r[i],(!Kr(e,t)||!n(e)||xo(e.a.x-e.b.x)<Fo&&xo(e.a.y-e.b.y)<Fo)&&(e.a=e.b=null,r.splice(i,1))}function Kr(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],u=e[1][1],c=t.l,h=t.r,f=c.x,d=c.y,p=h.x,m=h.y,g=(f+p)/2,v=(d+m)/2;if(m===d){if(g<o||g>=s)return;if(f>p){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y<l)return}else a={x:g,y:u};r={x:g,y:l}}}else if(n=(f-p)/(m-d),i=v-n*g,n<-1||n>1)if(f>p){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y<l)return}else a={x:(u-i)/n,y:u};r={x:(l-i)/n,y:l}}else if(d<m){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Qr(t,e){this.l=t,this.r=e,this.a=this.b=null}function $r(t,e,r,n){var i=new Qr(t,e);return rl.push(i),r&&en(i,t,e,r),n&&en(i,e,t,n),nl[t.i].edges.push(new rn(i,t,e)),nl[e.i].edges.push(new rn(i,e,t)),i}function tn(t,e,r){var n=new Qr(t,null);return n.a=e,n.b=r,rl.push(n),n}function en(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function rn(t,e,r){var n=t.a,i=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function nn(){this._=null}function an(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function on(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function sn(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function ln(t){for(;t.L;)t=t.L;return t}function un(t,e){var r,n,i,a=t.sort(cn).pop();for(rl=[],nl=new Array(t.length),il=new nn,ol=new nn;;)if(i=al,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(nl[a.i]=new qr(a),Ur(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;Br(i.arc)}e&&(Jr(e),Gr(e));var o={cells:nl,edges:rl};return il=ol=rl=nl=null,o}function cn(t,e){return e.y-t.y||e.x-t.x}function hn(t,e,r){return(t.x-r.x)*(e.y-t.y)-(t.x-e.x)*(r.y-t.y)}function fn(t){return t.x}function dn(t){return t.y}function pn(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function mn(t,e,r,n,i,a){if(!t(e,r,n,i,a)){var o=.5*(r+i),s=.5*(n+a),l=e.nodes;l[0]&&mn(t,l[0],r,n,o,s),l[1]&&mn(t,l[1],o,n,i,s),l[2]&&mn(t,l[2],r,s,o,a),l[3]&&mn(t,l[3],o,s,i,a)}}function gn(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,h,f,d){if(!(c>a||h>o||f<n||d<i)){if(p=u.point){var p,m=e-u.x,g=r-u.y,v=m*m+g*g;if(v<l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=p}}for(var b=u.nodes,x=.5*(c+f),_=.5*(h+d),w=e>=x,M=r>=_,A=M<<1|w,k=A+4;A<k;++A)if(u=b[3&A])switch(3&A){case 0:t(u,c,h,x,_);break;case 1:t(u,x,h,f,_);break;case 2:t(u,c,_,x,d);break;case 3:t(u,x,_,f,d)}}}(t,n,i,a,o),s}function vn(t,e){t=uo.rgb(t),e=uo.rgb(e);var r=t.r,n=t.g,i=t.b,a=e.r-r,o=e.g-n,s=e.b-i;return function(t){return\"#\"+wt(Math.round(r+a*t))+wt(Math.round(n+o*t))+wt(Math.round(i+s*t))}}function yn(t,e){var r,n={},i={};for(r in t)r in e?n[r]=_n(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function bn(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function xn(t,e){var r,n,i,a=cl.lastIndex=hl.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=cl.exec(t))&&(n=hl.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:bn(r,n)})),a=hl.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+\"\"}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}function _n(t,e){for(var r,n=uo.interpolators.length;--n>=0&&!(r=uo.interpolators[n](t,e)););return r}function wn(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(_n(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}function Mn(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function An(t){return function(e){return 1-t(1-e)}}function kn(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Tn(t){return t*t}function En(t){return t*t*t}function Sn(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Ln(t){return function(e){return Math.pow(e,t)}}function Cn(t){return 1-Math.cos(t*Vo)}function Dn(t){return Math.pow(2,10*(t-1))}function In(t){return 1-Math.sqrt(1-t*t)}function zn(t,e){var r;return arguments.length<2&&(e=.45),arguments.length?r=e/Bo*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Bo/e)}}function Pn(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function On(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Rn(t,e){t=uo.hcl(t),e=uo.hcl(e);var r=t.h,n=t.c,i=t.l,a=e.h-r,o=e.c-n,s=e.l-i;return isNaN(o)&&(o=0,n=isNaN(n)?e.c:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a>180?a-=360:a<-180&&(a+=360),function(t){return ft(r+a*t,n+o*t,i+s*t)+\"\"}}function Fn(t,e){t=uo.hsl(t),e=uo.hsl(e);var r=t.h,n=t.s,i=t.l,a=e.h-r,o=e.s-n,s=e.l-i;return isNaN(o)&&(o=0,n=isNaN(n)?e.s:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a>180?a-=360:a<-180&&(a+=360),function(t){return ct(r+a*t,n+o*t,i+s*t)+\"\"}}function jn(t,e){t=uo.lab(t),e=uo.lab(e);var r=t.l,n=t.a,i=t.b,a=e.l-r,o=e.a-n,s=e.b-i;return function(t){return pt(r+a*t,n+o*t,i+s*t)+\"\"}}function Nn(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Bn(t){var e=[t.a,t.b],r=[t.c,t.d],n=Vn(e),i=Un(e,r),a=Vn(Hn(r,e,-i))||0;e[0]*r[1]<r[0]*e[1]&&(e[0]*=-1,e[1]*=-1,n*=-1,i*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-r[0],r[1]))*qo,this.translate=[t.e,t.f],this.scale=[n,a],this.skew=a?Math.atan2(i,a)*qo:0}function Un(t,e){return t[0]*e[0]+t[1]*e[1]}function Vn(t){var e=Math.sqrt(Un(t,t));return e&&(t[0]/=e,t[1]/=e),e}function Hn(t,e,r){return t[0]+=r*e[0],t[1]+=r*e[1],t}function qn(t){return t.length?t.pop()+\",\":\"\"}function Gn(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:bn(t[0],e[0])},{i:i-2,x:bn(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}function Yn(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(qn(r)+\"rotate(\",null,\")\")-2,x:bn(t,e)})):e&&r.push(qn(r)+\"rotate(\"+e+\")\")}function Xn(t,e,r,n){t!==e?n.push({i:r.push(qn(r)+\"skewX(\",null,\")\")-2,x:bn(t,e)}):e&&r.push(qn(r)+\"skewX(\"+e+\")\")}function Wn(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(qn(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:bn(t[0],e[0])},{i:i-2,x:bn(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(qn(r)+\"scale(\"+e+\")\")}function Zn(t,e){var r=[],n=[];return t=uo.transform(t),e=uo.transform(e),Gn(t.translate,e.translate,r,n),Yn(t.rotate,e.rotate,r,n),Xn(t.skew,e.skew,r,n),Wn(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i<a;)r[(e=n[i]).i]=e.x(t);return r.join(\"\")}}function Jn(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function Kn(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function Qn(t){for(var e=t.source,r=t.target,n=ti(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function $n(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ti(t,e){if(t===e)return t;for(var r=$n(t),n=$n(e),i=r.pop(),a=n.pop(),o=null;i===a;)o=i,i=r.pop(),a=n.pop();return o}function ei(t){t.fixed|=2}function ri(t){t.fixed&=-7}function ni(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ii(t){t.fixed&=-5}function ai(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l<s;)null!=(a=o[l])&&(ai(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var u=e*r[t.point.index];t.charge+=t.pointCharge=u,n+=u*t.point.x,i+=u*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}function oi(t,e){return uo.rebind(t,e,\"sort\",\"children\",\"value\"),t.nodes=t,t.links=fi,t}function si(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function li(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function ui(t){return t.children}function ci(t){return t.value}function hi(t,e){return e.value-t.value}function fi(t){return uo.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function di(t){return t.x}function pi(t){return t.y}function mi(t,e,r){t.y0=e,t.y=r}function gi(t){return uo.range(t.length)}function vi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function yi(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function bi(t){return t.reduce(xi,0)}function xi(t,e){return t+e[1]}function _i(t,e){return wi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wi(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Mi(t){return[uo.min(t),uo.max(t)]}function Ai(t,e){return t.value-e.value}function ki(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ti(t,e){t._pack_next=e,e._pack_prev=t}function Ei(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Si(t){function e(t){c=Math.min(t.x-t.r,c),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((r=t.children)&&(u=r.length)){var r,n,i,a,o,s,l,u,c=1/0,h=-(1/0),f=1/0,d=-(1/0);if(r.forEach(Li),n=r[0],n.x=-n.r,n.y=0,e(n),u>1&&(i=r[1],i.x=i.r,i.y=0,e(i),u>2))for(a=r[2],Ii(n,i,a),e(a),ki(n,a),n._pack_prev=a,ki(a,i),i=n._pack_next,o=3;o<u;o++){Ii(n,i,a=r[o]);var p=0,m=1,g=1;for(s=i._pack_next;s!==i;s=s._pack_next,m++)if(Ei(s,a)){p=1;break}if(1==p)for(l=n._pack_prev;l!==s._pack_prev&&!Ei(l,a);l=l._pack_prev,g++);p?(m<g||m==g&&i.r<n.r?Ti(n,i=s):Ti(n=l,i),o--):(ki(n,a),i=a,e(a))}var v=(c+h)/2,y=(f+d)/2,b=0;for(o=0;o<u;o++)a=r[o],a.x-=v,a.y-=y,b=Math.max(b,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=b,r.forEach(Ci)}}function Li(t){t._pack_next=t._pack_prev=t}function Ci(t){delete t._pack_next,delete t._pack_prev}function Di(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a<o;)Di(i[a],e,r,n)}function Ii(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a;o*=o,n*=n;var l=.5+(n-o)/(2*s),u=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+u*a,r.y=t.y+l*a-u*i}else r.x=t.x+n,r.y=t.y}function zi(t,e){return t.parent==e.parent?1:2}function Pi(t){var e=t.children;return e.length?e[0]:t.t}function Oi(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Ri(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Fi(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)e=i[a],e.z+=r,e.m+=r,r+=e.s+(n+=e.c)}function ji(t,e,r){return t.a.parent===e.parent?t.a:r}function Ni(t){return 1+uo.max(t,function(t){return t.y})}function Bi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Ui(t){var e=t.children;return e&&e.length?Ui(e[0]):t}function Vi(t){var e,r=t.children;return r&&(e=r.length)?Vi(r[e-1]):t}function Hi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function qi(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Gi(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function Yi(t){return t.rangeExtent?t.rangeExtent():Gi(t.range())}function Xi(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function Wi(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Zi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:wl}function Ji(t,e,r,n){var i=[],a=[],o=0,s=Math.min(t.length,e.length)-1;for(t[s]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<=s;)i.push(r(t[o-1],t[o])),a.push(n(e[o-1],e[o]));return function(e){var r=uo.bisect(t,e,1,s)-1;return a[r](i[r](e))}}function Ki(t,e,r,n){function i(){var i=Math.min(t.length,e.length)>2?Ji:Xi,l=n?Kn:Jn;return o=i(t,e,l,r),s=i(e,t,l,_n),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Nn)},a.clamp=function(t){return arguments.length?(n=t,i()):n},a.interpolate=function(t){return arguments.length?(r=t,i()):r},a.ticks=function(e){return ea(t,e)},a.tickFormat=function(e,r){return ra(t,e,r)},a.nice=function(e){return $i(t,e),i()},a.copy=function(){return Ki(t,e,r,n)},i()}function Qi(t,e){return uo.rebind(t,e,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function $i(t,e){return Wi(t,Zi(ta(t,e)[2])),Wi(t,Zi(ta(t,e)[2])),t}function ta(t,e){null==e&&(e=10);var r=Gi(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function ea(t,e){return uo.range.apply(uo,ta(t,e))}function ra(t,e,r){var n=ta(t,e);if(r){var i=cs.exec(r);if(i.shift(),\"s\"===i[8]){var a=uo.formatPrefix(Math.max(xo(n[0]),xo(n[1])));return i[7]||(i[7]=\".\"+na(a.scale(n[2]))),i[8]=\"f\",r=uo.format(i.join(\"\")),function(t){return r(a.scale(t))+a.symbol}}i[7]||(i[7]=\".\"+ia(i[8],n)),r=i.join(\"\")}else r=\",.\"+na(n[2])+\"f\";return uo.format(r)}function na(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ia(t,e){var r=na(e[2]);return t in Ml?Math.abs(r-na(Math.max(xo(e[0]),xo(e[1]))))+ +(\"e\"!==t):r-2*(\"%\"===t)}function aa(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Wi(n.map(i),r?Math:kl);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Gi(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),h=e%1?2:e;if(isFinite(c-u)){if(r){for(;u<c;u++)for(var f=1;f<h;f++)o.push(a(u)*f);o.push(a(u))}else for(o.push(a(u));u++<c;)for(var f=h-1;f>0;f--)o.push(a(u)*f);for(u=0;o[u]<s;u++);for(c=o.length;o[c-1]>l;c--);o=o.slice(u,c)}return o},o.tickFormat=function(t,r){if(!arguments.length)return Al;arguments.length<2?r=Al:\"function\"!=typeof r&&(r=uo.format(r));var n=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e<e-.5&&(o*=e),o<=n?r(t):\"\"}},o.copy=function(){return aa(t.copy(),e,r,n)},Qi(o,t)}function oa(t,e,r){function n(e){return t(i(e))}var i=sa(e),a=sa(1/e);return n.invert=function(e){return a(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(i)),n):r},n.ticks=function(t){return ea(r,t)},n.tickFormat=function(t,e){return ra(r,t,e)},n.nice=function(t){return n.domain($i(r,t))},n.exponent=function(o){return arguments.length?(i=sa(e=o),a=sa(1/e),t.domain(r.map(i)),n):e},n.copy=function(){return oa(t.copy(),e,r)},Qi(n,t)}function sa(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function la(t,e){function r(r){return a[((i.get(r)||(\"range\"===e.t?i.set(r,t.push(r)):NaN))-1)%a.length]}function n(e,r){return uo.range(t.length).map(function(t){return e+r*t})}var i,a,o;return r.domain=function(n){if(!arguments.length)return t;t=[],i=new h;for(var a,o=-1,s=n.length;++o<s;)i.has(a=n[o])||i.set(a,t.push(a));return r[e.t].apply(r,e.a)},r.range=function(t){return arguments.length?(a=t,o=0,e={t:\"range\",a:arguments},r):a},r.rangePoints=function(i,s){arguments.length<2&&(s=0);var l=i[0],u=i[1],c=t.length<2?(l=(l+u)/2,0):(u-l)/(t.length-1+s);return a=n(l+c*s/2,c),o=0,e={t:\"rangePoints\",a:arguments},r},r.rangeRoundPoints=function(i,s){arguments.length<2&&(s=0);var l=i[0],u=i[1],c=t.length<2?(l=u=Math.round((l+u)/2),0):(u-l)/(t.length-1+s)|0;return a=n(l+Math.round(c*s/2+(u-l-(t.length-1+s)*c)/2),c),o=0,e={t:\"rangeRoundPoints\",a:arguments},r},r.rangeBands=function(i,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var u=i[1]<i[0],c=i[u-0],h=i[1-u],f=(h-c)/(t.length-s+2*l);return a=n(c+f*l,f),u&&a.reverse(),o=f*(1-s),e={t:\"rangeBands\",a:arguments},r},r.rangeRoundBands=function(i,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var u=i[1]<i[0],c=i[u-0],h=i[1-u],f=Math.floor((h-c)/(t.length-s+2*l));return a=n(c+Math.round((h-c-(t.length-s)*f)/2),f),u&&a.reverse(),o=Math.round(f*(1-s)),e={t:\"rangeRoundBands\",a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){return Gi(e.a[0])},r.copy=function(){return la(t,e)},r.domain(t)}function ua(t,e){function r(){var r=0,i=e.length;for(s=[];++r<i;)s[r-1]=uo.quantile(t,r/i);return n}function n(t){if(!isNaN(t=+t))return e[uo.bisect(s,t)]}var s;return n.domain=function(e){return arguments.length?(t=e.map(a).filter(o).sort(i),r()):t},n.range=function(t){return arguments.length?(e=t,r()):e},n.quantiles=function(){return s},n.invertExtent=function(r){return r=e.indexOf(r),r<0?[NaN,NaN]:[r>0?s[r-1]:t[0],r<s.length?s[r]:t[t.length-1]]},n.copy=function(){return ua(t,e)},r()}function ca(t,e,r){function n(e){return r[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=r.length/(e-t),o=r.length-1,n}var a,o;return n.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],i()):[t,e]},n.range=function(t){return arguments.length?(r=t,i()):r},n.invertExtent=function(e){return e=r.indexOf(e),e=e<0?NaN:e/a+t,[e,e+1/a]},n.copy=function(){return ca(t,e,r)},i()}function ha(t,e){function r(r){if(r<=r)return e[uo.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return ha(t,e)},r}function fa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return ea(t,e)},e.tickFormat=function(e,r){return ra(t,e,r)},e.copy=function(){return fa(t)},e}function da(){return 0}function pa(t){return t.innerRadius}function ma(t){return t.outerRadius}function ga(t){return t.startAngle}function va(t){return t.endAngle}function ya(t){return t&&t.padAngle}function ba(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function xa(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,h=t[1]+u,f=e[0]+l,d=e[1]+u,p=(c+f)/2,m=(h+d)/2,g=f-c,v=d-h,y=g*g+v*v,b=r-n,x=c*d-f*h,_=(v<0?-1:1)*Math.sqrt(Math.max(0,b*b*y-x*x)),w=(x*v-g*_)/y,M=(-x*g-v*_)/y,A=(x*v+g*_)/y,k=(-x*g+v*_)/y,T=w-p,E=M-m,S=A-p,L=k-m;return T*T+E*E>S*S+L*L&&(w=A,M=k),[[w-l,M-u],[w*r/b,M*r/b]]}function _a(t){function e(e){function o(){u.push(\"M\",a(t(c),s))}for(var l,u=[],c=[],h=-1,f=e.length,d=St(r),p=St(n);++h<f;)i.call(this,l=e[h],h)?c.push([+d.call(this,l,h),+p.call(this,l,h)]):c.length&&(o(),c=[]);return c.length&&o(),u.length?u.join(\"\"):null}var r=Cr,n=Dr,i=De,a=wa,o=a.key,s=.7;return e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o=\"function\"==typeof t?a=t:(a=Dl.get(t)||wa).key,e):o},e.tension=function(t){return arguments.length?(s=t,e):s},e}function wa(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function Ma(t){return t.join(\"L\")+\"Z\"}function Aa(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);return r>1&&i.push(\"H\",n[0]),i.join(\"\")}function ka(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"V\",(n=t[e])[1],\"H\",n[0]);return i.join(\"\")}function Ta(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"H\",(n=t[e])[0],\"V\",n[1]);return i.join(\"\")}function Ea(t,e){return t.length<4?wa(t):t[1]+Ca(t.slice(1,-1),Da(t,e))}function Sa(t,e){return t.length<3?Ma(t):t[0]+Ca((t.push(t[0]),t),Da([t[t.length-2]].concat(t,[t[1]]),e))}function La(t,e){return t.length<3?wa(t):t[0]+Ca(t,Da(t,e))}function Ca(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return wa(t);var r=t.length!=e.length,n=\"\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\"Q\"+(a[0]-2*o[0]/3)+\",\"+(a[1]-2*o[1]/3)+\",\"+a[0]+\",\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var u=2;u<e.length;u++,l++)a=t[l],s=e[u],n+=\"S\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1]}if(r){var c=t[l];n+=\"Q\"+(a[0]+2*s[0]/3)+\",\"+(a[1]+2*s[1]/3)+\",\"+c[0]+\",\"+c[1]}return n}function Da(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Ia(t){if(t.length<3)return wa(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\",\",a,\"L\",Ra(Pl,o),\",\",Ra(Pl,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Fa(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function za(t){if(t.length<4)return wa(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ra(Pl,a)+\",\"+Ra(Pl,o)),--n;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Fa(r,a,o);return r.join(\"\")}function Pa(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ra(Pl,o),\",\",Ra(Pl,s)],--n;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Fa(e,o,s);return e.join(\"\")}function Oa(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,u=-1;++u<=r;)n=t[u],i=u/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Ia(t)}function Ra(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Fa(t,e,r){t.push(\"C\",Ra(Il,e),\",\",Ra(Il,r),\",\",Ra(zl,e),\",\",Ra(zl,r),\",\",Ra(Pl,e),\",\",Ra(Pl,r))}function ja(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Na(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=ja(i,a);++e<r;)n[e]=(o+(o=ja(i=a,a=t[e+1])))/2;return n[e]=o,n}function Ba(t){for(var e,r,n,i,a=[],o=Na(t),s=-1,l=t.length-1;++s<l;)e=ja(t[s],t[s+1]),xo(e)<Fo?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}function Ua(t){return t.length<3?wa(t):t[0]+Ca(t,Ba(t))}function Va(t){for(var e,r,n,i=-1,a=t.length;++i<a;)e=t[i],r=e[0],n=e[1]-Vo,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Ha(t){function e(e){function l(){m.push(\"M\",s(t(v),h),c,u(t(g.reverse()),h),\"Z\")}for(var f,d,p,m=[],g=[],v=[],y=-1,b=e.length,x=St(r),_=St(i),w=r===n?function(){return d}:St(n),M=i===a?function(){return p}:St(a);++y<b;)o.call(this,f=e[y],y)?(g.push([d=+x.call(this,f,y),p=+_.call(this,f,y)]),v.push([+w.call(this,f,y),+M.call(this,f,y)])):g.length&&(l(),g=[],v=[]);return g.length&&l(),m.length?m.join(\"\"):null}var r=Cr,n=Cr,i=0,a=Dr,o=De,s=wa,l=s.key,u=s,c=\"L\",h=.7;return e.x=function(t){return arguments.length?(r=n=t,e):n},e.x0=function(t){return arguments.length?(r=t,e):r},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l=\"function\"==typeof t?s=t:(s=Dl.get(t)||wa).key,u=s.reverse||s,c=s.closed?\"M\":\"L\",e):l},e.tension=function(t){return arguments.length?(h=t,e):h},e}function qa(t){return t.radius}function Ga(t){return[t.x,t.y]}function Ya(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Vo;return[r*Math.cos(n),r*Math.sin(n)]}}function Xa(){return 64}function Wa(){return\"circle\"}function Za(t){var e=Math.sqrt(t/No);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}function Ja(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function Ka(t,e,r){return ko(t,Ul),t.namespace=e,t.id=r,t}function Qa(t,e,r,n){var i=t.id,a=t.namespace;return G(t,\"function\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function $a(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function to(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function eo(t,e,r,n,i){function a(t){var e=m.delay;if(u.t=e+l,e<=t)return o(t-e);u.c=o}function o(r){var i=p.active,a=p[i];a&&(a.timer.c=null,a.timer.t=NaN,--p.count,delete p[i],a.event&&a.event.interrupt.call(t,t.__data__,a.index));for(var o in p)if(+o<n){var h=p[o];h.timer.c=null,h.timer.t=NaN,--p.count,delete p[o]}u.c=s,zt(function(){return u.c&&s(r||1)&&(u.c=null,u.t=NaN),1},0,l),p.active=n,m.event&&m.event.start.call(t,t.__data__,e),d=[],m.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&d.push(n)}),f=m.ease,c=m.duration}function s(i){for(var a=i/c,o=f(a),s=d.length;s>0;)d[--s].call(t,o);if(a>=1)return m.event&&m.event.end.call(t,t.__data__,e),--p.count?delete p[n]:delete t[r],1}var l,u,c,f,d,p=t[r]||(t[r]={active:0,count:0}),m=p[n];m||(l=i.time,u=zt(a,0,l),m=p[n]={tween:new h,time:l,timer:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++p.count)}function ro(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"})}function no(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"})}function io(t){return t.toISOString()}function ao(t,e,r){function n(e){return t(e)}function i(t,r){var n=t[1]-t[0],i=n/r,a=uo.bisect(Jl,i);return a==Jl.length?[e.year,ta(t.map(function(t){return t/31536e6}),r)[2]]:a?e[i/Jl[a-1]<Jl[a]/i?a-1:a]:[$l,ta(t,r)[2]]}return n.invert=function(e){return oo(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(oo)},n.nice=function(t,e){function r(r){return!isNaN(r)&&!t.range(r,oo(+r+1),e).length}var a=n.domain(),o=Gi(a),s=null==t?i(o,10):\"number\"==typeof t&&i(o,t);return s&&(t=s[0],e=s[1]),n.domain(Wi(a,e>1?{floor:function(e){for(;r(e=t.floor(e));)e=oo(e-1);return e},ceil:function(e){for(;r(e=t.ceil(e));)e=oo(+e+1);return e}}:t))},n.ticks=function(t,e){var r=Gi(n.domain()),a=null==t?i(r,10):\"number\"==typeof t?i(r,t):!t.range&&[{range:t},e];return a&&(t=a[0],e=a[1]),t.range(r[0],oo(+r[1]+1),e<1?1:e)},n.tickFormat=function(){return r},n.copy=function(){return ao(t.copy(),e,r)},Qi(n,t)}function oo(t){return new Date(t)}function so(t){return JSON.parse(t.responseText)}function lo(t){var e=fo.createRange();return e.selectNode(fo.body),e.createContextualFragment(t.responseText)}var uo={version:\"3.5.17\"},co=[].slice,ho=function(t){return co.call(t)},fo=this.document;if(fo)try{ho(fo.documentElement.childNodes)[0].nodeType}catch(t){ho=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),fo)try{fo.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var po=this.Element.prototype,mo=po.setAttribute,go=po.setAttributeNS,vo=this.CSSStyleDeclaration.prototype,yo=vo.setProperty;po.setAttribute=function(t,e){mo.call(this,t,e+\"\")},po.setAttributeNS=function(t,e,r){go.call(this,t,e,r+\"\")},vo.setProperty=function(t,e,r){yo.call(this,t,e+\"\",r)}}uo.ascending=i,uo.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},uo.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},uo.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},uo.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},uo.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)o(r=+t[a])&&(n+=r);else for(;++a<i;)o(r=+e.call(t,t[a],a))&&(n+=r);return n},uo.mean=function(t,e){var r,n=0,i=t.length,s=-1,l=i;if(1===arguments.length)for(;++s<i;)o(r=a(t[s]))?n+=r:--l;else for(;++s<i;)o(r=a(e.call(t,t[s],s)))?n+=r:--l;if(l)return n/l},uo.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},uo.median=function(t,e){var r,n=[],s=t.length,l=-1;if(1===arguments.length)for(;++l<s;)o(r=a(t[l]))&&n.push(r);else for(;++l<s;)o(r=a(e.call(t,t[l],l)))&&n.push(r);if(n.length)return uo.quantile(n.sort(i),.5)},uo.variance=function(t,e){var r,n,i=t.length,s=0,l=0,u=-1,c=0;if(1===arguments.length)for(;++u<i;)o(r=a(t[u]))&&(n=r-s,s+=n/++c,l+=n*(r-s));else for(;++u<i;)o(r=a(e.call(t,t[u],u)))&&(n=r-s,s+=n/++c,l+=n*(r-s));if(c>1)return l/(c-1)},uo.deviation=function(){var t=uo.variance.apply(this,arguments);return t?Math.sqrt(t):t};var bo=s(i);uo.bisectLeft=bo.left,uo.bisect=uo.bisectRight=bo.right,uo.bisector=function(t){return s(1===t.length?function(e,r){return i(t(e),r)}:t)},uo.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},uo.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},uo.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},uo.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=uo.min(t,l),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n},uo.zip=function(){return uo.transpose(arguments)},uo.keys=function(t){var e=[];for(var r in t)e.push(r);return e},uo.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},uo.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},uo.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(n=t[i],e=n.length;--e>=0;)r[--o]=n[e];return r};var xo=Math.abs;uo.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error(\"infinite range\");var n,i=[],a=u(xo(r)),o=-1;if(t*=a,e*=a,r*=a,r<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},uo.map=function(t,e){var r=new h;if(t instanceof h)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _o=\"__proto__\",wo=\"\\0\";c(h,{has:p,get:function(t){return this._[f(t)]},set:function(t,e){return this._[f(t)]=e},remove:m,keys:g,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:d(e),value:this._[e]});return t},size:v,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e),this._[e])}}),uo.nest=function(){function t(e,o,s){if(s>=a.length)return n?n.call(i,o):r?o.sort(r):o;for(var l,u,c,f,d=-1,p=o.length,m=a[s++],g=new h;++d<p;)(f=g.get(l=m(u=o[d])))?f.push(u):g.set(l,[u]);return e?(u=e(),\nc=function(r,n){u.set(r,t(e,n,s))}):(u={},c=function(r,n){u[r]=t(e,n,s)}),g.forEach(c),u}function e(t,r){if(r>=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(uo.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},uo.set=function(t){var e=new b;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},c(b,{has:p,add:function(t){return this._[f(t+=\"\")]=!0,t},remove:m,values:g,size:v,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e))}}),uo.behavior={},uo.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=_(t,e,e[r]);return t};var Mo=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];uo.dispatch=function(){for(var t=new A,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=k(t);return t},A.prototype.on=function(t,e){var r=t.indexOf(\".\"),n=\"\";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},uo.event=null,uo.requote=function(t){return t.replace(Ao,\"\\\\$&\")};var Ao=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,ko={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},To=function(t,e){return e.querySelector(t)},Eo=function(t,e){return e.querySelectorAll(t)},So=function(t,e){var r=t.matches||t[w(t,\"matchesSelector\")];return(So=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(To=function(t,e){return Sizzle(t,e)[0]||null},Eo=Sizzle,So=Sizzle.matchesSelector),uo.selection=function(){return uo.select(fo.documentElement)};var Lo=uo.selection.prototype=[];Lo.select=function(t){var e,r,n,i,a=[];t=C(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,u=n.length;++l<u;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\"__data__\"in i&&(r.__data__=i.__data__)):e.push(null)}return L(a)},Lo.selectAll=function(t){var e,r,n=[];t=D(t);for(var i=-1,a=this.length;++i<a;)for(var o=this[i],s=-1,l=o.length;++s<l;)(r=o[s])&&(n.push(e=ho(t.call(r,r.__data__,s,i))),e.parentNode=r);return L(n)};var Co=\"http://www.w3.org/1999/xhtml\",Do={svg:\"http://www.w3.org/2000/svg\",xhtml:Co,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};uo.ns={prefix:Do,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),Do.hasOwnProperty(r)?{space:Do[r],local:t}:t}},Lo.attr=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node();return t=uo.ns.qualify(t),t.local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},Lo.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=O(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\"class\");++i<n;)if(!P(t[i]).test(e))return!1;return!0}for(e in t)this.each(R(e,t[e]));return this}return this.each(R(t,e))},Lo.style=function(t,e,r){var i=arguments.length;if(i<3){if(\"string\"!=typeof t){i<2&&(e=\"\");for(r in t)this.each(j(r,t[r],e));return this}if(i<2){var a=this.node();return n(a).getComputedStyle(a,null).getPropertyValue(t)}r=\"\"}return this.each(j(t,e,r))},Lo.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(N(e,t[e]));return this}return this.each(N(t,e))},Lo.text=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?\"\":e}:null==t?function(){this.textContent=\"\"}:function(){this.textContent=t}):this.node().textContent},Lo.html=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?\"\":e}:null==t?function(){this.innerHTML=\"\"}:function(){this.innerHTML=t}):this.node().innerHTML},Lo.append=function(t){return t=B(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Lo.insert=function(t,e){return t=B(t),e=C(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Lo.remove=function(){return this.each(U)},Lo.data=function(t,e){function r(t,r){var n,i,a,o=t.length,c=r.length,f=Math.min(o,c),d=new Array(c),p=new Array(c),m=new Array(o);if(e){var g,v=new h,y=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(v.has(g=e.call(i,i.__data__,n))?m[n]=i:v.set(g,i),y[n]=g);for(n=-1;++n<c;)(i=v.get(g=e.call(r,a=r[n],n)))?i!==!0&&(d[n]=i,i.__data__=a):p[n]=V(a),v.set(g,!0);for(n=-1;++n<o;)n in y&&v.get(y[n])!==!0&&(m[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,d[n]=i):p[n]=V(a);for(;n<c;++n)p[n]=V(r[n]);for(;n<o;++n)m[n]=t[n]}p.update=d,p.parentNode=d.parentNode=m.parentNode=t.parentNode,s.push(p),l.push(d),u.push(m)}var n,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(n=this[0]).length);++a<o;)(i=n[a])&&(t[a]=i.__data__);return t}var s=Y([]),l=L([]),u=L([]);if(\"function\"==typeof t)for(;++a<o;)r(n=this[a],t.call(n,n.parentNode.__data__,a));else for(;++a<o;)r(n=this[a],t);return l.enter=function(){return s},l.exit=function(){return u},l},Lo.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Lo.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=H(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return L(i)},Lo.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Lo.sort=function(t){t=q.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Lo.each=function(t){return G(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Lo.call=function(t){var e=ho(arguments);return t.apply(e[0]=this,e),this},Lo.empty=function(){return!this.node()},Lo.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Lo.size=function(){var t=0;return G(this,function(){++t}),t};var Io=[];uo.selection.enter=Y,uo.selection.enter.prototype=Io,Io.append=Lo.append,Io.empty=Lo.empty,Io.node=Lo.node,Io.call=Lo.call,Io.size=Lo.size,Io.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var u=-1,c=i.length;++u<c;)(a=i[u])?(e.push(n[u]=r=t.call(i.parentNode,a.__data__,u,s)),r.__data__=a.__data__):e.push(null)}return L(o)},Io.insert=function(t,e){return arguments.length<2&&(e=X(this)),Lo.insert.call(this,t,e)},uo.select=function(t){var r;return\"string\"==typeof t?(r=[To(t,fo)],r.parentNode=fo.documentElement):(r=[t],r.parentNode=e(t)),L([r])},uo.selectAll=function(t){var e;return\"string\"==typeof t?(e=ho(Eo(t,fo)),e.parentNode=fo.documentElement):(e=ho(t),e.parentNode=null),L([e])},Lo.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){n<2&&(e=!1);for(r in t)this.each(W(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(W(t,e,r))};var zo=uo.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});fo&&zo.forEach(function(t){\"on\"+t in fo&&zo.remove(t)});var Po,Oo=0;uo.mouse=function(t){return Q(t,E())};var Ro=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;uo.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=E().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return Q(t,n)},uo.behavior.drag=function(){function t(){this.on(\"mousedown.drag\",a).on(\"touchstart.drag\",o)}function e(t,e,n,a,o){return function(){function s(){var t,r,n=e(f,m);n&&(t=n[0]-b[0],r=n[1]-b[1],p|=t|r,b=n,d({type:\"drag\",x:n[0]+u[0],y:n[1]+u[1],dx:t,dy:r}))}function l(){e(f,m)&&(v.on(a+g,null).on(o+g,null),y(p),d({type:\"dragend\"}))}var u,c=this,h=uo.event.target.correspondingElement||uo.event.target,f=c.parentNode,d=r.of(c,arguments),p=0,m=t(),g=\".drag\"+(null==m?\"\":\"-\"+m),v=uo.select(n(h)).on(a+g,s).on(o+g,l),y=K(h),b=e(f,m);i?(u=i.apply(c,arguments),u=[u.x-b[0],u.y-b[1]]):u=[0,0],d({type:\"dragstart\"})}}var r=S(t,\"drag\",\"dragstart\",\"dragend\"),i=null,a=e(M,uo.mouse,n,\"mousemove\",\"mouseup\"),o=e($,uo.touch,x,\"touchmove\",\"touchend\");return t.origin=function(e){return arguments.length?(i=e,t):i},uo.rebind(t,r,\"on\")},uo.touches=function(t,e){return arguments.length<2&&(e=E().touches),e?ho(e).map(function(e){var r=Q(t,e);return r.identifier=e.identifier,r}):[]};var Fo=1e-6,jo=Fo*Fo,No=Math.PI,Bo=2*No,Uo=Bo-Fo,Vo=No/2,Ho=No/180,qo=180/No,Go=Math.SQRT2;uo.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<jo)n=Math.log(u/o)/Go,r=function(t){return[i+t*c,a+t*h,o*Math.exp(Go*t*n)]};else{var d=Math.sqrt(f),p=(u*u-o*o+4*f)/(2*o*2*d),m=(u*u-o*o-4*f)/(2*u*2*d),g=Math.log(Math.sqrt(p*p+1)-p);n=(Math.log(Math.sqrt(m*m+1)-m)-g)/Go,r=function(t){var e=t*n,r=at(g),s=o/(2*d)*(r*ot(Go*e+g)-it(g));return[i+s*c,a+s*h,o*r/at(Go*e+g)]}}return r.duration=1e3*n,r},uo.behavior.zoom=function(){function t(t){t.on(D,h).on(Xo+\".zoom\",d).on(\"dblclick.zoom\",p).on(P,f)}function e(t){return[(t[0]-A.x)/A.k,(t[1]-A.y)/A.k]}function r(t){return[t[0]*A.k+A.x,t[1]*A.k+A.y]}function i(t){A.k=Math.max(E[0],Math.min(E[1],t))}function a(t,e){e=r(e),A.x+=t[0]-e[0],A.y+=t[1]-e[1]}function o(e,r,n,o){e.__chart__={x:A.x,y:A.y,k:A.k},i(Math.pow(2,o)),a(g=r,n),e=uo.select(e),L>0&&(e=e.transition().duration(L)),e.call(t.event)}function s(){_&&_.domain(x.range().map(function(t){return(t-A.x)/A.k}).map(x.invert)),M&&M.domain(w.range().map(function(t){return(t-A.y)/A.k}).map(w.invert))}function l(t){C++||t({type:\"zoomstart\"})}function u(t){s(),t({type:\"zoom\",scale:A.k,translate:[A.x,A.y]})}function c(t){--C||(t({type:\"zoomend\"}),g=null)}function h(){function t(){s=1,a(uo.mouse(i),f),u(o)}function r(){h.on(I,null).on(z,null),d(s),c(o)}var i=this,o=O.of(i,arguments),s=0,h=uo.select(n(i)).on(I,t).on(z,r),f=e(uo.mouse(i)),d=K(i);Bl.call(i),l(o)}function f(){function t(){var t=uo.touches(p);return d=A.k,t.forEach(function(t){t.identifier in g&&(g[t.identifier]=e(t))}),t}function r(){var e=uo.event.target;uo.select(e).on(x,n).on(_,s),w.push(e);for(var r=uo.event.changedTouches,i=0,a=r.length;i<a;++i)g[r[i].identifier]=null;var l=t(),u=Date.now();if(1===l.length){if(u-b<500){var c=l[0];o(p,c,g[c.identifier],Math.floor(Math.log(A.k)/Math.LN2)+1),T()}b=u}else if(l.length>1){var c=l[0],h=l[1],f=c[0]-h[0],d=c[1]-h[1];v=f*f+d*d}}function n(){var t,e,r,n,o=uo.touches(p);Bl.call(p);for(var s=0,l=o.length;s<l;++s,n=null)if(r=o[s],n=g[r.identifier]){if(e)break;t=r,e=n}if(n){var c=(c=r[0]-t[0])*c+(c=r[1]-t[1])*c,h=v&&Math.sqrt(c/v);t=[(t[0]+r[0])/2,(t[1]+r[1])/2],e=[(e[0]+n[0])/2,(e[1]+n[1])/2],i(h*d)}b=null,a(t,e),u(m)}function s(){if(uo.event.touches.length){for(var e=uo.event.changedTouches,r=0,n=e.length;r<n;++r)delete g[e[r].identifier];for(var i in g)return void t()}uo.selectAll(w).on(y,null),M.on(D,h).on(P,f),k(),c(m)}var d,p=this,m=O.of(p,arguments),g={},v=0,y=\".zoom-\"+uo.event.changedTouches[0].identifier,x=\"touchmove\"+y,_=\"touchend\"+y,w=[],M=uo.select(p),k=K(p);r(),l(m),M.on(D,null).on(P,r)}function d(){var t=O.of(this,arguments);y?clearTimeout(y):(Bl.call(this),m=e(g=v||uo.mouse(this)),l(t)),y=setTimeout(function(){y=null,c(t)},50),T(),i(Math.pow(2,.002*Yo())*A.k),a(g,m),u(t)}function p(){var t=uo.mouse(this),r=Math.log(A.k)/Math.LN2;o(this,t,e(t),uo.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var m,g,v,y,b,x,_,w,M,A={x:0,y:0,k:1},k=[960,500],E=Wo,L=250,C=0,D=\"mousedown.zoom\",I=\"mousemove.zoom\",z=\"mouseup.zoom\",P=\"touchstart.zoom\",O=S(t,\"zoomstart\",\"zoom\",\"zoomend\");return Xo||(Xo=\"onwheel\"in fo?(Yo=function(){return-uo.event.deltaY*(uo.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in fo?(Yo=function(){return uo.event.wheelDelta},\"mousewheel\"):(Yo=function(){return-uo.event.detail},\"MozMousePixelScroll\")),t.event=function(t){t.each(function(){var t=O.of(this,arguments),e=A;jl?uo.select(this).transition().each(\"start.zoom\",function(){A=this.__chart__||{x:0,y:0,k:1},l(t)}).tween(\"zoom:zoom\",function(){var r=k[0],n=k[1],i=g?g[0]:r/2,a=g?g[1]:n/2,o=uo.interpolateZoom([(i-A.x)/A.k,(a-A.y)/A.k,r/A.k],[(i-e.x)/e.k,(a-e.y)/e.k,r/e.k]);return function(e){var n=o(e),s=r/n[2];this.__chart__=A={x:i-n[0]*s,y:a-n[1]*s,k:s},u(t)}}).each(\"interrupt.zoom\",function(){c(t)}).each(\"end.zoom\",function(){c(t)}):(this.__chart__=A,l(t),u(t),c(t))})},t.translate=function(e){return arguments.length?(A={x:+e[0],y:+e[1],k:A.k},s(),t):[A.x,A.y]},t.scale=function(e){return arguments.length?(A={x:A.x,y:A.y,k:null},i(+e),s(),t):A.k},t.scaleExtent=function(e){return arguments.length?(E=null==e?Wo:[+e[0],+e[1]],t):E},t.center=function(e){return arguments.length?(v=e&&[+e[0],+e[1]],t):v},t.size=function(e){return arguments.length?(k=e&&[+e[0],+e[1]],t):k},t.duration=function(e){return arguments.length?(L=+e,t):L},t.x=function(e){return arguments.length?(_=e,x=e.copy(),A={x:0,y:0,k:1},t):_},t.y=function(e){return arguments.length?(M=e,w=e.copy(),A={x:0,y:0,k:1},t):M},uo.rebind(t,O,\"on\")};var Yo,Xo,Wo=[0,1/0];uo.color=lt,lt.prototype.toString=function(){return this.rgb()+\"\"},uo.hsl=ut;var Zo=ut.prototype=new lt;Zo.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,this.l/t)},Zo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,t*this.l)},Zo.rgb=function(){return ct(this.h,this.s,this.l)},uo.hcl=ht;var Jo=ht.prototype=new lt;Jo.brighter=function(t){return new ht(this.h,this.c,Math.min(100,this.l+Ko*(arguments.length?t:1)))},Jo.darker=function(t){return new ht(this.h,this.c,Math.max(0,this.l-Ko*(arguments.length?t:1)))},Jo.rgb=function(){return ft(this.h,this.c,this.l).rgb()},uo.lab=dt;var Ko=18,Qo=.95047,$o=1,ts=1.08883,es=dt.prototype=new lt;es.brighter=function(t){return new dt(Math.min(100,this.l+Ko*(arguments.length?t:1)),this.a,this.b)},es.darker=function(t){return new dt(Math.max(0,this.l-Ko*(arguments.length?t:1)),this.a,this.b)},es.rgb=function(){return pt(this.l,this.a,this.b)},uo.rgb=bt;var rs=bt.prototype=new lt;rs.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new bt(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new bt(i,i,i)},rs.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new bt(t*this.r,t*this.g,t*this.b)},rs.hsl=function(){return At(this.r,this.g,this.b)},rs.toString=function(){return\"#\"+wt(this.r)+wt(this.g)+wt(this.b)};var ns=uo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ns.forEach(function(t,e){ns.set(t,xt(e))}),uo.functor=St,uo.xhr=Lt(x),uo.dsv=function(t,e){function r(t,r,a){arguments.length<3&&(a=r,r=null);var o=Ct(t,e,null==r?n:i(r),a);return o.row=function(t){return arguments.length?o.response(null==(r=t)?n:i(t)):r},o}function n(t){return r.parse(t.responseText)}function i(t){return function(e){return r.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return s.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}var s=new RegExp('[\"'+t+\"\\n]\"),l=t.charCodeAt(0);return r.parse=function(t,e){var n;return r.parseRows(t,function(t,r){if(n)return n(t,r-1);var i=new Function(\"d\",\"return {\"+t.map(function(t,e){return JSON.stringify(t)+\": d[\"+e+\"]\"}).join(\",\")+\"}\");n=e?function(t,r){return e(i(t),r)}:i})},r.parseRows=function(t,e){function r(){if(c>=u)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<u;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}c=r+2;var n=t.charCodeAt(r+1);return 13===n?(i=!0,10===t.charCodeAt(r+2)&&++c):10===n&&(i=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;c<u;){var n=t.charCodeAt(c++),s=1;if(10===n)i=!0;else if(13===n)i=!0,10===t.charCodeAt(c)&&(++c,++s);else if(n!==l)continue;return t.slice(e,c-s)}return t.slice(e)}for(var n,i,a={},o={},s=[],u=t.length,c=0,h=0;(n=r())!==o;){for(var f=[];n!==a&&n!==o;)f.push(n),n=r();e&&null==(f=e(f,h++))||s.push(f)}return s},r.format=function(e){if(Array.isArray(e[0]))return r.formatRows(e);var n=new b,i=[];return e.forEach(function(t){for(var e in t)n.has(e)||i.push(n.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join(\"\\n\")},r.formatRows=function(t){return t.map(a).join(\"\\n\")},r},uo.csv=uo.dsv(\",\",\"text/csv\"),uo.tsv=uo.dsv(\"\\t\",\"text/tab-separated-values\");var is,as,os,ss,ls=this[w(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};uo.timer=function(){zt.apply(this,arguments)},uo.timer.flush=function(){Ot(),Rt()},uo.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var us=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(jt);uo.formatPrefix=function(t,e){var r=0;return(t=+t)&&(t<0&&(t*=-1),e&&(t=uo.round(t,Ft(t,e))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,3*Math.floor((r-1)/3)))),us[8+r/3]};var cs=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,hs=uo.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=uo.round(t,Ft(t,e))).toFixed(Math.max(0,Math.min(20,Ft(t*(1+1e-15),e))))}}),fs=uo.time={},ds=Date;Ut.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){ps.setUTCDate.apply(this._,arguments)},setDay:function(){ps.setUTCDay.apply(this._,arguments)},setFullYear:function(){ps.setUTCFullYear.apply(this._,arguments)},setHours:function(){ps.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ps.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ps.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ps.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ps.setUTCSeconds.apply(this._,arguments)},setTime:function(){ps.setTime.apply(this._,arguments)}};var ps=Date.prototype;fs.year=Vt(function(t){return t=fs.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),fs.years=fs.year.range,fs.years.utc=fs.year.utc.range,fs.day=Vt(function(t){var e=new ds(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),fs.days=fs.day.range,fs.days.utc=fs.day.utc.range,fs.dayOfYear=function(t){var e=fs.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"].forEach(function(t,e){e=7-e;var r=fs[t]=Vt(function(t){return(t=fs.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=fs.year(t).getDay();return Math.floor((fs.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});fs[t+\"s\"]=r.range,fs[t+\"s\"].utc=r.utc.range,fs[t+\"OfYear\"]=function(t){var r=fs.year(t).getDay();return Math.floor((fs.dayOfYear(t)+(r+e)%7)/7)}}),fs.week=fs.sunday,fs.weeks=fs.sunday.range,fs.weeks.utc=fs.sunday.utc.range,fs.weekOfYear=fs.sundayOfYear;var ms={\"-\":\"\",_:\" \",0:\"0\"},gs=/^\\s*\\d+/,vs=/^%/;uo.locale=function(t){return{numberFormat:Nt(t),timeFormat:qt(t)}};var ys=uo.locale({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],dateTime:\"%a %b %e %X %Y\",date:\"%m/%d/%Y\",time:\"%H:%M:%S\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});uo.format=ys.numberFormat,uo.geo={},he.prototype={s:0,t:0,add:function(t){fe(t,this.t,bs),fe(bs.s,this.s,this),this.s?this.t+=bs.t:this.s=bs.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var bs=new he;uo.geo.stream=function(t,e){t&&xs.hasOwnProperty(t.type)?xs[t.type](t,e):de(t,e)};var xs={Feature:function(t,e){de(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)de(r[n].geometry,e)}},_s={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){pe(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)pe(r[n],e,0)},Polygon:function(t,e){me(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)me(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)de(r[n],e)}};uo.geo.area=function(t){return ws=0,uo.geo.stream(t,As),ws};var ws,Ms=new he,As={sphere:function(){ws+=4*No},point:M,lineStart:M,lineEnd:M,polygonStart:function(){Ms.reset(),As.lineStart=ge},polygonEnd:function(){var t=2*Ms;ws+=t<0?4*No+t:t,As.lineStart=As.lineEnd=As.point=M}};uo.geo.bounds=function(){function t(t,e){b.push(x=[c=t,f=t]),e<h&&(h=e),e>d&&(d=e)}function e(e,r){var n=ve([e*Ho,r*Ho]);if(v){var i=be(v,n),a=[i[1],-i[0],0],o=be(a,i);we(o),o=Me(o);var l=e-p,u=l>0?1:-1,m=o[0]*qo*u,g=xo(l)>180;if(g^(u*p<m&&m<u*e)){var y=o[1]*qo;y>d&&(d=y)}else if(m=(m+360)%360-180,g^(u*p<m&&m<u*e)){var y=-o[1]*qo;y<h&&(h=y)}else r<h&&(h=r),r>d&&(d=r);g?e<p?s(c,e)>s(c,f)&&(f=e):s(e,f)>s(c,f)&&(c=e):f>=c?(e<c&&(c=e),e>f&&(f=e)):e>p?s(c,e)>s(c,f)&&(f=e):s(e,f)>s(c,f)&&(c=e)}else t(e,r);v=n,p=e}function r(){_.point=e}function n(){x[0]=c,x[1]=f,_.point=t,v=null}function i(t,r){if(v){var n=t-p;y+=xo(n)>180?n+(n>0?360:-360):n}else m=t,g=r;As.point(t,r),e(t,r)}function a(){As.lineStart()}function o(){i(m,g),As.lineEnd(),xo(y)>Fo&&(c=-(f=180)),x[0]=c,x[1]=f,v=null}function s(t,e){return(e-=t)<0?e+360:e}function l(t,e){return t[0]-e[0]}function u(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var c,h,f,d,p,m,g,v,y,b,x,_={point:t,lineStart:r,lineEnd:n,polygonStart:function(){_.point=i,_.lineStart=a,_.lineEnd=o,y=0,As.polygonStart()},polygonEnd:function(){As.polygonEnd(),_.point=t,_.lineStart=r,_.lineEnd=n,Ms<0?(c=-(f=180),h=-(d=90)):y>Fo?d=90:y<-Fo&&(h=-90),x[0]=c,x[1]=f}};return function(t){d=f=-(c=h=1/0),b=[],uo.geo.stream(t,_);var e=b.length;if(e){b.sort(l);for(var r,n=1,i=b[0],a=[i];n<e;++n)r=b[n],u(r[0],i)||u(r[1],i)?(s(i[0],r[1])>s(i[0],i[1])&&(i[1]=r[1]),s(r[0],i[1])>s(i[0],i[1])&&(i[0]=r[0])):a.push(i=r);for(var o,r,p=-(1/0),e=a.length-1,n=0,i=a[e];n<=e;i=r,++n)r=a[n],(o=s(i[1],r[0]))>p&&(p=o,c=r[0],f=i[1])}return b=x=null,c===1/0||h===1/0?[[NaN,NaN],[NaN,NaN]]:[[c,h],[f,d]]}}(),uo.geo.centroid=function(t){ks=Ts=Es=Ss=Ls=Cs=Ds=Is=zs=Ps=Os=0,uo.geo.stream(t,Rs);var e=zs,r=Ps,n=Os,i=e*e+r*r+n*n;return i<jo&&(e=Cs,r=Ds,n=Is,Ts<Fo&&(e=Es,r=Ss,n=Ls),(i=e*e+r*r+n*n)<jo)?[NaN,NaN]:[Math.atan2(r,e)*qo,nt(n/Math.sqrt(i))*qo]};var ks,Ts,Es,Ss,Ls,Cs,Ds,Is,zs,Ps,Os,Rs={sphere:M,point:ke,lineStart:Ee,lineEnd:Se,polygonStart:function(){Rs.lineStart=Le},polygonEnd:function(){Rs.lineStart=Ee}},Fs=Oe(De,Ne,Ue,[-No,-No/2]),js=1e9;uo.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(s){return arguments.length?(a=Ge(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(uo.geo.conicEqualArea=function(){return Ye(Xe)}).raw=Xe,uo.geo.albers=function(){return uo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},uo.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}var e,r,n,i,a=uo.geo.albers(),o=uo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=uo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};return t.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var u=a.scale(),c=+e[0],h=+e[1];return r=a.translate(e).clipExtent([[c-.455*u,h-.238*u],[c+.455*u,h+.238*u]]).stream(l).point,n=o.translate([c-.307*u,h+.201*u]).clipExtent([[c-.425*u+Fo,h+.12*u+Fo],[c-.214*u-Fo,h+.234*u-Fo]]).stream(l).point,i=s.translate([c-.205*u,h+.212*u]).clipExtent([[c-.214*u+Fo,h+.166*u+Fo],[c-.115*u-Fo,h+.234*u-Fo]]).stream(l).point,t},t.scale(1070)};var Ns,Bs,Us,Vs,Hs,qs,Gs={point:M,lineStart:M,lineEnd:M,polygonStart:function(){Bs=0,Gs.lineStart=We},polygonEnd:function(){Gs.lineStart=Gs.lineEnd=Gs.point=M,Ns+=xo(Bs/2)}},Ys={point:Ze,lineStart:M,lineEnd:M,polygonStart:M,polygonEnd:M},Xs={point:Qe,lineStart:$e,lineEnd:tr,polygonStart:function(){Xs.lineStart=er},polygonEnd:function(){Xs.point=Qe,Xs.lineStart=$e,Xs.lineEnd=tr}};uo.geo.path=function(){function t(t){return t&&(\"function\"==typeof s&&a.pointRadius(+s.apply(this,arguments)),o&&o.valid||(o=i(a)),uo.geo.stream(t,o)),a.result()}function e(){return o=null,t}var r,n,i,a,o,s=4.5;return t.area=function(t){return Ns=0,uo.geo.stream(t,i(Gs)),Ns},t.centroid=function(t){return Es=Ss=Ls=Cs=Ds=Is=zs=Ps=Os=0,uo.geo.stream(t,i(Xs)),Os?[zs/Os,Ps/Os]:Is?[Cs/Is,Ds/Is]:Ls?[Es/Ls,Ss/Ls]:[NaN,NaN]},t.bounds=function(t){return Hs=qs=-(Us=Vs=1/0),uo.geo.stream(t,i(Ys)),[[Us,Vs],[Hs,qs]]},t.projection=function(t){return arguments.length?(i=(r=t)?t.stream||ir(t):x,e()):r},t.context=function(t){return arguments.length?(a=null==(n=t)?new Je:new rr(t),\"function\"!=typeof s&&a.pointRadius(s),e()):n},t.pointRadius=function(e){return arguments.length?(s=\"function\"==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(uo.geo.albersUsa()).context(null)},uo.geo.transform=function(t){return{stream:function(e){var r=new ar(e);for(var n in t)r[n]=t[n];return r}}},ar.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},uo.geo.projection=sr,uo.geo.projectionMutator=lr,(uo.geo.equirectangular=function(){return sr(cr)}).raw=cr.invert=cr,uo.geo.rotation=function(t){function e(e){return e=t(e[0]*Ho,e[1]*Ho),e[0]*=qo,e[1]*=qo,e}return t=fr(t[0]%360*Ho,t[1]*Ho,t.length>2?t[2]*Ho:0),e.invert=function(e){return e=t.invert(e[0]*Ho,e[1]*Ho),e[0]*=qo,e[1]*=qo,e},e},hr.invert=cr,uo.geo.circle=function(){function t(){var t=\"function\"==typeof n?n.apply(this,arguments):n,e=fr(-t[0]*Ho,-t[1]*Ho,0).invert,i=[];return r(null,null,1,{point:function(t,r){i.push(t=e(t,r)),t[0]*=qo,t[1]*=qo}}),{type:\"Polygon\",coordinates:[i]}}var e,r,n=[0,0],i=6;return t.origin=function(e){return arguments.length?(n=e,t):n},t.angle=function(n){return arguments.length?(r=gr((e=+n)*Ho,i*Ho),t):e},t.precision=function(n){return arguments.length?(r=gr(e*Ho,(i=+n)*Ho),t):i},t.angle(90)},uo.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ho,i=t[1]*Ho,a=e[1]*Ho,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),u=Math.cos(i),c=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((r=h*o)*r+(r=u*c-l*h*s)*r),l*c+u*h*s)},uo.geo.graticule=function(){function t(){return{type:\"MultiLineString\",coordinates:e()}}function e(){return uo.range(Math.ceil(a/g)*g,i,g).map(f).concat(uo.range(Math.ceil(u/v)*v,l,v).map(d)).concat(uo.range(Math.ceil(n/p)*p,r,p).filter(function(t){return xo(t%g)>Fo}).map(c)).concat(uo.range(Math.ceil(s/m)*m,o,m).filter(function(t){return xo(t%v)>Fo}).map(h))}var r,n,i,a,o,s,l,u,c,h,f,d,p=10,m=p,g=90,v=360,y=2.5\n;return t.lines=function(){return e().map(function(t){return{type:\"LineString\",coordinates:t}})},t.outline=function(){return{type:\"Polygon\",coordinates:[f(a).concat(d(l).slice(1),f(i).reverse().slice(1),d(u).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],u=+e[0][1],l=+e[1][1],a>i&&(e=a,a=i,i=e),u>l&&(e=u,u=l,l=e),t.precision(y)):[[a,u],[i,l]]},t.minorExtent=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n>r&&(e=n,n=r,r=e),s>o&&(e=s,s=o,o=e),t.precision(y)):[[n,s],[r,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(g=+e[0],v=+e[1],t):[g,v]},t.minorStep=function(e){return arguments.length?(p=+e[0],m=+e[1],t):[p,m]},t.precision=function(e){return arguments.length?(y=+e,c=yr(s,o,90),h=br(n,r,y),f=yr(u,l,90),d=br(a,i,y),t):y},t.majorExtent([[-180,-90+Fo],[180,90-Fo]]).minorExtent([[-180,-80-Fo],[180,80+Fo]])},uo.geo.greatArc=function(){function t(){return{type:\"LineString\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}var e,r,n=xr,i=_r;return t.distance=function(){return uo.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},t.source=function(r){return arguments.length?(n=r,e=\"function\"==typeof r?null:r,t):n},t.target=function(e){return arguments.length?(i=e,r=\"function\"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},uo.geo.interpolate=function(t,e){return wr(t[0]*Ho,t[1]*Ho,e[0]*Ho,e[1]*Ho)},uo.geo.length=function(t){return Ws=0,uo.geo.stream(t,Zs),Ws};var Ws,Zs={sphere:M,point:M,lineStart:Mr,lineEnd:M,polygonStart:M,polygonEnd:M},Js=Ar(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(uo.geo.azimuthalEqualArea=function(){return sr(Js)}).raw=Js;var Ks=Ar(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},x);(uo.geo.azimuthalEquidistant=function(){return sr(Ks)}).raw=Ks,(uo.geo.conicConformal=function(){return Ye(kr)}).raw=kr,(uo.geo.conicEquidistant=function(){return Ye(Tr)}).raw=Tr;var Qs=Ar(function(t){return 1/t},Math.atan);(uo.geo.gnomonic=function(){return sr(Qs)}).raw=Qs,Er.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Vo]},(uo.geo.mercator=function(){return Sr(Er)}).raw=Er;var $s=Ar(function(){return 1},Math.asin);(uo.geo.orthographic=function(){return sr($s)}).raw=$s;var tl=Ar(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(uo.geo.stereographic=function(){return sr(tl)}).raw=tl,Lr.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Vo]},(uo.geo.transverseMercator=function(){var t=Sr(Lr),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):(t=r(),[t[0],t[1],t[2]-90])},r([0,0,90])}).raw=Lr,uo.geom={},uo.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=St(r),a=St(n),o=t.length,s=[],l=[];for(e=0;e<o;e++)s.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(s.sort(zr),e=0;e<o;e++)l.push([s[e][0],-s[e][1]]);var u=Ir(s),c=Ir(l),h=c[0]===u[0],f=c[c.length-1]===u[u.length-1],d=[];for(e=u.length-1;e>=0;--e)d.push(t[s[u[e]][2]]);for(e=+h;e<c.length-f;++e)d.push(t[s[c[e]][2]]);return d}var r=Cr,n=Dr;return arguments.length?e(t):(e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e)},uo.geom.polygon=function(t){return ko(t,el),t};var el=uo.geom.polygon.prototype=[];el.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},el.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},el.clip=function(t){for(var e,r,n,i,a,o,s=Rr(t),l=-1,u=this.length-Rr(this),c=this[u-1];++l<u;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)o=e[r],Pr(o,c,i)?(Pr(a,c,i)||t.push(Or(a,o,c,i)),t.push(o)):Pr(a,c,i)&&t.push(Or(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var rl,nl,il,al,ol,sl=[],ll=[];qr.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)t=e[r].edge,t.b&&t.a||e.splice(r,1);return e.sort(Yr),e.length},rn.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},nn.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=ln(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)n=r.U,r===n.L?(i=n.R,i&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(on(this,r),t=r,r=t.U),r.C=!1,n.C=!0,sn(this,n))):(i=n.L,i&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(sn(this,r),t=r,r=t.U),r.C=!1,n.C=!0,on(this,n))),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?ln(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,on(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,sn(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,on(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,sn(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,on(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,sn(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},uo.geom.voronoi=function(t){function e(t){var e=new Array(t.length),n=s[0][0],i=s[0][1],a=s[1][0],o=s[1][1];return un(r(t),s).cells.forEach(function(r,s){var l=r.edges,u=r.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):u.x>=n&&u.x<=a&&u.y>=i&&u.y<=o?[[n,o],[a,o],[a,i],[n,i]]:[]).point=t[s]}),e}function r(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Fo)*Fo,y:Math.round(o(t,e)/Fo)*Fo,i:e}})}var n=Cr,i=Dr,a=n,o=i,s=ul;return t?e(t):(e.links=function(t){return un(r(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return un(r(t)).cells.forEach(function(r,n){for(var i,a=r.site,o=r.edges.sort(Yr),s=-1,l=o.length,u=o[l-1].edge,c=u.l===a?u.r:u.l;++s<l;)u,i=c,u=o[s].edge,c=u.l===a?u.r:u.l,n<i.i&&n<c.i&&hn(a,i,c)<0&&e.push([t[n],t[i.i],t[c.i]])}),e},e.x=function(t){return arguments.length?(a=St(n=t),e):n},e.y=function(t){return arguments.length?(o=St(i=t),e):i},e.clipExtent=function(t){return arguments.length?(s=null==t?ul:t,e):s===ul?null:s},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):s===ul?null:s&&s[1]},e)};var ul=[[-1e6,-1e6],[1e6,1e6]];uo.geom.delaunay=function(t){return uo.geom.voronoi().triangles(t)},uo.geom.quadtree=function(t,e,r,n,i){function a(t){function a(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(xo(l-r)+xo(c-n)<.01)u(t,e,r,n,i,a,o,s);else{var h=t.point;t.x=t.y=t.point=null,u(t,h,l,c,i,a,o,s),u(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else u(t,e,r,n,i,a,o,s)}function u(t,e,r,n,i,o,s,l){var u=.5*(i+s),c=.5*(o+l),h=r>=u,f=n>=c,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=pn()),h?i=u:s=u,f?o=c:l=c,a(t,e,r,n,i,o,s,l)}var c,h,f,d,p,m,g,v,y,b=St(s),x=St(l);if(null!=e)m=e,g=r,v=n,y=i;else if(v=y=-(m=g=1/0),h=[],f=[],p=t.length,o)for(d=0;d<p;++d)c=t[d],c.x<m&&(m=c.x),c.y<g&&(g=c.y),c.x>v&&(v=c.x),c.y>y&&(y=c.y),h.push(c.x),f.push(c.y);else for(d=0;d<p;++d){var _=+b(c=t[d],d),w=+x(c,d);_<m&&(m=_),w<g&&(g=w),_>v&&(v=_),w>y&&(y=w),h.push(_),f.push(w)}var M=v-m,A=y-g;M>A?y=g+M:v=m+A;var k=pn();if(k.add=function(t){a(k,t,+b(t,++d),+x(t,d),m,g,v,y)},k.visit=function(t){mn(t,k,m,g,v,y)},k.find=function(t){return gn(k,t[0],t[1],m,g,v,y)},d=-1,null==e){for(;++d<p;)a(k,t[d],h[d],f[d],m,g,v,y);--d}else t.forEach(k.add);return h=f=t=c=null,k}var o,s=Cr,l=Dr;return(o=arguments.length)?(s=fn,l=dn,3===o&&(i=r,n=e,r=e=0),a(t)):(a.x=function(t){return arguments.length?(s=t,a):s},a.y=function(t){return arguments.length?(l=t,a):l},a.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),a):null==e?null:[[e,r],[n,i]]},a.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),a):null==e?null:[n-e,i-r]},a)},uo.interpolateRgb=vn,uo.interpolateObject=yn,uo.interpolateNumber=bn,uo.interpolateString=xn;var cl=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,hl=new RegExp(cl.source,\"g\");uo.interpolate=_n,uo.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?ns.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?vn:xn:e instanceof lt?vn:Array.isArray(e)?wn:\"object\"===r&&isNaN(e)?yn:bn)(t,e)}],uo.interpolateArray=wn;var fl=function(){return x},dl=uo.map({linear:fl,poly:Ln,quad:function(){return Tn},cubic:function(){return En},sin:function(){return Cn},exp:function(){return Dn},circle:function(){return In},elastic:zn,back:Pn,bounce:function(){return On}}),pl=uo.map({in:x,out:An,\"in-out\":kn,\"out-in\":function(t){return kn(An(t))}});uo.ease=function(t){var e=t.indexOf(\"-\"),r=e>=0?t.slice(0,e):t,n=e>=0?t.slice(e+1):\"in\";return r=dl.get(r)||fl,n=pl.get(n)||x,Mn(n(r.apply(null,co.call(arguments,1))))},uo.interpolateHcl=Rn,uo.interpolateHsl=Fn,uo.interpolateLab=jn,uo.interpolateRound=Nn,uo.transform=function(t){var e=fo.createElementNS(uo.ns.prefix.svg,\"g\");return(uo.transform=function(t){if(null!=t){e.setAttribute(\"transform\",t);var r=e.transform.baseVal.consolidate()}return new Bn(r?r.matrix:ml)})(t)},Bn.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var ml={a:1,b:0,c:0,d:1,e:0,f:0};uo.interpolateTransform=Zn,uo.layout={},uo.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(Qn(t[r]));return e}},uo.layout.chord=function(){function t(){var t,u,h,f,d,p={},m=[],g=uo.range(a),v=[];for(r=[],n=[],t=0,f=-1;++f<a;){for(u=0,d=-1;++d<a;)u+=i[f][d];m.push(u),v.push(uo.range(a)),t+=u}for(o&&g.sort(function(t,e){return o(m[t],m[e])}),s&&v.forEach(function(t,e){t.sort(function(t,r){return s(i[e][t],i[e][r])})}),t=(Bo-c*a)/t,u=0,f=-1;++f<a;){for(h=u,d=-1;++d<a;){var y=g[f],b=v[y][d],x=i[y][b],_=u,w=u+=x*t;p[y+\"-\"+b]={index:y,subindex:b,startAngle:_,endAngle:w,value:x}}n[y]={index:y,startAngle:h,endAngle:u,value:m[y]},u+=c}for(f=-1;++f<a;)for(d=f-1;++d<a;){var M=p[f+\"-\"+d],A=p[d+\"-\"+f];(M.value||A.value)&&r.push(M.value<A.value?{source:A,target:M}:{source:M,target:A})}l&&e()}function e(){r.sort(function(t,e){return l((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var r,n,i,a,o,s,l,u={},c=0;return u.matrix=function(t){return arguments.length?(a=(i=t)&&i.length,r=n=null,u):i},u.padding=function(t){return arguments.length?(c=t,r=n=null,u):c},u.sortGroups=function(t){return arguments.length?(o=t,r=n=null,u):o},u.sortSubgroups=function(t){return arguments.length?(s=t,r=null,u):s},u.sortChords=function(t){return arguments.length?(l=t,r&&e(),u):l},u.chords=function(){return r||t(),r},u.groups=function(){return n||t(),n},u},uo.layout.force=function(){function t(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/v<l){if(l<m){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}if(e.point&&l&&l<m){var u=e.pointCharge/l;t.px-=a*u,t.py-=o*u}}return!e.charge}}function e(t){t.px=uo.event.x,t.py=uo.event.y,l.resume()}var r,n,i,a,o,s,l={},u=uo.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],h=.9,f=gl,d=vl,p=-30,m=yl,g=.1,v=.64,y=[],b=[];return l.tick=function(){if((i*=.99)<.005)return r=null,u.end({type:\"end\",alpha:i=0}),!0;var e,n,l,f,d,m,v,x,_,w=y.length,M=b.length;for(n=0;n<M;++n)l=b[n],f=l.source,d=l.target,x=d.x-f.x,_=d.y-f.y,(m=x*x+_*_)&&(m=i*o[n]*((m=Math.sqrt(m))-a[n])/m,x*=m,_*=m,d.x-=x*(v=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=_*v,f.x+=x*(v=1-v),f.y+=_*v);if((v=i*g)&&(x=c[0]/2,_=c[1]/2,n=-1,v))for(;++n<w;)l=y[n],l.x+=(x-l.x)*v,l.y+=(_-l.y)*v;if(p)for(ai(e=uo.geom.quadtree(y),i,s),n=-1;++n<w;)(l=y[n]).fixed||e.visit(t(l));for(n=-1;++n<w;)l=y[n],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*h,l.y-=(l.py-(l.py=l.y))*h);u.tick({type:\"tick\",alpha:i})},l.nodes=function(t){return arguments.length?(y=t,l):y},l.links=function(t){return arguments.length?(b=t,l):b},l.size=function(t){return arguments.length?(c=t,l):c},l.linkDistance=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,l):f},l.distance=l.linkDistance,l.linkStrength=function(t){return arguments.length?(d=\"function\"==typeof t?t:+t,l):d},l.friction=function(t){return arguments.length?(h=+t,l):h},l.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,l):p},l.chargeDistance=function(t){return arguments.length?(m=t*t,l):Math.sqrt(m)},l.gravity=function(t){return arguments.length?(g=+t,l):g},l.theta=function(t){return arguments.length?(v=t*t,l):Math.sqrt(v)},l.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(r.c=null,r.t=NaN,r=null,u.end({type:\"end\",alpha:i=0})):t>0&&(u.start({type:\"start\",alpha:i=t}),r=zt(l.tick)),l):i},l.start=function(){function t(t,n){if(!r){for(r=new Array(i),l=0;l<i;++l)r[l]=[];for(l=0;l<u;++l){var a=b[l];r[a.source.index].push(a.target),r[a.target.index].push(a.source)}}for(var o,s=r[e],l=-1,c=s.length;++l<c;)if(!isNaN(o=s[l][t]))return o;return Math.random()*n}var e,r,n,i=y.length,u=b.length,h=c[0],m=c[1];for(e=0;e<i;++e)(n=y[e]).index=e,n.weight=0;for(e=0;e<u;++e)n=b[e],\"number\"==typeof n.source&&(n.source=y[n.source]),\"number\"==typeof n.target&&(n.target=y[n.target]),++n.source.weight,++n.target.weight;for(e=0;e<i;++e)n=y[e],isNaN(n.x)&&(n.x=t(\"x\",h)),isNaN(n.y)&&(n.y=t(\"y\",m)),isNaN(n.px)&&(n.px=n.x),isNaN(n.py)&&(n.py=n.y);if(a=[],\"function\"==typeof f)for(e=0;e<u;++e)a[e]=+f.call(this,b[e],e);else for(e=0;e<u;++e)a[e]=f;if(o=[],\"function\"==typeof d)for(e=0;e<u;++e)o[e]=+d.call(this,b[e],e);else for(e=0;e<u;++e)o[e]=d;if(s=[],\"function\"==typeof p)for(e=0;e<i;++e)s[e]=+p.call(this,y[e],e);else for(e=0;e<i;++e)s[e]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){if(n||(n=uo.behavior.drag().origin(x).on(\"dragstart.force\",ei).on(\"drag.force\",e).on(\"dragend.force\",ri)),!arguments.length)return n;this.on(\"mouseover.force\",ni).on(\"mouseout.force\",ii).call(n)},uo.rebind(l,u,\"on\")};var gl=20,vl=1,yl=1/0;uo.layout.hierarchy=function(){function t(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=r.call(t,a,a.depth))&&(l=u.length)){for(var l,u,c;--l>=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;n&&(a.value=0),a.children=u}else n&&(a.value=+n.call(t,a,a.depth)||0),delete a.children;return li(i,function(t){var r,i;e&&(r=t.children)&&r.sort(e),n&&(i=t.parent)&&(i.value+=t.value)}),s}var e=hi,r=ui,n=ci;return t.sort=function(r){return arguments.length?(e=r,t):e},t.children=function(e){return arguments.length?(r=e,t):r},t.value=function(e){return arguments.length?(n=e,t):n},t.revalue=function(e){return n&&(si(e,function(t){t.children&&(t.value=0)}),li(e,function(e){var r;e.children||(e.value=+n.call(t,e,e.depth)||0),(r=e.parent)&&(r.value+=e.value)})),e},t},uo.layout.partition=function(){function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++u<o;)t(s=a[u],r,l=s.value*n,i),r+=l}}function e(t){var r=t.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,e(r[a]));return 1+n}function r(r,a){var o=n.call(this,r,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var n=uo.layout.hierarchy(),i=[1,1];return r.size=function(t){return arguments.length?(i=t,r):i},oi(r,n)},uo.layout.pie=function(){function t(o){var s,l=o.length,u=o.map(function(r,n){return+e.call(t,r,n)}),c=+(\"function\"==typeof n?n.apply(this,arguments):n),h=(\"function\"==typeof i?i.apply(this,arguments):i)-c,f=Math.min(Math.abs(h)/l,+(\"function\"==typeof a?a.apply(this,arguments):a)),d=f*(h<0?-1:1),p=uo.sum(u),m=p?(h-l*d)/p:0,g=uo.range(l),v=[];return null!=r&&g.sort(r===bl?function(t,e){return u[e]-u[t]}:function(t,e){return r(o[t],o[e])}),g.forEach(function(t){v[t]={data:o[t],value:s=u[t],startAngle:c,endAngle:c+=s*m+d,padAngle:f}}),v}var e=Number,r=bl,n=0,i=Bo,a=0;return t.value=function(r){return arguments.length?(e=r,t):e},t.sort=function(e){return arguments.length?(r=e,t):r},t.startAngle=function(e){return arguments.length?(n=e,t):n},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var bl={};uo.layout.stack=function(){function t(s,l){if(!(f=s.length))return s;var u=s.map(function(r,n){return e.call(t,r,n)}),c=u.map(function(e){return e.map(function(e,r){return[a.call(t,e,r),o.call(t,e,r)]})}),h=r.call(t,c,l);u=uo.permute(u,h),c=uo.permute(c,h);var f,d,p,m,g=n.call(t,c,l),v=u[0].length;for(p=0;p<v;++p)for(i.call(t,u[0][p],m=g[p],c[0][p][1]),d=1;d<f;++d)i.call(t,u[d][p],m+=c[d-1][p][1],c[d][p][1]);return s}var e=x,r=gi,n=vi,i=mi,a=di,o=pi;return t.values=function(r){return arguments.length?(e=r,t):e},t.order=function(e){return arguments.length?(r=\"function\"==typeof e?e:xl.get(e)||gi,t):r},t.offset=function(e){return arguments.length?(n=\"function\"==typeof e?e:_l.get(e)||vi,t):n},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var xl=uo.map({\"inside-out\":function(t){var e,r,n=t.length,i=t.map(yi),a=t.map(bi),o=uo.range(n).sort(function(t,e){return i[t]-i[e]}),s=0,l=0,u=[],c=[];for(e=0;e<n;++e)r=o[e],s<l?(s+=a[r],u.push(r)):(l+=a[r],c.push(r));return c.reverse().concat(u)},reverse:function(t){return uo.range(t.length).reverse()},default:gi}),_l=uo.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,u,c=t.length,h=t[0],f=h.length,d=[];for(d[0]=l=u=0,r=1;r<f;++r){for(e=0,i=0;e<c;++e)i+=t[e][r][1];for(e=0,a=0,s=h[r][0]-h[r-1][0];e<c;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}d[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<f;++r)d[r]-=u;return d},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:vi});uo.layout.histogram=function(){function t(t,a){for(var o,s,l=[],u=t.map(r,this),c=n.call(this,u,a),h=i.call(this,c,u,a),a=-1,f=u.length,d=h.length-1,p=e?1:1/f;++a<d;)o=l[a]=[],o.dx=h[a+1]-(o.x=h[a]),o.y=0;if(d>0)for(a=-1;++a<f;)(s=u[a])>=c[0]&&s<=c[1]&&(o=l[uo.bisect(h,s,1,d)-1],o.y+=p,o.push(t[a]));return l}var e=!0,r=Number,n=Mi,i=_i;return t.value=function(e){return arguments.length?(r=e,t):r},t.range=function(e){return arguments.length?(n=St(e),t):n},t.bins=function(e){return arguments.length?(i=\"number\"==typeof e?function(t){return wi(t,e)}:St(e),t):i},t.frequency=function(r){return arguments.length?(e=!!r,t):e},t},uo.layout.pack=function(){function t(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],u=i[1],c=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,li(s,function(t){t.r=+c(t.value)}),li(s,Si),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;li(s,function(t){t.r+=h}),li(s,Si),li(s,function(t){t.r-=h})}return Di(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}var e,r=uo.layout.hierarchy().sort(Ai),n=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(r){return arguments.length?(e=null==r||\"function\"==typeof r?r:+r,t):e},t.padding=function(e){return arguments.length?(n=+e,t):n},oi(t,r)},uo.layout.tree=function(){function t(t,i){var c=o.call(this,t,i),h=c[0],f=e(h);if(li(f,r),f.parent.m=-f.z,si(f,n),u)si(h,a);else{var d=h,p=h,m=h;si(h,function(t){t.x<d.x&&(d=t),t.x>p.x&&(p=t),t.depth>m.depth&&(m=t)});var g=s(d,p)/2-d.x,v=l[0]/(p.x+s(p,d)/2+g),y=l[1]/(m.depth||1);si(h,function(t){t.x=(t.x+g)*v,t.y=t.depth*y})}return c}function e(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}function r(t){var e=t.children,r=t.parent.children,n=t.i?r[t.i-1]:null;if(e.length){Fi(t);var a=(e[0].z+e[e.length-1].z)/2;n?(t.z=n.z+s(t._,n._),t.m=t.z-a):t.z=a}else n&&(t.z=n.z+s(t._,n._));t.parent.A=i(t,n,t.parent.A||r[0])}function n(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,r){if(e){for(var n,i=t,a=t,o=e,l=i.parent.children[0],u=i.m,c=a.m,h=o.m,f=l.m;o=Oi(o),i=Pi(i),o&&i;)l=Pi(l),a=Oi(a),a.a=t,n=o.z+h-i.z-u+s(o._,i._),n>0&&(Ri(ji(o,t,r),t,n),u+=n,c+=n),h+=o.m,u+=i.m,f+=l.m,c+=a.m;o&&!Oi(a)&&(a.t=o,a.m+=h-c),i&&!Pi(l)&&(l.t=i,l.m+=u-f,r=t)}return r}function a(t){t.x*=l[0],t.y=t.depth*l[1]}var o=uo.layout.hierarchy().sort(null).value(null),s=zi,l=[1,1],u=null;return t.separation=function(e){return arguments.length?(s=e,t):s},t.size=function(e){return arguments.length?(u=null==(l=e)?a:null,t):u?null:l},t.nodeSize=function(e){return arguments.length?(u=null==(l=e)?null:a,t):u?l:null},oi(t,o)},uo.layout.cluster=function(){function t(t,a){var o,s=e.call(this,t,a),l=s[0],u=0;li(l,function(t){var e=t.children;e&&e.length?(t.x=Bi(e),t.y=Ni(e)):(t.x=o?u+=r(t,o):0,t.y=0,o=t)});var c=Ui(l),h=Vi(l),f=c.x-r(c,h)/2,d=h.x+r(h,c)/2;return li(l,i?function(t){t.x=(t.x-l.x)*n[0],t.y=(l.y-t.y)*n[1]}:function(t){t.x=(t.x-f)/(d-f)*n[0],t.y=(1-(l.y?t.y/l.y:1))*n[1]}),s}var e=uo.layout.hierarchy().sort(null).value(null),r=zi,n=[1,1],i=!1;return t.separation=function(e){return arguments.length?(r=e,t):r},t.size=function(e){return arguments.length?(i=null==(n=e),t):i?null:n},t.nodeSize=function(e){return arguments.length?(i=null!=(n=e),t):i?n:null},oi(t,e)},uo.layout.treemap=function(){function t(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function e(r){var a=r.children;if(a&&a.length){var o,s,l,u=h(r),c=[],f=a.slice(),p=1/0,m=\"slice\"===d?u.dx:\"dice\"===d?u.dy:\"slice-dice\"===d?1&r.depth?u.dy:u.dx:Math.min(u.dx,u.dy);for(t(f,u.dx*u.dy/r.value),c.area=0;(l=f.length)>0;)c.push(o=f[l-1]),c.area+=o.area,\"squarify\"!==d||(s=n(c,m))<=p?(f.pop(),p=s):(c.area-=c.pop().area,i(c,m,u,!1),m=Math.min(u.dx,u.dy),c.length=c.area=0,p=1/0);c.length&&(i(c,m,u,!0),c.length=c.area=0),a.forEach(e)}}function r(e){var n=e.children;if(n&&n.length){var a,o=h(e),s=n.slice(),l=[];for(t(s,o.dx*o.dy/e.value),l.area=0;a=s.pop();)l.push(a),l.area+=a.area,null!=a.z&&(i(l,a.z?o.dx:o.dy,o,!s.length),l.length=l.area=0);n.forEach(r)}}function n(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return n*=n,e*=e,n?Math.max(e*i*p/n,n/(e*a*p)):1/0}function i(t,e,r,n){var i,a=-1,o=t.length,s=r.x,u=r.y,c=e?l(t.area/e):0;if(e==r.dx){for((n||c>r.dy)&&(c=r.dy);++a<o;)i=t[a],i.x=s,i.y=u,i.dy=c,s+=i.dx=Math.min(r.x+r.dx-s,c?l(i.area/c):0);i.z=!0,i.dx+=r.x+r.dx-s,r.y+=c,r.dy-=c}else{for((n||c>r.dx)&&(c=r.dx);++a<o;)i=t[a],i.x=s,i.y=u,i.dx=c,u+=i.dy=Math.min(r.y+r.dy-u,c?l(i.area/c):0);i.z=!1,i.dy+=r.y+r.dy-u,r.x+=c,r.dx-=c}}function a(n){var i=o||s(n),a=i[0];return a.x=a.y=0,a.value?(a.dx=u[0],a.dy=u[1]):a.dx=a.dy=0,o&&s.revalue(a),t([a],a.dx*a.dy/a.value),(o?r:e)(a),f&&(o=i),i}var o,s=uo.layout.hierarchy(),l=Math.round,u=[1,1],c=null,h=Hi,f=!1,d=\"squarify\",p=.5*(1+Math.sqrt(5));return a.size=function(t){return arguments.length?(u=t,a):u},a.padding=function(t){function e(e){var r=t.call(a,e,e.depth);return null==r?Hi(e):qi(e,\"number\"==typeof r?[r,r,r,r]:r)}function r(e){return qi(e,t)}if(!arguments.length)return c;var n;return h=null==(c=t)?Hi:\"function\"==(n=typeof t)?e:\"number\"===n?(t=[t,t,t,t],r):r,a},a.round=function(t){return arguments.length?(l=t?Math.round:Number,a):l!=Number},a.sticky=function(t){return arguments.length?(f=t,o=null,a):f},a.ratio=function(t){return arguments.length?(p=t,a):p},a.mode=function(t){return arguments.length?(d=t+\"\",a):d},oi(a,s)},uo.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{r=2*Math.random()-1,n=2*Math.random()-1,i=r*r+n*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=uo.random.normal.apply(uo,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=uo.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},uo.scale={};var wl={floor:x,ceil:x};uo.scale.linear=function(){return Ki([0,1],[0,1],_n,!1)};var Ml={s:1,g:1,p:1,r:1,e:1};uo.scale.log=function(){return aa(uo.scale.linear().domain([0,1]),10,!0,[1,10])};var Al=uo.format(\".0e\"),kl={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};uo.scale.pow=function(){return oa(uo.scale.linear(),1,[0,1])},uo.scale.sqrt=function(){return uo.scale.pow().exponent(.5)},uo.scale.ordinal=function(){return la([],{t:\"range\",a:[[]]})},uo.scale.category10=function(){return uo.scale.ordinal().range(Tl)},uo.scale.category20=function(){return uo.scale.ordinal().range(El)},uo.scale.category20b=function(){return uo.scale.ordinal().range(Sl)},uo.scale.category20c=function(){return uo.scale.ordinal().range(Ll)};var Tl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(_t),El=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(_t),Sl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(_t),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(_t);uo.scale.quantile=function(){return ua([],[])},uo.scale.quantize=function(){return ca(0,1,[0,1])},uo.scale.threshold=function(){return ha([.5],[0,1])},uo.scale.identity=function(){return fa([0,1])},uo.svg={},uo.svg.arc=function(){function t(){var t=Math.max(0,+r.apply(this,arguments)),u=Math.max(0,+n.apply(this,arguments)),c=o.apply(this,arguments)-Vo,h=s.apply(this,arguments)-Vo,f=Math.abs(h-c),d=c>h?0:1;if(u<t&&(p=u,u=t,t=p),f>=Uo)return e(u,d)+(t?e(t,1-d):\"\")+\"Z\";var p,m,g,v,y,b,x,_,w,M,A,k,T=0,E=0,S=[];if((v=(+l.apply(this,arguments)||0)/2)&&(g=a===Cl?Math.sqrt(t*t+u*u):+a.apply(this,arguments),d||(E*=-1),u&&(E=nt(g/u*Math.sin(v))),t&&(T=nt(g/t*Math.sin(v)))),u){y=u*Math.cos(c+E),b=u*Math.sin(c+E),x=u*Math.cos(h-E),_=u*Math.sin(h-E);var L=Math.abs(h-c-2*E)<=No?0:1;if(E&&ba(y,b,x,_)===d^L){var C=(c+h)/2;y=u*Math.cos(C),b=u*Math.sin(C),x=_=null}}else y=b=0;if(t){w=t*Math.cos(h-T),M=t*Math.sin(h-T),A=t*Math.cos(c+T),k=t*Math.sin(c+T);var D=Math.abs(c-h+2*T)<=No?0:1;if(T&&ba(w,M,A,k)===1-d^D){var I=(c+h)/2;w=t*Math.cos(I),M=t*Math.sin(I),A=k=null}}else w=M=0;if(f>Fo&&(p=Math.min(Math.abs(u-t)/2,+i.apply(this,arguments)))>.001){m=t<u^d?0:1;var z=p,P=p;if(f<No){var O=null==A?[w,M]:null==x?[y,b]:Or([y,b],[A,k],[x,_],[w,M]),R=y-O[0],F=b-O[1],j=x-O[0],N=_-O[1],B=1/Math.sin(Math.acos((R*j+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(j*j+N*N)))/2),U=Math.sqrt(O[0]*O[0]+O[1]*O[1]);P=Math.min(p,(t-U)/(B-1)),z=Math.min(p,(u-U)/(B+1))}if(null!=x){var V=xa(null==A?[w,M]:[A,k],[y,b],u,z,d),H=xa([x,_],[w,M],u,z,d);p===z?S.push(\"M\",V[0],\"A\",z,\",\",z,\" 0 0,\",m,\" \",V[1],\"A\",u,\",\",u,\" 0 \",1-d^ba(V[1][0],V[1][1],H[1][0],H[1][1]),\",\",d,\" \",H[1],\"A\",z,\",\",z,\" 0 0,\",m,\" \",H[0]):S.push(\"M\",V[0],\"A\",z,\",\",z,\" 0 1,\",m,\" \",H[0])}else S.push(\"M\",y,\",\",b);if(null!=A){var q=xa([y,b],[A,k],t,-P,d),G=xa([w,M],null==x?[y,b]:[x,_],t,-P,d);p===P?S.push(\"L\",G[0],\"A\",P,\",\",P,\" 0 0,\",m,\" \",G[1],\"A\",t,\",\",t,\" 0 \",d^ba(G[1][0],G[1][1],q[1][0],q[1][1]),\",\",1-d,\" \",q[1],\"A\",P,\",\",P,\" 0 0,\",m,\" \",q[0]):S.push(\"L\",G[0],\"A\",P,\",\",P,\" 0 0,\",m,\" \",q[0])}else S.push(\"L\",w,\",\",M)}else S.push(\"M\",y,\",\",b),null!=x&&S.push(\"A\",u,\",\",u,\" 0 \",L,\",\",d,\" \",x,\",\",_),S.push(\"L\",w,\",\",M),null!=A&&S.push(\"A\",t,\",\",t,\" 0 \",D,\",\",1-d,\" \",A,\",\",k);return S.push(\"Z\"),S.join(\"\")}function e(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}var r=pa,n=ma,i=da,a=Cl,o=ga,s=va,l=ya;return t.innerRadius=function(e){return arguments.length?(r=St(e),t):r},t.outerRadius=function(e){return arguments.length?(n=St(e),t):n},t.cornerRadius=function(e){return arguments.length?(i=St(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Cl?Cl:St(e),t):a},t.startAngle=function(e){return arguments.length?(o=St(e),t):o},t.endAngle=function(e){return arguments.length?(s=St(e),t):s},t.padAngle=function(e){return arguments.length?(l=St(e),t):l},t.centroid=function(){var t=(+r.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +s.apply(this,arguments))/2-Vo;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Cl=\"auto\";uo.svg.line=function(){return _a(x)};var Dl=uo.map({linear:wa,\"linear-closed\":Ma,step:Aa,\"step-before\":ka,\"step-after\":Ta,basis:Ia,\"basis-open\":za,\"basis-closed\":Pa,bundle:Oa,cardinal:La,\"cardinal-open\":Ea,\"cardinal-closed\":Sa,monotone:Ua});Dl.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Il=[0,2/3,1/3,0],zl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];uo.svg.line.radial=function(){var t=_a(Va);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},ka.reverse=Ta,Ta.reverse=ka,uo.svg.area=function(){return Ha(x)},uo.svg.area.radial=function(){var t=Ha(Va);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},uo.svg.chord=function(){function t(t,s){var l=e(this,a,t,s),u=e(this,o,t,s);return\"M\"+l.p0+n(l.r,l.p1,l.a1-l.a0)+(r(l,u)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,u.r,u.p0)+n(u.r,u.p1,u.a1-u.a0)+i(u.r,u.p1,l.r,l.p0))+\"Z\"}function e(t,e,r,n){var i=e.call(t,r,n),a=s.call(t,i,n),o=l.call(t,i,n)-Vo,c=u.call(t,i,n)-Vo;return{r:a,a0:o,a1:c,p0:[a*Math.cos(o),a*Math.sin(o)],p1:[a*Math.cos(c),a*Math.sin(c)]}}function r(t,e){return t.a0==e.a0&&t.a1==e.a1}function n(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>No)+\",1 \"+e}function i(t,e,r,n){return\"Q 0,0 \"+n}var a=xr,o=_r,s=qa,l=ga,u=va;return t.radius=function(e){return arguments.length?(s=St(e),t):s},t.source=function(e){return arguments.length?(a=St(e),t):a},t.target=function(e){return arguments.length?(o=St(e),t):o},t.startAngle=function(e){return arguments.length?(l=St(e),t):l},t.endAngle=function(e){return arguments.length?(u=St(e),t):u},t},uo.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=r.call(this,t,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return l=l.map(n),\"M\"+l[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}var e=xr,r=_r,n=Ga;return t.source=function(r){return arguments.length?(e=St(r),t):e},t.target=function(e){return arguments.length?(r=St(e),t):r},t.projection=function(e){return arguments.length?(n=e,t):n},t},uo.svg.diagonal.radial=function(){var t=uo.svg.diagonal(),e=Ga,r=t.projection;return t.projection=function(t){return arguments.length?r(Ya(e=t)):e},t},uo.svg.symbol=function(){function t(t,n){return(Ol.get(e.call(this,t,n))||Za)(r.call(this,t,n))}var e=Wa,r=Xa;return t.type=function(r){return arguments.length?(e=St(r),t):e},t.size=function(e){return arguments.length?(r=St(e),t):r},t};var Ol=uo.map({circle:Za,cross:function(t){var e=Math.sqrt(t/5)/2;return\"M\"+-3*e+\",\"+-e+\"H\"+-e+\"V\"+-3*e+\"H\"+e+\"V\"+-e+\"H\"+3*e+\"V\"+e+\"H\"+e+\"V\"+3*e+\"H\"+-e+\"V\"+e+\"H\"+-3*e+\"Z\"},diamond:function(t){var e=Math.sqrt(t/(2*Fl)),r=e*Fl;return\"M0,\"+-e+\"L\"+r+\",0 0,\"+e+\" \"+-r+\",0Z\"},square:function(t){\nvar e=Math.sqrt(t)/2;return\"M\"+-e+\",\"+-e+\"L\"+e+\",\"+-e+\" \"+e+\",\"+e+\" \"+-e+\",\"+e+\"Z\"},\"triangle-down\":function(t){var e=Math.sqrt(t/Rl),r=e*Rl/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/Rl),r=e*Rl/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});uo.svg.symbolTypes=Ol.keys();var Rl=Math.sqrt(3),Fl=Math.tan(30*Ho);Lo.transition=function(t){for(var e,r,n=jl||++Vl,i=to(t),a=[],o=Nl||{time:Date.now(),ease:Sn,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(r=u[c])&&eo(r,c,i,n,o),e.push(r)}return Ka(a,i,n)},Lo.interrupt=function(t){return this.each(null==t?Bl:Ja(to(t)))};var jl,Nl,Bl=Ja(to()),Ul=[],Vl=0;Ul.call=Lo.call,Ul.empty=Lo.empty,Ul.node=Lo.node,Ul.size=Lo.size,uo.transition=function(t,e){return t&&t.transition?jl?t.transition(e):t:uo.selection().transition(t)},uo.transition.prototype=Ul,Ul.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=C(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(n=u[c])&&(r=t.call(n,n.__data__,c,s))?(\"__data__\"in n&&(r.__data__=n.__data__),eo(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return Ka(o,a,i)},Ul.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=D(t);for(var u=-1,c=this.length;++u<c;)for(var h=this[u],f=-1,d=h.length;++f<d;)if(n=h[f]){a=n[s][o],r=t.call(n,n.__data__,f,u),l.push(e=[]);for(var p=-1,m=r.length;++p<m;)(i=r[p])&&eo(i,p,s,o,a),e.push(i)}return Ka(l,s,o)},Ul.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=H(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]);for(var r=this[a],s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return Ka(i,this.namespace,this.id)},Ul.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):G(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},Ul.attr=function(t,e){function r(){this.removeAttribute(s)}function n(){this.removeAttributeNS(s.space,s.local)}function i(t){return null==t?r:(t+=\"\",function(){var e,r=this.getAttribute(s);return r!==t&&(e=o(r,t),function(t){this.setAttribute(s,e(t))})})}function a(t){return null==t?n:(t+=\"\",function(){var e,r=this.getAttributeNS(s.space,s.local);return r!==t&&(e=o(r,t),function(t){this.setAttributeNS(s.space,s.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var o=\"transform\"==t?Zn:_n,s=uo.ns.qualify(t);return Qa(this,\"attr.\"+t,e,s.local?a:i)},Ul.attrTween=function(t,e){function r(t,r){var n=e.call(this,t,r,this.getAttribute(i));return n&&function(t){this.setAttribute(i,n(t))}}function n(t,r){var n=e.call(this,t,r,this.getAttributeNS(i.space,i.local));return n&&function(t){this.setAttributeNS(i.space,i.local,n(t))}}var i=uo.ns.qualify(t);return this.tween(\"attr.\"+t,i.local?n:r)},Ul.style=function(t,e,r){function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+=\"\",function(){var i,a=n(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(i=_n(a,e),function(e){this.style.setProperty(t,i(e),r)})})}var o=arguments.length;if(o<3){if(\"string\"!=typeof t){o<2&&(e=\"\");for(r in t)this.style(r,t[r],e);return this}r=\"\"}return Qa(this,\"style.\"+t,e,a)},Ul.styleTween=function(t,e,r){function i(i,a){var o=e.call(this,i,a,n(this).getComputedStyle(this,null).getPropertyValue(t));return o&&function(e){this.style.setProperty(t,o(e),r)}}return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,i)},Ul.text=function(t){return Qa(this,\"text\",t,$a)},Ul.remove=function(){var t=this.namespace;return this.each(\"end.transition\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},Ul.ease=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].ease:(\"function\"!=typeof t&&(t=uo.ease.apply(uo,arguments)),G(this,function(n){n[r][e].ease=t}))},Ul.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:G(this,\"function\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},Ul.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:G(this,\"function\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},Ul.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length<2){var i=Nl,a=jl;try{jl=r,G(this,function(e,i,a){Nl=e[n][r],t.call(e,e.__data__,i,a)})}finally{Nl=i,jl=a}}else G(this,function(i){var a=i[n][r];(a.event||(a.event=uo.dispatch(\"start\",\"end\",\"interrupt\"))).on(t,e)});return this},Ul.transition=function(){for(var t,e,r,n,i=this.id,a=++Vl,o=this.namespace,s=[],l=0,u=this.length;l<u;l++){s.push(t=[]);for(var e=this[l],c=0,h=e.length;c<h;c++)(r=e[c])&&(n=r[o][i],eo(r,c,o,a,{time:n.time,ease:n.ease,delay:n.delay+n.duration,duration:n.duration})),t.push(r)}return Ka(s,o,a)},uo.svg.axis=function(){function t(t){t.each(function(){var t,u=uo.select(this),c=this.__chart__||r,h=this.__chart__=r.copy(),f=null==l?h.ticks?h.ticks.apply(h,s):h.domain():l,d=null==e?h.tickFormat?h.tickFormat.apply(h,s):x:e,p=u.selectAll(\".tick\").data(f,h),m=p.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Fo),g=uo.transition(p.exit()).style(\"opacity\",Fo).remove(),v=uo.transition(p.order()).style(\"opacity\",1),y=Math.max(i,0)+o,b=Yi(h),_=u.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),uo.transition(_));m.append(\"line\"),m.append(\"text\");var M,A,k,T,E=m.select(\"line\"),S=v.select(\"line\"),L=p.select(\"text\").text(d),C=m.select(\"text\"),D=v.select(\"text\"),I=\"top\"===n||\"left\"===n?-1:1;if(\"bottom\"===n||\"top\"===n?(t=ro,M=\"x\",k=\"y\",A=\"x2\",T=\"y2\",L.attr(\"dy\",I<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+I*a+\"V0H\"+b[1]+\"V\"+I*a)):(t=no,M=\"y\",k=\"x\",A=\"y2\",T=\"x2\",L.attr(\"dy\",\".32em\").style(\"text-anchor\",I<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+I*a+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+I*a)),E.attr(T,I*i),C.attr(k,I*y),S.attr(A,0).attr(T,I*i),D.attr(M,0).attr(k,I*y),h.rangeBand){var z=h,P=z.rangeBand()/2;c=h=function(t){return z(t)+P}}else c.rangeBand?c=h:g.call(t,h,c);m.call(t,c,h),v.call(t,h,h)})}var e,r=uo.scale.linear(),n=Hl,i=6,a=6,o=3,s=[10],l=null;return t.scale=function(e){return arguments.length?(r=e,t):r},t.orient=function(e){return arguments.length?(n=e in ql?e+\"\":Hl,t):n},t.ticks=function(){return arguments.length?(s=ho(arguments),t):s},t.tickValues=function(e){return arguments.length?(l=e,t):l},t.tickFormat=function(r){return arguments.length?(e=r,t):e},t.tickSize=function(e){var r=arguments.length;return r?(i=+e,a=+arguments[r-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&&t},t};var Hl=\"bottom\",ql={top:1,right:1,bottom:1,left:1};uo.svg.brush=function(){function t(n){n.each(function(){var n=uo.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",a).on(\"touchstart.brush\",a),o=n.selectAll(\".background\").data([0]);o.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),n.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var s=n.selectAll(\".resize\").data(m,x);s.exit().remove(),s.enter().append(\"g\").attr(\"class\",function(t){return\"resize \"+t}).style(\"cursor\",function(t){return Gl[t]}).append(\"rect\").attr(\"x\",function(t){return/[ew]$/.test(t)?-3:null}).attr(\"y\",function(t){return/^[ns]/.test(t)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),s.style(\"display\",t.empty()?\"none\":null);var l,h=uo.transition(n),f=uo.transition(o);u&&(l=Yi(u),f.attr(\"x\",l[0]).attr(\"width\",l[1]-l[0]),r(h)),c&&(l=Yi(c),f.attr(\"y\",l[0]).attr(\"height\",l[1]-l[0]),i(h)),e(h)})}function e(t){t.selectAll(\".resize\").attr(\"transform\",function(t){return\"translate(\"+h[+/e$/.test(t)]+\",\"+f[+/^s/.test(t)]+\")\"})}function r(t){t.select(\".extent\").attr(\"x\",h[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",h[1]-h[0])}function i(t){t.select(\".extent\").attr(\"y\",f[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",f[1]-f[0])}function a(){function a(){32==uo.event.keyCode&&(L||(b=null,D[0]-=h[1],D[1]-=f[1],L=2),T())}function m(){32==uo.event.keyCode&&2==L&&(D[0]+=h[1],D[1]+=f[1],L=0,T())}function g(){var t=uo.mouse(_),n=!1;x&&(t[0]+=x[0],t[1]+=x[1]),L||(uo.event.altKey?(b||(b=[(h[0]+h[1])/2,(f[0]+f[1])/2]),D[0]=h[+(t[0]<b[0])],D[1]=f[+(t[1]<b[1])]):b=null),E&&v(t,u,0)&&(r(A),n=!0),S&&v(t,c,1)&&(i(A),n=!0),n&&(e(A),M({type:\"brush\",mode:L?\"move\":\"resize\"}))}function v(t,e,r){var n,i,a=Yi(e),l=a[0],u=a[1],c=D[r],m=r?f:h,g=m[1]-m[0];if(L&&(l-=c,u-=g+c),n=(r?p:d)?Math.max(l,Math.min(u,t[r])):t[r],L?i=(n+=c)+g:(b&&(c=Math.max(l,Math.min(u,2*b[r]-n))),c<n?(i=n,n=c):i=c),m[0]!=n||m[1]!=i)return r?s=null:o=null,m[0]=n,m[1]=i,!0}function y(){g(),A.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",t.empty()?\"none\":null),uo.select(\"body\").style(\"cursor\",null),I.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),C(),M({type:\"brushend\"})}var b,x,_=this,w=uo.select(uo.event.target),M=l.of(_,arguments),A=uo.select(_),k=w.datum(),E=!/^(n|s)$/.test(k)&&u,S=!/^(e|w)$/.test(k)&&c,L=w.classed(\"extent\"),C=K(_),D=uo.mouse(_),I=uo.select(n(_)).on(\"keydown.brush\",a).on(\"keyup.brush\",m);if(uo.event.changedTouches?I.on(\"touchmove.brush\",g).on(\"touchend.brush\",y):I.on(\"mousemove.brush\",g).on(\"mouseup.brush\",y),A.interrupt().selectAll(\"*\").interrupt(),L)D[0]=h[0]-D[0],D[1]=f[0]-D[1];else if(k){var z=+/w$/.test(k),P=+/^n/.test(k);x=[h[1-z]-D[0],f[1-P]-D[1]],D[0]=h[z],D[1]=f[P]}else uo.event.altKey&&(b=D.slice());A.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),uo.select(\"body\").style(\"cursor\",w.style(\"cursor\")),M({type:\"brushstart\"}),g()}var o,s,l=S(t,\"brushstart\",\"brush\",\"brushend\"),u=null,c=null,h=[0,0],f=[0,0],d=!0,p=!0,m=Yl[0];return t.event=function(t){t.each(function(){var t=l.of(this,arguments),e={x:h,y:f,i:o,j:s},r=this.__chart__||e;this.__chart__=e,jl?uo.select(this).transition().each(\"start.brush\",function(){o=r.i,s=r.j,h=r.x,f=r.y,t({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var r=wn(h,e.x),n=wn(f,e.y);return o=s=null,function(i){h=e.x=r(i),f=e.y=n(i),t({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){o=e.i,s=e.j,t({type:\"brush\",mode:\"resize\"}),t({type:\"brushend\"})}):(t({type:\"brushstart\"}),t({type:\"brush\",mode:\"resize\"}),t({type:\"brushend\"}))})},t.x=function(e){return arguments.length?(u=e,m=Yl[!u<<1|!c],t):u},t.y=function(e){return arguments.length?(c=e,m=Yl[!u<<1|!c],t):c},t.clamp=function(e){return arguments.length?(u&&c?(d=!!e[0],p=!!e[1]):u?d=!!e:c&&(p=!!e),t):u&&c?[d,p]:u?d:c?p:null},t.extent=function(e){var r,n,i,a,l;return arguments.length?(u&&(r=e[0],n=e[1],c&&(r=r[0],n=n[0]),o=[r,n],u.invert&&(r=u(r),n=u(n)),n<r&&(l=r,r=n,n=l),r==h[0]&&n==h[1]||(h=[r,n])),c&&(i=e[0],a=e[1],u&&(i=i[1],a=a[1]),s=[i,a],c.invert&&(i=c(i),a=c(a)),a<i&&(l=i,i=a,a=l),i==f[0]&&a==f[1]||(f=[i,a])),t):(u&&(o?(r=o[0],n=o[1]):(r=h[0],n=h[1],u.invert&&(r=u.invert(r),n=u.invert(n)),n<r&&(l=r,r=n,n=l))),c&&(s?(i=s[0],a=s[1]):(i=f[0],a=f[1],c.invert&&(i=c.invert(i),a=c.invert(a)),a<i&&(l=i,i=a,a=l))),u&&c?[[r,i],[n,a]]:u?[r,n]:c&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],o=s=null),t},t.empty=function(){return!!u&&h[0]==h[1]||!!c&&f[0]==f[1]},uo.rebind(t,l,\"on\")};var Gl={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Yl=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],Xl=fs.format=ys.timeFormat,Wl=Xl.utc,Zl=Wl(\"%Y-%m-%dT%H:%M:%S.%LZ\");Xl.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?io:Zl,io.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},io.toString=Zl.toString,fs.second=Vt(function(t){return new ds(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),fs.seconds=fs.second.range,fs.seconds.utc=fs.second.utc.range,fs.minute=Vt(function(t){return new ds(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),fs.minutes=fs.minute.range,fs.minutes.utc=fs.minute.utc.range,fs.hour=Vt(function(t){var e=t.getTimezoneOffset()/60;return new ds(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),fs.hours=fs.hour.range,fs.hours.utc=fs.hour.utc.range,fs.month=Vt(function(t){return t=fs.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),fs.months=fs.month.range,fs.months.utc=fs.month.utc.range;var Jl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Kl=[[fs.second,1],[fs.second,5],[fs.second,15],[fs.second,30],[fs.minute,1],[fs.minute,5],[fs.minute,15],[fs.minute,30],[fs.hour,1],[fs.hour,3],[fs.hour,6],[fs.hour,12],[fs.day,1],[fs.day,2],[fs.week,1],[fs.month,1],[fs.month,3],[fs.year,1]],Ql=Xl.multi([[\".%L\",function(t){return t.getMilliseconds()}],[\":%S\",function(t){return t.getSeconds()}],[\"%I:%M\",function(t){return t.getMinutes()}],[\"%I %p\",function(t){return t.getHours()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%B\",function(t){return t.getMonth()}],[\"%Y\",De]]),$l={range:function(t,e,r){return uo.range(Math.ceil(t/r)*r,+e,r).map(oo)},floor:x,ceil:x};Kl.year=fs.year,fs.scale=function(){return ao(uo.scale.linear(),Kl,Ql)};var tu=Kl.map(function(t){return[t[0].utc,t[1]]}),eu=Wl.multi([[\".%L\",function(t){return t.getUTCMilliseconds()}],[\":%S\",function(t){return t.getUTCSeconds()}],[\"%I:%M\",function(t){return t.getUTCMinutes()}],[\"%I %p\",function(t){return t.getUTCHours()}],[\"%a %d\",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[\"%b %d\",function(t){return 1!=t.getUTCDate()}],[\"%B\",function(t){return t.getUTCMonth()}],[\"%Y\",De]]);tu.year=fs.year.utc,fs.scale.utc=function(){return ao(uo.scale.linear(),tu,eu)},uo.text=Lt(function(t){return t.responseText}),uo.json=function(t,e){return Ct(t,\"application/json\",so,e)},uo.html=function(t,e){return Ct(t,\"text/html\",lo,e)},uo.xml=Lt(function(t){return t.responseXML}),\"function\"==typeof t&&t.amd?(this.d3=uo,t(uo)):\"object\"==typeof r&&r.exports?r.exports=uo:this.d3=uo}()},{}],105:[function(t,e,r){\"use strict\";function n(t,e){this.point=t,this.index=e}function i(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}function a(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&&i.push([-1,i[0][1]],[i[t-1][1],-1]),i}function o(t,e){var r=t.length;if(0===r)return[];var o=t[0].length;if(o<1)return[];if(1===o)return a(r,t,e);for(var u=new Array(r),c=1,h=0;h<r;++h){for(var f=t[h],d=new Array(o+1),p=0,m=0;m<o;++m){var g=f[m];d[m]=g,p+=g*g}d[o]=p,u[h]=new n(d,h),c=Math.max(p,c)}l(u,i),r=u.length;for(var v=new Array(r+o+1),y=new Array(r+o+1),b=(o+1)*(o+1)*c,x=new Array(o+1),h=0;h<=o;++h)x[h]=0;x[o]=b,v[0]=x.slice(),y[0]=-1;for(var h=0;h<=o;++h){var d=x.slice();d[h]=1,v[h+1]=d,y[h+1]=-1}for(var h=0;h<r;++h){var _=u[h];v[h+o+1]=_.point,y[h+o+1]=_.index}var w=s(v,!1);if(w=e?w.filter(function(t){for(var e=0,r=0;r<=o;++r){var n=y[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):w.filter(function(t){for(var e=0;e<=o;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0}),1&o)for(var h=0;h<w.length;++h){var _=w[h],d=_[0];_[0]=_[1],_[1]=d}return w}var s=t(\"incremental-convex-hull\"),l=t(\"uniq\");e.exports=o},{\"incremental-convex-hull\":271,uniq:521}],106:[function(t,e,r){(function(t){function r(t,e){return d[0]=t,d[1]=e,f[0]}function n(t){return f[0]=t,d[0]}function i(t){return f[0]=t,d[1]}function a(t,e){return d[1]=t,d[0]=e,f[0]}function o(t){return f[0]=t,d[1]}function s(t){return f[0]=t,d[0]}function l(t,e){return p.writeUInt32LE(t,0,!0),p.writeUInt32LE(e,4,!0),p.readDoubleLE(0,!0)}function u(t){return p.writeDoubleLE(t,0,!0),p.readUInt32LE(0,!0)}function c(t){return p.writeDoubleLE(t,0,!0),p.readUInt32LE(4,!0)}var h=!1;if(\"undefined\"!=typeof Float64Array){var f=new Float64Array(1),d=new Uint32Array(f.buffer);f[0]=1,h=!0,1072693248===d[1]?(e.exports=function(t){return f[0]=t,[d[0],d[1]]},e.exports.pack=r,e.exports.lo=n,e.exports.hi=i):1072693248===d[0]?(e.exports=function(t){return f[0]=t,[d[1],d[0]]},e.exports.pack=a,e.exports.lo=o,e.exports.hi=s):h=!1}if(!h){var p=new t(8);e.exports=function(t){return p.writeDoubleLE(t,0,!0),[p.readUInt32LE(0,!0),p.readUInt32LE(4,!0)]},e.exports.pack=l,e.exports.lo=u,e.exports.hi=c}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\"buffer\").Buffer)},{buffer:67}],107:[function(t,e,r){\"use strict\";function n(t,e,r){var i=0|t[r];if(i<=0)return[];var a,o=new Array(i);if(r===t.length-1)for(a=0;a<i;++a)o[a]=e;else for(a=0;a<i;++a)o[a]=n(t,e,r+1);return o}function i(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function a(t,e){switch(void 0===e&&(e=0),typeof t){case\"number\":if(t>0)return i(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return n(t,e,0)}return[]}e.exports=a},{}],108:[function(t,e,r){\"use strict\";function n(t,e,r){r=r||2;var n=e&&e.length,a=n?e[0]*r:t.length,s=i(t,0,a,r,!0),l=[];if(!s)return l;var u,c,f,d,p,m,g;if(n&&(s=h(t,e,s,r)),t.length>80*r){u=f=t[0],c=d=t[1];for(var v=r;v<a;v+=r)p=t[v],m=t[v+1],p<u&&(u=p),m<c&&(c=m),p>f&&(f=p),m>d&&(d=m);g=Math.max(f-u,d-c)}return o(s,l,r,u,c,g),l}function i(t,e,r,n,i){var a,o;if(i===D(t,e,r,n)>0)for(a=e;a<r;a+=n)o=S(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=S(a,t[a],t[a+1],o);return o&&w(o,o.next)&&(L(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!w(n,n.next)&&0!==_(n.prev,n,n.next))n=n.next;else{if(L(n),(n=e=n.prev)===n.next)return null;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,h,f){if(t){!f&&h&&m(t,n,i,h);for(var d,p,g=t;t.prev!==t.next;)if(d=t.prev,p=t.next,h?l(t,n,i,h):s(t))e.push(d.i/r),e.push(t.i/r),e.push(p.i/r),L(t),t=p.next,g=p.next;else if((t=p)===g){f?1===f?(t=u(t,e,r),o(t,e,r,n,i,h,2)):2===f&&c(t,e,r,n,i,h):o(a(t),e,r,n,i,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(_(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(b(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&_(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(_(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=v(s,l,e,r,n),f=v(u,c,e,r,n),d=t.nextZ;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&b(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&_(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(d=t.prevZ;d&&d.z>=h;){if(d!==t.prev&&d!==t.next&&b(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&_(d.prev,d,d.next)>=0)return!1;d=d.prevZ}return!0}function u(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!w(i,a)&&M(i,n,n.next,a)&&k(i,a)&&k(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),L(n),L(n.next),n=t=a),n=n.next}while(n!==t);return n}function c(t,e,r,n,i,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&x(l,u)){var c=E(l,u);return l=a(l,l.next),c=a(c,c.next),o(l,e,r,n,i,s),void o(c,e,r,n,i,s)}u=u.next}l=l.next}while(l!==t)}function h(t,e,r,n){var o,s,l,u,c,h=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,u=o<s-1?e[o+1]*n:t.length,c=i(t,l,u,n,!1),c===c.next&&(c.steiner=!0),h.push(y(c));for(h.sort(f),o=0;o<h.length;o++)d(h[o],r),r=a(r,r.next);return r}function f(t,e){return t.x-e.x}function d(t,e){if(e=p(t,e)){var r=E(e,t);a(r,r.next)}}function p(t,e){var r,n=e,i=t.x,a=t.y,o=-(1/0);do{if(a<=n.y&&a>=n.next.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,u=r,c=r.x,h=r.y,f=1/0;for(n=r.next;n!==u;)i>=n.x&&n.x>=c&&b(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<f||l===f&&n.x>r.x)&&k(n,t)&&(r=n,f=l),n=n.next;return r}function m(t,e,r,n){var i=t;do{null===i.z&&(i.z=v(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,g(i)}function g(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0===s?(i=n,n=n.nextZ,l--):0!==l&&n?r.z<=n.z?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return t}function v(t,e,r,n,i){return t=32767*(t-r)/i,e=32767*(e-n)/i,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1}function y(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function b(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function x(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!A(t,e)&&k(t,e)&&k(e,t)&&T(t,e)}function _(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function w(t,e){return t.x===e.x&&t.y===e.y}function M(t,e,r,n){return!!(w(t,e)&&w(r,n)||w(t,n)&&w(r,e))||_(t,e,r)>0!=_(t,e,n)>0&&_(r,n,t)>0!=_(r,n,e)>0}function A(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&M(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function k(t,e){return _(t.prev,t,t.next)<0?_(t,e,t.next)>=0&&_(t,t.prev,e)>=0:_(t,e,t.prev)<0||_(t,t.next,e)<0}function T(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}function E(t,e){var r=new C(t.i,t.x,t.y),n=new C(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function S(t,e,r,n){var i=new C(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function L(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function C(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function D(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(D(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(D(t,u,c,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,d=n[s+1]*r,p=n[s+2]*r;h+=Math.abs((t[f]-t[p])*(t[d+1]-t[f+1])-(t[f]-t[d])*(t[p+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],109:[function(t,e,r){\"use strict\";function n(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var n=0;n<r;++n){var a=t[n];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),n=0;n<e;++n)o[n]=[];for(var n=0;n<r;++n){var a=t[n];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)i(o[s],function(t,e){return t-e});return o}e.exports=n;var i=t(\"uniq\")},{uniq:521}],110:[function(e,r,n){(function(i,a){!function(e,i){\"object\"==typeof n&&void 0!==r?r.exports=i():\"function\"==typeof t&&t.amd?t(i):e.ES6Promise=i()}(this,function(){\"use strict\";function t(t){return\"function\"==typeof t||\"object\"==typeof t&&null!==t}function r(t){return\"function\"==typeof t}function n(t){G=t}function o(t){Y=t}function s(){return function(){q(u)}}function l(){var t=setTimeout;return function(){return t(u,1)}}function u(){for(var t=0;t<H;t+=2){(0,Q[t])(Q[t+1]),Q[t]=void 0,Q[t+1]=void 0}H=0}function c(t,e){var r=arguments,n=this,i=new this.constructor(f);void 0===i[tt]&&D(i);var a=n._state;return a?function(){var t=r[a-1];Y(function(){return S(a,i,t,n._result)})}():A(n,i,t,e),i}function h(t){var e=this;if(t&&\"object\"==typeof t&&t.constructor===e)return t;var r=new e(f);return x(r,t),r}function f(){}function d(){return new TypeError(\"You cannot resolve a promise with itself\")}function p(){return new TypeError(\"A promises callback cannot return that same promise.\")}function m(t){try{return t.then}catch(t){return it.error=t,it}}function g(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}function v(t,e,r){Y(function(t){var n=!1,i=g(r,e,function(r){n||(n=!0,e!==r?x(t,r):w(t,r))},function(e){n||(n=!0,M(t,e))},\"Settle: \"+(t._label||\" unknown promise\"));!n&&i&&(n=!0,M(t,i))},t)}function y(t,e){e._state===rt?w(t,e._result):e._state===nt?M(t,e._result):A(e,void 0,function(e){return x(t,e)},function(e){return M(t,e)})}function b(t,e,n){e.constructor===t.constructor&&n===c&&e.constructor.resolve===h?y(t,e):n===it?M(t,it.error):void 0===n?w(t,e):r(n)?v(t,e,n):w(t,e)}function x(e,r){e===r?M(e,d()):t(r)?b(e,r,m(r)):w(e,r)}function _(t){t._onerror&&t._onerror(t._result),k(t)}function w(t,e){t._state===et&&(t._result=e,t._state=rt,0!==t._subscribers.length&&Y(k,t))}function M(t,e){t._state===et&&(t._state=nt,t._result=e,Y(_,t))}function A(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+rt]=r,i[a+nt]=n,0===a&&t._state&&Y(k,t)}function k(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?S(r,n,i,a):i(a);t._subscribers.length=0}}function T(){this.error=null}function E(t,e){try{return t(e)}catch(t){return at.error=t,at}}function S(t,e,n,i){var a=r(n),o=void 0,s=void 0,l=void 0,u=void 0;if(a){if(o=E(n,i),o===at?(u=!0,s=o.error,o=null):l=!0,e===o)return void M(e,p())}else o=i,l=!0;e._state!==et||(a&&l?x(e,o):u?M(e,s):t===rt?w(e,o):t===nt&&M(e,o))}function L(t,e){try{e(function(e){x(t,e)},function(e){M(t,e)})}catch(e){M(t,e)}}function C(){return ot++}function D(t){t[tt]=ot++,t._state=void 0,t._result=void 0,t._subscribers=[]}function I(t,e){this._instanceConstructor=t,this.promise=new t(f),this.promise[tt]||D(this.promise),V(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?w(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&w(this.promise,this._result))):M(this.promise,z())}function z(){return new Error(\"Array Methods must be provided an Array\")}function P(t){return new I(this,t).promise}function O(t){var e=this;return new e(V(t)?function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}:function(t,e){return e(new TypeError(\"You must pass an array to race.\"))})}function R(t){var e=this,r=new e(f);return M(r,t),r}function F(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}function j(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}function N(t){this[tt]=C(),this._result=this._state=void 0,this._subscribers=[],f!==t&&(\"function\"!=typeof t&&F(),this instanceof N?L(this,t):j())}function B(){var t=void 0;if(void 0!==a)t=a;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(\"[object Promise]\"===r&&!e.cast)return}t.Promise=N}var U=void 0;U=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)};var V=U,H=0,q=void 0,G=void 0,Y=function(t,e){Q[H]=t,Q[H+1]=e,2===(H+=2)&&(G?G(u):$())},X=\"undefined\"!=typeof window?window:void 0,W=X||{},Z=W.MutationObserver||W.WebKitMutationObserver,J=\"undefined\"==typeof self&&void 0!==i&&\"[object process]\"==={}.toString.call(i),K=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel,Q=new Array(1e3),$=void 0;$=J?function(){return function(){return i.nextTick(u)}}():Z?function(){var t=0,e=new Z(u),r=document.createTextNode(\"\");return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():K?function(){var t=new MessageChannel;return t.port1.onmessage=u,function(){return t.port2.postMessage(0)}}():void 0===X&&\"function\"==typeof e?function(){try{var t=e,r=t(\"vertx\");return q=r.runOnLoop||r.runOnContext,s()}catch(t){return l()}}():l();var tt=Math.random().toString(36).substring(16),et=void 0,rt=1,nt=2,it=new T,at=new T,ot=0;return I.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===et&&r<t;r++)this._eachEntry(e[r],r)},I.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===h){var i=m(t);if(i===c&&t._state!==et)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===N){var a=new r(f);b(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},I.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===et&&(this._remaining--,t===nt?M(n,r):this._result[e]=r),0===this._remaining&&w(n,this._result)},I.prototype._willSettleAt=function(t,e){var r=this;A(t,void 0,function(t){return r._settledAt(rt,e,t)},function(t){return r._settledAt(nt,e,t)})},N.all=P,N.race=O,N.resolve=h,N.reject=R,N._setScheduler=n,N._setAsap=o,N._asap=Y,N.prototype={constructor:N,then:c,catch:function(t){return this.then(null,t)}},B(),N.polyfill=B,N.Promise=N,N})}).call(this,e(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:466}],111:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return\"function\"==typeof t}function a(t){return\"number\"==typeof t}function o(t){return\"object\"==typeof t&&null!==t}function s(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!a(t)||t<0||isNaN(t))throw TypeError(\"n must be a positive number\");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,a,l,u;if(this._events||(this._events={}),\"error\"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var c=new Error('Uncaught, unspecified \"error\" event. ('+e+\")\");throw c.context=e,c}if(r=this._events[t],s(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),r.apply(this,a)}else if(o(r))for(a=Array.prototype.slice.call(arguments,1),u=r.slice(),n=u.length,l=0;l<n;l++)u[l].apply(this,a);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",t,i(e.listener)?e.listener:e),this._events[t]?o(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,\no(this._events[t])&&!this._events[t].warned&&(r=s(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[t].length),\"function\"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError(\"listener must be a function\");var n=!1;return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var r,n,a,s;if(!i(e))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[t])return this;if(r=this._events[t],a=r.length,n=-1,r===e||i(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\"removeListener\",t,e);else if(o(r)){for(s=a;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){n=s;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit(\"removeListener\",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\"removeListener\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(r=this._events[t],i(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],112:[function(t,e,r){\"use strict\";function n(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}e.exports=n},{}],113:[function(t,e,r){\"use strict\";function n(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}e.exports=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if(\"number\"!==e)return!1;return t-t<1}},{}],114:[function(t,e,r){\"use strict\";function n(t){return new Function(\"f\",\"var p = (f && f.properties || {}); return \"+i(t))}function i(t){if(!t)return\"true\";var e=t[0];return t.length<=1?\"any\"===e?\"false\":\"true\":\"(\"+(\"==\"===e?o(t[1],t[2],\"===\",!1):\"!=\"===e?o(t[1],t[2],\"!==\",!1):\"<\"===e||\">\"===e||\"<=\"===e||\">=\"===e?o(t[1],t[2],e,!0):\"any\"===e?s(t.slice(1),\"||\"):\"all\"===e?s(t.slice(1),\"&&\"):\"none\"===e?c(s(t.slice(1),\"||\")):\"in\"===e?l(t[1],t.slice(2)):\"!in\"===e?c(l(t[1],t.slice(2))):\"has\"===e?u(t[1]):\"!has\"===e?c(u([t[1]])):\"true\")+\")\"}function a(t){return\"$type\"===t?\"f.type\":\"$id\"===t?\"f.id\":\"p[\"+JSON.stringify(t)+\"]\"}function o(t,e,r,n){var i=a(t),o=\"$type\"===t?f.indexOf(e):JSON.stringify(e);return(n?\"typeof \"+i+\"=== typeof \"+o+\"&&\":\"\")+i+r+o}function s(t,e){return t.map(i).join(e)}function l(t,e){\"$type\"===t&&(e=e.map(function(t){return f.indexOf(t)}));var r=JSON.stringify(e.sort(h)),n=a(t);return e.length<=200?r+\".indexOf(\"+n+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1;    if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+n+\", \"+r+\",0,\"+(e.length-1)+\")\"}function u(t){return JSON.stringify(t)+\" in p\"}function c(t){return\"!(\"+t+\")\"}function h(t,e){return t<e?-1:t>e?1:0}e.exports=n;var f=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"]},{}],115:[function(t,e,r){\"use strict\";function n(t,e,r){return Math.min(e,Math.max(t,r))}function i(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-(1/0),this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}function a(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}function o(t,e,r){switch(arguments.length){case 0:return new i([0],[0],0);case 1:if(\"number\"==typeof t){var n=a(t);return new i(n,n,0)}return new i(t,a(t.length),0);case 2:if(\"number\"==typeof e){var n=a(t.length);return new i(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new i(t,e,r)}}e.exports=o;var s=t(\"cubic-hermite\"),l=t(\"binary-search-bounds\"),u=i.prototype;u.flush=function(t){var e=l.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},u.curve=function(t){var e=this._time,r=e.length,i=l.le(e,t),a=this._scratch[0],o=this._state,u=this._velocity,c=this.dimension,h=this.bounds;if(i<0)for(var f=c-1,d=0;d<c;++d,--f)a[d]=o[f];else if(i>=r-1)for(var f=o.length-1,p=t-e[r-1],d=0;d<c;++d,--f)a[d]=o[f]+p*u[f];else{for(var f=c*(i+1)-1,m=e[i],g=e[i+1],v=g-m||1,y=this._scratch[1],b=this._scratch[2],x=this._scratch[3],_=this._scratch[4],w=!0,d=0;d<c;++d,--f)y[d]=o[f],x[d]=u[f]*v,b[d]=o[f+c],_[d]=u[f+c]*v,w=w&&y[d]===b[d]&&x[d]===_[d]&&0===x[d];if(w)for(var d=0;d<c;++d)a[d]=y[d];else s(y,x,b,_,(t-m)/v,a)}for(var M=h[0],A=h[1],d=0;d<c;++d)a[d]=n(M[d],A[d],a[d]);return a},u.dcurve=function(t){var e=this._time,r=e.length,n=l.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,u=this.dimension;if(n>=r-1)for(var c=a.length-1,h=(e[r-1],0);h<u;++h,--c)i[h]=o[c];else{for(var c=u*(n+1)-1,f=e[n],d=e[n+1],p=d-f||1,m=this._scratch[1],g=this._scratch[2],v=this._scratch[3],y=this._scratch[4],b=!0,h=0;h<u;++h,--c)m[h]=a[c],v[h]=o[c]*p,g[h]=a[c+u],y[h]=o[c+u]*p,b=b&&m[h]===g[h]&&v[h]===y[h]&&0===v[h];if(b)for(var h=0;h<u;++h)i[h]=0;else{s.derivative(m,v,g,y,(t-f)/p,i);for(var h=0;h<u;++h)i[h]/=p}}return i},u.lastT=function(){var t=this._time;return t[t.length-1]},u.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},u.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],u=s[1];this._time.push(e,t);for(var c=0;c<2;++c)for(var h=0;h<r;++h)i.push(i[o++]),a.push(0);this._time.push(t);for(var h=r;h>0;--h)i.push(n(l[h-1],u[h-1],arguments[h])),a.push(0)}},u.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=t-e,l=this.bounds,u=l[0],c=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var d=n(u[f-1],c[f-1],arguments[f]);i.push(d),a.push((d-i[o++])*h)}}},u.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,i=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(n(o[l-1],s[l-1],arguments[l])),i.push(0)}},u.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,h=c>1e-6?1/c:0;this._time.push(t);for(var f=r;f>0;--f){var d=arguments[f];i.push(n(l[f-1],u[f-1],i[o++]+d)),a.push(d*h)}}},u.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,i=this._state,a=this._velocity,o=i.length-r,s=this.bounds,l=s[0],u=s[1],c=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)i.push(n(l[h],u[h],i[o]+c*a[o])),a.push(0),o+=1}}},{\"binary-search-bounds\":56,\"cubic-hermite\":99}],116:[function(t,e,r){\"use strict\";function n(t){t=t||{};var e,r,n=t.canvas||document.createElement(\"canvas\"),a=t.family||\"monospace\",o=t.shape||[512,512],s=t.step||[32,32],l=t.size||16,u=t.chars||[32,126],c=Math.floor((s[0]-l)/2),h=t.radius||1.5*c,f=new i(l,c,h,0,a);if(\"number\"==typeof l&&(l+=\"px\"),Array.isArray(u)){if(2===u.length&&\"number\"==typeof u[0]&&\"number\"==typeof u[1]){var d=[];for(e=u[0],r=0;e<=u[1];e++)d[r++]=String.fromCharCode(e);u=d}}else u=String(u).split(\"\");o=o.slice(),n.width=o[0],n.height=o[1];var p=n.getContext(\"2d\");p.fillStyle=\"#000\",p.fillRect(0,0,n.width,n.height),p.font=l+\" \"+a,p.textBaseline=\"middle\";var m=0,g=0,v=Math.min(u.length,Math.floor(o[0]/s[0])*Math.ceil(o[1]/s[1])),y=f.ctx.textAlign,b=f.buffer;for(f.ctx.textAlign=\"center\",f.buffer=f.size/2,e=0;e<v;e++){var x=f.draw(u[e]);p.putImageData(x,m,g),m+=s[0],m>o[0]-s[0]&&(m=0,g+=s[1])}return f.ctx.textAlign=y,f.buffer=b,n}var i=t(\"tiny-sdf\");e.exports=n},{\"tiny-sdf\":511}],117:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}function l(t,e){if(e.left){var r=l(t,e.left);if(r)return r}var r=t(e.key,e.value);return r?r:e.right?l(t,e.right):void 0}function u(t,e,r,n){if(e(t,n.key)<=0){if(n.left){var i=u(t,e,r,n.left);if(i)return i}var i=r(n.key,n.value);if(i)return i}if(n.right)return u(t,e,r,n.right)}function c(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=c(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return c(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}function f(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t){for(var e,r,n,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=v);if(r=t[l-1],r.left===e){if(n=r.right,n.right&&n.right._color===g){if(n=r.right=i(n),s=n.right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=v,r._color=v,s._color=v,o(r),o(n),l>1){var u=t[l-2];u.left===r?u.left=n:u.right=n}return void(t[l-1]=n)}if(n.left&&n.left._color===g){if(n=r.right=i(n),s=n.left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=v,n._color=v,e._color=v,o(r),o(n),o(s),l>1){var u=t[l-2];u.left===r?u.left=s:u.right=s}return void(t[l-1]=s)}if(n._color===v){if(r._color===g)return r._color=v,void(r.right=a(g,n));r.right=a(g,n);continue}if(n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=g,o(r),o(n),l>1){var u=t[l-2];u.left===r?u.left=n:u.right=n}t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}else{if(n=r.left,n.left&&n.left._color===g){if(n=r.left=i(n),s=n.left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=v,r._color=v,s._color=v,o(r),o(n),l>1){var u=t[l-2];u.right===r?u.right=n:u.left=n}return void(t[l-1]=n)}if(n.right&&n.right._color===g){if(n=r.left=i(n),s=n.right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=v,n._color=v,e._color=v,o(r),o(n),o(s),l>1){var u=t[l-2];u.right===r?u.right=s:u.left=s}return void(t[l-1]=s)}if(n._color===v){if(r._color===g)return r._color=v,void(r.left=a(g,n));r.left=a(g,n);continue}if(n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=g,o(r),o(n),l>1){var u=t[l-2];u.right===r?u.right=n:u.left=n}t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}function p(t,e){return t<e?-1:t>e?1:0}function m(t){return new s(t||p,null)}e.exports=m;var g=0,v=1,y=s.prototype;Object.defineProperty(y,\"keys\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(y,\"values\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(y,\"length\",{get:function(){return this.root?this.root._count:0}}),y.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],u=[];i;){var c=r(t,i.key);l.push(i),u.push(c),i=c<=0?i.left:i.right}l.push(new n(g,t,e,null,null,1));for(var h=l.length-2;h>=0;--h){var i=l[h];u[h]<=0?l[h]=new n(i._color,i.key,i.value,l[h+1],i.right,i._count+1):l[h]=new n(i._color,i.key,i.value,i.left,l[h+1],i._count+1)}for(var h=l.length-1;h>1;--h){var f=l[h-1],i=l[h];if(f._color===v||i._color===v)break;var d=l[h-2];if(d.left===f)if(f.left===i){var p=d.right;if(!p||p._color!==g){if(d._color=g,d.left=f.right,f._color=v,f.right=d,l[h-2]=f,l[h-1]=i,o(d),o(f),h>=3){var m=l[h-3];m.left===d?m.left=f:m.right=f}break}f._color=v,d.right=a(v,p),d._color=g,h-=1}else{var p=d.right;if(!p||p._color!==g){if(f.right=i.left,d._color=g,d.left=i.right,i._color=v,i.left=f,i.right=d,l[h-2]=i,l[h-1]=f,o(d),o(f),o(i),h>=3){var m=l[h-3];m.left===d?m.left=i:m.right=i}break}f._color=v,d.right=a(v,p),d._color=g,h-=1}else if(f.right===i){var p=d.left;if(!p||p._color!==g){if(d._color=g,d.right=f.left,f._color=v,f.left=d,l[h-2]=f,l[h-1]=i,o(d),o(f),h>=3){var m=l[h-3];m.right===d?m.right=f:m.left=f}break}f._color=v,d.left=a(v,p),d._color=g,h-=1}else{var p=d.left;if(!p||p._color!==g){if(f.left=i.right,d._color=g,d.right=i.left,i._color=v,i.right=f,i.left=d,l[h-2]=i,l[h-1]=f,o(d),o(f),o(i),h>=3){var m=l[h-3];m.right===d?m.right=i:m.left=i}break}f._color=v,d.left=a(v,p),d._color=g,h-=1}}return l[0]._color=v,new s(r,l[0])},y.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return l(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return c(e,r,this._compare,t,this.root)}},Object.defineProperty(y,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(y,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),y.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},y.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},y.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},y.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},y.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},y.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},y.remove=function(t){var e=this.find(t);return e?e.remove():this},y.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var b=h.prototype;Object.defineProperty(b,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(b,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),b.clone=function(){return new h(this.tree,this._stack.slice())},b.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var i=t.length-2;i>=0;--i){var r=t[i];r.left===t[i+1]?e[i]=new n(r._color,r.key,r.value,e[i+1],r.right,r._count):e[i]=new n(r._color,r.key,r.value,r.left,e[i+1],r._count)}if(r=e[e.length-1],r.left&&r.right){var a=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var o=e[a-1];e.push(new n(r._color,o.key,o.value,r.left,r.right,r._count)),e[a-1].key=r.key,e[a-1].value=r.value;for(var i=e.length-2;i>=a;--i)r=e[i],e[i]=new n(r._color,r.key,r.value,r.left,e[i+1],r._count);e[a-1].left=e[a]}if(r=e[e.length-1],r._color===g){var l=e[e.length-2];l.left===r?l.left=null:l.right===r&&(l.right=null),e.pop();for(var i=0;i<e.length;++i)e[i]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?f(r,r.left):r.right&&f(r,r.right),r._color=v;for(var i=0;i<e.length-1;++i)e[i]._count--;return new s(this.tree._compare,e[0])}if(1===e.length)return new s(this.tree._compare,null);for(var i=0;i<e.length;++i)e[i]._count--;var u=e[e.length-2];return d(e),u.left===r?u.left=null:u.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(b,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(b,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(b,\"index\",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),b.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(b,\"hasNext\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),b.update=function(t){var e=this._stack;if(0===e.length)throw new Error(\"Can't update empty node!\");var r=new Array(e.length),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)i=e[a],i.left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},b.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(b,\"hasPrev\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],118:[function(t,e,r){function n(t){if(t<0)return Number(\"0/0\");for(var e=o[0],r=o.length-1;r>0;--r)e+=o[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}var i=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,o=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(n(e));e-=1;for(var r=i[0],a=1;a<9;a++)r+=i[a]/(e+a);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=n},{}],119:[function(t,e,r){function n(t){if(\"Polygon\"===t.type)return i(t.coordinates);if(\"MultiPolygon\"===t.type){for(var e=0,r=0;r<t.coordinates.length;r++)e+=i(t.coordinates[r]);return e}return null}function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(a(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(a(t[r]))}return e}function a(t){var e=0;if(t.length>2){for(var r,n,i=0;i<t.length-1;i++)r=t[i],n=t[i+1],e+=o(n[0]-r[0])*(2+Math.sin(o(r[1]))+Math.sin(o(n[1])));e=e*s.RADIUS*s.RADIUS/2}return e}function o(t){return t*Math.PI/180}var s=t(\"wgs84\");e.exports.geometry=n,e.exports.ring=a},{wgs84:543}],120:[function(t,e,r){function n(t,e){switch(t&&t.type||null){case\"FeatureCollection\":return t.features=t.features.map(i(n,e)),t;case\"Feature\":return t.geometry=n(t.geometry,e),t;case\"Polygon\":case\"MultiPolygon\":return a(t,e);default:return t}}function i(t,e){return function(r){return t(r,e)}}function a(t,e){return\"Polygon\"===t.type?t.coordinates=o(t.coordinates,e):\"MultiPolygon\"===t.type&&(t.coordinates=t.coordinates.map(i(o,e))),t}function o(t,e){e=!!e,t[0]=s(t[0],!e);for(var r=1;r<t.length;r++)t[r]=s(t[r],e);return t}function s(t,e){return l(t)===e?t:t.reverse()}function l(t){return u.ring(t)>=0}var u=t(\"geojson-area\");e.exports=n},{\"geojson-area\":119}],121:[function(t,e,r){\"use strict\";function n(t,e,r,n,o,l,u,c){if(r/=e,n/=e,u>=r&&c<=n)return t;if(u>n||c<r)return null;for(var h=[],f=0;f<t.length;f++){var d,p,m=t[f],g=m.geometry,v=m.type;if(d=m.min[o],p=m.max[o],d>=r&&p<=n)h.push(m);else if(!(d>n||p<r)){var y=1===v?i(g,r,n,o):a(g,r,n,o,l,3===v);y.length&&h.push(s(m.tags,v,y,m.id))}}return h.length?h:null}function i(t,e,r,n){for(var i=[],a=0;a<t.length;a++){var o=t[a],s=o[n];s>=e&&s<=r&&i.push(o)}return i}function a(t,e,r,n,i,a){for(var s=[],l=0;l<t.length;l++){var u,c,h,f=0,d=0,p=null,m=t[l],g=m.area,v=m.dist,y=m.outer,b=m.length,x=[];for(c=0;c<b-1;c++)u=p||m[c],p=m[c+1],f=d||u[n],d=p[n],f<e?d>r?(x.push(i(u,p,e),i(u,p,r)),a||(x=o(s,x,g,v,y))):d>=e&&x.push(i(u,p,e)):f>r?d<e?(x.push(i(u,p,r),i(u,p,e)),a||(x=o(s,x,g,v,y))):d<=r&&x.push(i(u,p,r)):(x.push(u),d<e?(x.push(i(u,p,e)),a||(x=o(s,x,g,v,y))):d>r&&(x.push(i(u,p,r)),a||(x=o(s,x,g,v,y))));u=m[b-1],f=u[n],f>=e&&f<=r&&x.push(u),h=x[x.length-1],a&&h&&(x[0][0]!==h[0]||x[0][1]!==h[1])&&x.push(x[0]),o(s,x,g,v,y)}return s}function o(t,e,r,n,i){return e.length&&(e.area=r,e.dist=n,void 0!==i&&(e.outer=i),t.push(e)),[]}e.exports=n;var s=t(\"./feature\")},{\"./feature\":123}],122:[function(t,e,r){\"use strict\";function n(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n<t.features.length;n++)i(r,t.features[n],e);else\"Feature\"===t.type?i(r,t,e):i(r,{geometry:t},e);return r}function i(t,e,r){if(null!==e.geometry){var n,s,l,c,h=e.geometry,f=h.type,d=h.coordinates,p=e.properties,m=e.id;if(\"Point\"===f)t.push(u(p,1,[o(d)],m));else if(\"MultiPoint\"===f)t.push(u(p,1,a(d),m));else if(\"LineString\"===f)t.push(u(p,2,[a(d,r)],m));else if(\"MultiLineString\"===f||\"Polygon\"===f){for(l=[],n=0;n<d.length;n++)c=a(d[n],r),\"Polygon\"===f&&(c.outer=0===n),l.push(c);t.push(u(p,\"Polygon\"===f?3:2,l,m))}else if(\"MultiPolygon\"===f){for(l=[],n=0;n<d.length;n++)for(s=0;s<d[n].length;s++)c=a(d[n][s],r),c.outer=0===s,l.push(c);t.push(u(p,3,l,m))}else{if(\"GeometryCollection\"!==f)throw new Error(\"Input data is not a valid GeoJSON object.\");for(n=0;n<h.geometries.length;n++)i(t,{geometry:h.geometries[n],properties:p},r)}}}function a(t,e){for(var r=[],n=0;n<t.length;n++)r.push(o(t[n]));return e&&(l(r,e),s(r)),r}function o(t){var e=Math.sin(t[1]*Math.PI/180),r=t[0]/360+.5,n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n=n<0?0:n>1?1:n,[r,n,0]}function s(t){for(var e,r,n=0,i=0,a=0;a<t.length-1;a++)e=r||t[a],r=t[a+1],n+=e[0]*r[1]-r[0]*e[1],i+=Math.abs(r[0]-e[0])+Math.abs(r[1]-e[1]);t.area=Math.abs(n/2),t.dist=i}e.exports=n;var l=t(\"./simplify\"),u=t(\"./feature\")},{\"./feature\":123,\"./simplify\":125}],123:[function(t,e,r){\"use strict\";function n(t,e,r,n){var a={id:n||null,type:e,geometry:r,tags:t||null,min:[1/0,1/0],max:[-(1/0),-(1/0)]};return i(a),a}function i(t){var e=t.geometry,r=t.min,n=t.max;if(1===t.type)a(r,n,e);else for(var i=0;i<e.length;i++)a(r,n,e[i]);return t}function a(t,e,r){for(var n,i=0;i<r.length;i++)n=r[i],t[0]=Math.min(n[0],t[0]),e[0]=Math.max(n[0],e[0]),t[1]=Math.min(n[1],t[1]),e[1]=Math.max(n[1],e[1])}e.exports=n},{}],124:[function(t,e,r){\"use strict\";function n(t,e){return new i(t,e)}function i(t,e){e=this.options=l(Object.create(this.options),e);var r=e.debug;r&&console.time(\"preprocess data\");var n=1<<e.maxZoom,i=c(t,e.tolerance/(n*e.extent));this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",e.indexMaxZoom,e.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),i=d(i,e.buffer/e.extent,o),i.length&&this.splitTile(i,0,0,0),r&&(i.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}function a(t,e,r){return 32*((1<<t)*r+e)+t}function o(t,e,r){return[r,(r-t[0])*(e[1]-t[1])/(e[0]-t[0])+t[1],1]}function s(t,e,r){return[(r-t[1])*(e[0]-t[0])/(e[1]-t[1])+t[0],r,1]}function l(t,e){for(var r in e)t[r]=e[r];return t}function u(t,e,r){var n=t.source;if(1!==n.length)return!1;var i=n[0];if(3!==i.type||i.geometry.length>1)return!1;var a=i.geometry[0].length;if(5!==a)return!1;for(var o=0;o<a;o++){var s=h.point(i.geometry[0][o],e,t.z2,t.x,t.y);if(s[0]!==-r&&s[0]!==e+r||s[1]!==-r&&s[1]!==e+r)return!1}return!0}e.exports=n;var c=t(\"./convert\"),h=t(\"./transform\"),f=t(\"./clip\"),d=t(\"./wrap\"),p=t(\"./tile\");i.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,solidChildren:!1,tolerance:3,extent:4096,buffer:64,debug:0},i.prototype.splitTile=function(t,e,r,n,i,l,c){for(var h=[t,e,r,n],d=this.options,m=d.debug,g=null;h.length;){n=h.pop(),r=h.pop(),e=h.pop(),t=h.pop();var v=1<<e,y=a(e,r,n),b=this.tiles[y],x=e===d.maxZoom?0:d.tolerance/(v*d.extent);if(!b&&(m>1&&console.time(\"creation\"),b=this.tiles[y]=p(t,v,r,n,x,e===d.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),m)){m>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,b.numFeatures,b.numPoints,b.numSimplified),console.timeEnd(\"creation\"));var _=\"z\"+e;this.stats[_]=(this.stats[_]||0)+1,this.total++}if(b.source=t,i){if(e===d.maxZoom||e===i)continue;var w=1<<i-e;if(r!==Math.floor(l/w)||n!==Math.floor(c/w))continue}else if(e===d.indexMaxZoom||b.numPoints<=d.indexMaxPoints)continue;if(d.solidChildren||!u(b,d.extent,d.buffer)){b.source=null,m>1&&console.time(\"clipping\");var M,A,k,T,E,S,L=.5*d.buffer/d.extent,C=.5-L,D=.5+L,I=1+L;M=A=k=T=null,E=f(t,v,r-L,r+D,0,o,b.min[0],b.max[0]),S=f(t,v,r+C,r+I,0,o,b.min[0],b.max[0]),E&&(M=f(E,v,n-L,n+D,1,s,b.min[1],b.max[1]),A=f(E,v,n+C,n+I,1,s,b.min[1],b.max[1])),S&&(k=f(S,v,n-L,n+D,1,s,b.min[1],b.max[1]),T=f(S,v,n+C,n+I,1,s,b.min[1],b.max[1])),m>1&&console.timeEnd(\"clipping\"),t.length&&(h.push(M||[],e+1,2*r,2*n),h.push(A||[],e+1,2*r,2*n+1),h.push(k||[],e+1,2*r+1,2*n),h.push(T||[],e+1,2*r+1,2*n+1))}else i&&(g=e)}return g},i.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,o=n.debug,s=1<<t;e=(e%s+s)%s;var l=a(t,e,r);if(this.tiles[l])return h.tile(this.tiles[l],i);o>1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var c,f=t,d=e,p=r;!c&&f>0;)f--,d=Math.floor(d/2),p=Math.floor(p/2),c=this.tiles[a(f,d,p)];if(!c||!c.source)return null;if(o>1&&console.log(\"found parent tile z%d-%d-%d\",f,d,p),u(c,i,n.buffer))return h.tile(c,i);o>1&&console.time(\"drilling down\");var m=this.splitTile(c.source,f,d,p,t,e,r);if(o>1&&console.timeEnd(\"drilling down\"),null!==m){var g=1<<t-m;l=a(m,Math.floor(e/g),Math.floor(r/g))}return this.tiles[l]?h.tile(this.tiles[l],i):null}},{\"./clip\":121,\"./convert\":122,\"./tile\":126,\"./transform\":127,\"./wrap\":128}],125:[function(t,e,r){\"use strict\";function n(t,e){var r,n,a,o,s=e*e,l=t.length,u=0,c=l-1,h=[];for(t[u][2]=1,t[c][2]=1;c;){for(n=0,r=u+1;r<c;r++)(a=i(t[r],t[u],t[c]))>n&&(o=r,n=a);n>s?(t[o][2]=n,h.push(u),h.push(o),u=o):(c=h.pop(),u=h.pop())}}function i(t,e,r){var n=e[0],i=e[1],a=r[0],o=r[1],s=t[0],l=t[1],u=a-n,c=o-i;if(0!==u||0!==c){var h=((s-n)*u+(l-i)*c)/(u*u+c*c);h>1?(n=a,i=o):h>0&&(n+=u*h,i+=c*h)}return u=s-n,c=l-i,u*u+c*c}e.exports=n},{}],126:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z2:e,transformed:!1,min:[2,1],max:[-1,0]},l=0;l<t.length;l++){s.numFeatures++,i(s,t[l],a,o);var u=t[l].min,c=t[l].max;u[0]<s.min[0]&&(s.min[0]=u[0]),u[1]<s.min[1]&&(s.min[1]=u[1]),c[0]>s.max[0]&&(s.max[0]=c[0]),c[1]>s.max[1]&&(s.max[1]=c[1])}return s}function i(t,e,r,n){var i,o,s,l,u=e.geometry,c=e.type,h=[],f=r*r;if(1===c)for(i=0;i<u.length;i++)h.push(u[i]),t.numPoints++,t.numSimplified++;else for(i=0;i<u.length;i++)if(s=u[i],n||!(2===c&&s.dist<r||3===c&&s.area<f)){var d=[];for(o=0;o<s.length;o++)l=s[o],(n||l[2]>f)&&(d.push(l),t.numSimplified++),t.numPoints++;3===c&&a(d,s.outer),h.push(d)}else t.numPoints+=s.length;if(h.length){var p={geometry:h,type:c,tags:e.tags||null};null!==e.id&&(p.id=e.id),t.features.push(p)}}function a(t,e){o(t)<0===e&&t.reverse()}function o(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r[0]-e[0])*(e[1]+r[1]);return n}e.exports=n},{}],127:[function(t,e,r){\"use strict\";function n(t,e){if(t.transformed)return t;var r,n,a,o=t.z2,s=t.x,l=t.y;for(r=0;r<t.features.length;r++){var u=t.features[r],c=u.geometry;if(1===u.type)for(n=0;n<c.length;n++)c[n]=i(c[n],e,o,s,l);else for(n=0;n<c.length;n++){var h=c[n];for(a=0;a<h.length;a++)h[a]=i(h[a],e,o,s,l)}}return t.transformed=!0,t}function i(t,e,r,n,i){return[Math.round(e*(t[0]*r-n)),Math.round(e*(t[1]*r-i))]}r.tile=n,r.point=i},{}],128:[function(t,e,r){\"use strict\";function n(t,e,r){var n=t,a=o(t,1,-1-e,e,0,r,-1,2),s=o(t,1,1-e,2+e,0,r,-1,2);return(a||s)&&(n=o(t,1,-e,1+e,0,r,-1,2)||[],a&&(n=i(a,1).concat(n)),s&&(n=n.concat(i(s,-1)))),n}function i(t,e){for(var r=[],n=0;n<t.length;n++){var i,o=t[n],l=o.type;if(1===l)i=a(o.geometry,e);else{i=[];for(var u=0;u<o.geometry.length;u++)i.push(a(o.geometry[u],e))}r.push(s(o.tags,l,i,o.id))}return r}function a(t,e){var r=[];r.area=t.area,r.dist=t.dist;for(var n=0;n<t.length;n++)r.push([t[n][0]+e,t[n][1],t[n][2]]);return r}var o=t(\"./clip\"),s=t(\"./feature\");e.exports=n},{\"./clip\":121,\"./feature\":123}],129:[function(t,e,r){function n(t,e){if(\"string\"!=typeof t)throw new TypeError(\"must specify type string\");if(e=e||{},\"undefined\"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement(\"canvas\");\"number\"==typeof e.width&&(r.width=e.width),\"number\"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(\"webgl\")&&a.push(\"experimental-\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}e.exports=n},{}],130:[function(t,e,r){\"use strict\";function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=\"sans-serif\",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=c(t)}function a(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}function o(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){\nvar h=a,f=s,d=o,p=l;u&1<<c&&(h=s,f=a,d=l,p=o),h[c]=r[0][c],f[c]=r[1][c],i[c]>0?(d[c]=-1,p[c]=0):(d[c]=0,p[c]=1)}}function s(t,e){var r=new i(t);return r.update(e),r}e.exports=s;var l=t(\"./lib/text.js\"),u=t(\"./lib/lines.js\"),c=t(\"./lib/background.js\"),h=t(\"./lib/cube.js\"),f=t(\"./lib/ticks.js\"),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),p=i.prototype;p.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),s=!1,c=!1;if(\"bounds\"in t)for(var h=t.bounds,d=0;d<2;++d)for(var p=0;p<3;++p)h[d][p]!==this.bounds[d][p]&&(c=!0),this.bounds[d][p]=h[d][p];if(\"ticks\"in t){r=t.ticks,s=!0,this.autoTicks=!1;for(var d=0;d<3;++d)this.tickSpacing[d]=0}else n(\"tickSpacing\")&&(this.autoTicks=!0,c=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),c=!0,s=!0,this._firstInit=!1),c&&this.autoTicks&&(r=f.create(this.bounds,this.tickSpacing),s=!0),s){for(var d=0;d<3;++d)r[d].sort(function(t,e){return t.x-e.x});f.equal(r,this.ticks)?s=!1:this.ticks=r}i(\"tickEnable\"),a(\"tickFont\")&&(s=!0),n(\"tickSize\"),n(\"tickAngle\"),n(\"tickPad\"),o(\"tickColor\");var m=a(\"labels\");a(\"labelFont\")&&(m=!0),i(\"labelEnable\"),n(\"labelSize\"),n(\"labelPad\"),o(\"labelColor\"),i(\"lineEnable\"),i(\"lineMirror\"),n(\"lineWidth\"),o(\"lineColor\"),i(\"lineTickEnable\"),i(\"lineTickMirror\"),n(\"lineTickLength\"),n(\"lineTickWidth\"),o(\"lineTickColor\"),i(\"gridEnable\"),n(\"gridWidth\"),o(\"gridColor\"),i(\"zeroEnable\"),o(\"zeroLineColor\"),n(\"zeroLineWidth\"),i(\"backgroundEnable\"),o(\"backgroundColor\"),this._text?this._text&&(m||s)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=l(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&s&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=u(this.gl,this.bounds,this.ticks))};var m=[new a,new a,new a],g=[0,0,0],v={model:d,view:d,projection:d};p.isOpaque=function(){return!0},p.isTransparent=function(){return!1},p.drawTransparent=function(t){};var y=[0,0,0],b=[0,0,0],x=[0,0,0];p.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||d,i=t.view||d,a=t.projection||d,s=this.bounds,l=h(r,i,a,s),u=l.cubeEdges,c=l.axis,f=i[12],p=i[13],_=i[14],w=i[15],M=this.pixelRatio*(a[3]*f+a[7]*p+a[11]*_+a[15]*w)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=c[A];for(var k=m,A=0;A<3;++A)o(m[A],A,this.bounds,u,c);for(var e=this.gl,T=g,A=0;A<3;++A)this.backgroundEnable[A]?T[A]=c[A]:T[A]=0;this._background.draw(r,i,a,s,T,this.backgroundColor),this._lines.bind(r,i,a,this);for(var A=0;A<3;++A){var E=[0,0,0];c[A]>0?E[A]=s[1][A]:E[A]=s[0][A];for(var S=0;S<2;++S){var L=(A+1+S)%3,C=(A+1+(1^S))%3;this.gridEnable[L]&&this._lines.drawGrid(L,C,this.bounds,E,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(var S=0;S<2;++S){var L=(A+1+S)%3,C=(A+1+(1^S))%3;this.zeroEnable[C]&&s[0][C]<=0&&s[1][C]>=0&&this._lines.drawZero(L,C,this.bounds,E,this.zeroLineColor[C],this.zeroLineWidth[C]*this.pixelRatio)}}for(var A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,k[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,k[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);for(var D=n(y,k[A].primalMinor),I=n(b,k[A].mirrorMinor),z=this.lineTickLength,S=0;S<3;++S){var P=M/r[5*S];D[S]*=z[S]*P,I[S]*=z[S]*P}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,k[A].primalOffset,D,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,k[A].mirrorOffset,I,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._text.bind(r,i,a,this.pixelRatio);for(var A=0;A<3;++A){for(var O=k[A].primalMinor,R=n(x,k[A].primalOffset),S=0;S<3;++S)this.lineTickEnable[A]&&(R[S]+=M*O[S]*Math.max(this.lineTickLength[S],0)/r[5*S]);if(this.tickEnable[A]){for(var S=0;S<3;++S)R[S]+=M*O[S]*this.tickPad[S]/r[5*S];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],R,this.tickColor[A])}if(this.labelEnable[A]){for(var S=0;S<3;++S)R[S]+=M*O[S]*this.labelPad[S]/r[5*S];R[A]+=.5*(s[0][A]+s[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],R,this.labelColor[A])}}},p.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{\"./lib/background.js\":131,\"./lib/cube.js\":132,\"./lib/lines.js\":133,\"./lib/text.js\":135,\"./lib/ticks.js\":136}],131:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}function i(t){for(var e=[],r=[],i=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,h=[0,0,0],f=[0,0,0],d=-1;d<=1;d+=2){r.push(i,i+2,i+1,i+1,i+2,i+3),h[l]=d,f[l]=d;for(var p=-1;p<=1;p+=2){h[u]=p;for(var m=-1;m<=1;m+=2)h[c]=m,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),i+=1}var g=u;u=c,c=g}var v=a(t,new Float32Array(e)),y=a(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),b=o(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),x=s(t);return x.attributes.position.location=0,x.attributes.normal.location=1,new n(t,v,b,x)}e.exports=i;var a=t(\"gl-buffer\"),o=t(\"gl-vao\"),s=t(\"./shaders\").bg,l=n.prototype;l.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),l.disable(l.POLYGON_OFFSET_FILL)}},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders\":134,\"gl-buffer\":138,\"gl-vao\":253}],132:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}function i(t){for(var e=0;e<m.length;++e)if(t=l.positive(t,m[e]),t.length<3)return 0;for(var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0,e=1;e+1<t.length;++e){var o=t[e],s=t[e+1],u=o[0]/o[3],c=o[1]/o[3],h=s[0]/s[3],f=s[1]/s[3],d=u-n,p=c-i,g=h-n,v=f-i;a+=Math.abs(d*v-p*g)}return a}function a(t,e,r,a){s(c,e,t),s(c,r,c);for(var l=0,m=0;m<2;++m){d[2]=a[m][2];for(var b=0;b<2;++b){d[1]=a[b][1];for(var x=0;x<2;++x)d[0]=a[x][0],n(h[l],d,c),l+=1}}for(var _=-1,m=0;m<8;++m){for(var w=h[m][3],M=0;M<3;++M)f[m][M]=h[m][M]/w;w<0&&(_<0?_=m:f[m][2]<f[_][2]&&(_=m))}if(_<0){_=0;for(var A=0;A<3;++A){for(var k=(A+2)%3,T=(A+1)%3,E=-1,S=-1,L=0;L<2;++L){var C=L<<A,D=C+(L<<k)+(1-L<<T),I=C+(1-L<<k)+(L<<T);u(f[C],f[D],f[I],p)<0||(L?E=1:S=1)}if(E<0||S<0)S>E&&(_|=1<<A);else{for(var L=0;L<2;++L){var C=L<<A,D=C+(L<<k)+(1-L<<T),I=C+(1-L<<k)+(L<<T),z=i([h[C],h[D],h[I],h[C+(1<<k)+(1<<T)]]);L?E=z:S=z}S>E&&(_|=1<<A)}}}for(var P=7^_,O=-1,m=0;m<8;++m)m!==_&&m!==P&&(O<0?O=m:f[O][1]>f[m][1]&&(O=m));for(var R=-1,m=0;m<3;++m){var F=O^1<<m;if(F!==_&&F!==P){R<0&&(R=F);var T=f[F];T[0]<f[R][0]&&(R=F)}}for(var j=-1,m=0;m<3;++m){var F=O^1<<m;if(F!==_&&F!==P&&F!==R){j<0&&(j=F);var T=f[F];T[0]>f[j][0]&&(j=F)}}var N=g;N[0]=N[1]=N[2]=0,N[o.log2(R^O)]=O&R,N[o.log2(O^j)]=O&j;var B=7^j;B===_||B===P?(B=7^R,N[o.log2(j^B)]=B&j):N[o.log2(R^B)]=B&R;for(var U=v,V=_,A=0;A<3;++A)U[A]=V&1<<A?-1:1;return y}e.exports=a;var o=t(\"bit-twiddle\"),s=t(\"gl-mat4/multiply\"),l=(t(\"gl-mat4/invert\"),t(\"split-polygon\")),u=t(\"robust-orientation\"),c=new Array(16),h=(new Array(16),new Array(8)),f=new Array(8),d=new Array(3),p=[0,0,0];!function(){for(var t=0;t<8;++t)h[t]=[1,1,1,1],f[t]=[1,1,1]}();var m=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]],g=[1,1,1],v=[0,0,0],y={cubeEdges:g,axis:v}},{\"bit-twiddle\":57,\"gl-mat4/invert\":162,\"gl-mat4/multiply\":164,\"robust-orientation\":487,\"split-polygon\":505}],133:[function(t,e,r){\"use strict\";function n(t){return t[0]=t[1]=t[2]=0,t}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}function o(t,e,r){var n=[],i=[0,0,0],o=[0,0,0],c=[0,0,0],h=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var d=n.length/3|0,p=0;p<r[f].length;++p){var m=+r[f][p].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var g=n.length/3|0;i[f]=d,o[f]=g-d;for(var d=n.length/3|0,v=0;v<r[f].length;++v){var m=+r[f][v].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var g=n.length/3|0;c[f]=d,h[f]=g-d}var y=s(t,new Float32Array(n)),b=l(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),x=u(t);return x.attributes.position.location=0,new a(t,y,b,x,o,i,h,c)}e.exports=o;var s=t(\"gl-buffer\"),l=t(\"gl-vao\"),u=t(\"./shaders\").line,c=[0,0,0],h=[0,0,0],f=[0,0,0],d=[0,0,0],p=[1,1],m=a.prototype;m.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,p[0]=this.gl.drawingBufferWidth,p[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=p,this.vao.bind()},m.drawAxisLine=function(t,e,r,a,o){var s=n(h);this.shader.uniforms.majorAxis=h,s[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=s;var l=i(d,r);l[t]+=e[0][t],this.shader.uniforms.offset=l,this.shader.uniforms.lineWidth=o,this.shader.uniforms.color=a;var u=n(f);u[(t+2)%3]=1,this.shader.uniforms.screenAxis=u,this.vao.draw(this.gl.TRIANGLES,6);var u=n(f);u[(t+1)%3]=1,this.shader.uniforms.screenAxis=u,this.vao.draw(this.gl.TRIANGLES,6)},m.drawAxisTicks=function(t,e,r,i,a){if(this.tickCount[t]){var o=n(c);o[t]=1,this.shader.uniforms.majorAxis=o,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=i,this.shader.uniforms.lineWidth=a;var s=n(f);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},m.drawGrid=function(t,e,r,a,o,s){if(this.gridCount[t]){var l=n(h);l[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=l;var u=i(d,a);u[e]+=r[0][e],this.shader.uniforms.offset=u;var p=n(c);p[t]=1,this.shader.uniforms.majorAxis=p;var m=n(f);m[t]=1,this.shader.uniforms.screenAxis=m,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},m.drawZero=function(t,e,r,a,o,s){var l=n(h);this.shader.uniforms.majorAxis=l,l[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=l;var u=i(d,a);u[t]+=r[0][t],this.shader.uniforms.offset=u;var c=n(f);c[e]=1,this.shader.uniforms.screenAxis=c,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,6)},m.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\"./shaders\":134,\"gl-buffer\":138,\"gl-vao\":253}],134:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\");r.line=function(t){return n(t,\"#define GLSLIFY 1\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\\nuniform float lineWidth;\\nuniform vec2 screenShape;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nvoid main() {\\n  vec3 major = position.x * majorAxis;\\n  vec3 minor = position.y * minorAxis;\\n\\n  vec3 vPosition = major + minor + offset;\\n  vec3 pPosition = project(vPosition);\\n  vec3 offset = project(vPosition + screenAxis * position.z);\\n\\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\\n\\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\\n}\\n\",\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\",null,[{name:\"position\",type:\"vec3\"}])};r.text=function(t){return n(t,\"#define GLSLIFY 1\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, axis;\\nuniform float scale, angle, pixelScale;\\nuniform vec2 resolution;\\n\\nvoid main() {  \\n  //Compute plane offset\\n  vec2 planeCoord = position.xy * pixelScale;\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\n                                -sin(angle), cos(angle));\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\n\\n  //Compute world offset\\n  float axisDistance = position.z;\\n  vec3 dataPosition = axisDistance * axis + offset;\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\n  \\n  //Compute clip position\\n  vec4 viewPosition = view * worldPosition;\\n  vec4 clipPosition = projection * viewPosition;\\n  clipPosition /= clipPosition.w;\\n\\n  //Apply text offset in clip coordinates\\n  clipPosition += vec4(viewOffset, 0, 0);\\n\\n  //Done\\n  gl_Position = clipPosition;\\n}\",\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\",null,[{name:\"position\",type:\"vec3\"}])};r.bg=function(t){return n(t,\"#define GLSLIFY 1\\nattribute vec3 position;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 enable;\\nuniform vec3 bounds[2];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  if(dot(normal, enable) > 0.0) {\\n    vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\\n  } else {\\n    gl_Position = vec4(0,0,0,0);\\n  }\\n  colorChannel = abs(normal);\\n}\",\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 colors[3];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  gl_FragColor = colorChannel.x * colors[0] + \\n                 colorChannel.y * colors[1] +\\n                 colorChannel.z * colors[2];\\n}\",null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":237}],135:[function(t,e,r){(function(r){\"use strict\";function n(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}function i(t,e){try{return l(t,e)}catch(t){return console.warn(\"error vectorizing text:\",t),{cells:[],positions:[]}}}function a(t,e,r,i,a,l){var c=o(t),h=s(t,[{buffer:c,size:3}]),f=u(t);f.attributes.position.location=0;var d=new n(t,f,c,h);return d.update(e,r,i,a,l),d}e.exports=a;var o=t(\"gl-buffer\"),s=t(\"gl-vao\"),l=t(\"vectorize-text\"),u=t(\"./shaders\").text,c=window||r.global||{},h=c.__TEXT_CACHE||{};c.__TEXT_CACHE={};var f=n.prototype,d=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,d[0]=this.gl.drawingBufferWidth,d[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=d},f.update=function(t,e,r,n,a){function o(t,e,r,n){var a=h[r];a||(a=h[r]={});var o=a[e];o||(o=a[e]=i(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\"}));for(var l=(n||12)/12,u=o.positions,c=o.cells,f=0,d=c.length;f<d;++f)for(var p=c[f],m=2;m>=0;--m){var g=u[p[m]];s.push(l*g[0],-l*g[1],t)}}for(var s=(this.gl,[]),l=[0,0,0],u=[0,0,0],c=[0,0,0],f=[0,0,0],d=0;d<3;++d){c[d]=s.length/3|0,o(.5*(t[0][d]+t[1][d]),e[d],r),f[d]=(s.length/3|0)-c[d],l[d]=s.length/3|0;for(var p=0;p<n[d].length;++p)n[d][p].text&&o(n[d][p].x,n[d][p].text,n[d][p].font||a,n[d][p].fontSize||12);u[d]=(s.length/3|0)-l[d]}this.buffer.update(s),this.tickOffset=l,this.tickCount=u,this.labelOffset=c,this.labelCount=f};var p=[0,0,0];f.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=p;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var m=[0,0,0];f.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=m,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},f.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t(\"_process\"))},{\"./shaders\":134,_process:466,\"gl-buffer\":138,\"gl-vao\":253,\"vectorize-text\":532}],136:[function(t,e,r){\"use strict\";function n(t,e){var r=t+\"\",n=r.indexOf(\".\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=\"\"+l;if(o<0&&(c=\"-\"+c),i){for(var h=\"\"+u;h.length<i;)h=\"0\"+h;return c+\".\"+h}return c}function i(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r}function a(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}r.create=i,r.equal=a},{}],137:[function(t,e,r){\"use strict\";function n(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}function i(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=p,s=m,l=0;l<3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,h(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,h(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,c=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+c*c)}return t}function a(t,e,r,n,a){var h=e.model||f,p=e.view||f,m=e.projection||f,y=t.bounds,a=a||l(h,p,m,y),b=a.axis;a.edges;u(d,p,h),u(d,m,d);for(var x=g,_=0;_<3;++_)x[_].lo=1/0,x[_].hi=-(1/0),x[_].pixelsPerDataUnit=1/0;var w=o(c(d,d));c(d,d);for(var M=0;M<3;++M){var A=(M+1)%3,k=(M+2)%3,T=v;t:for(var _=0;_<2;++_){var E=[];if(b[M]<0!=!!_){T[M]=y[_][M];for(var S=0;S<2;++S){T[A]=y[S^_][A];for(var L=0;L<2;++L)T[k]=y[L^S^_][k],E.push(T.slice())}for(var S=0;S<w.length;++S){if(0===E.length)continue t;E=s.positive(E,w[S])}for(var S=0;S<E.length;++S)for(var k=E[S],C=i(v,d,k,r,n),L=0;L<3;++L)x[L].lo=Math.min(x[L].lo,k[L]),x[L].hi=Math.max(x[L].hi,k[L]),L!==M&&(x[L].pixelsPerDataUnit=Math.min(x[L].pixelsPerDataUnit,Math.abs(C[L])))}}}return x}e.exports=a;var o=t(\"extract-frustum-planes\"),s=t(\"split-polygon\"),l=t(\"./lib/cube.js\"),u=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/transpose\"),h=t(\"gl-vec4/transformMat4\"),f=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=new Float32Array(16),p=[0,0,0,1],m=[0,0,0,1],g=[new n(1/0,-(1/0),1/0),new n(1/0,-(1/0),1/0),new n(1/0,-(1/0),1/0)],v=[0,0,0]},{\"./lib/cube.js\":132,\"extract-frustum-planes\":112,\"gl-mat4/multiply\":164,\"gl-mat4/transpose\":172,\"gl-vec4/transformMat4\":259,\"split-polygon\":505}],138:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}function i(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,a,i),r}function a(t,e){for(var r=l.malloc(t.length,e),n=t.length,i=0;i<n;++i)r[i]=t[i];return r}function o(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}function s(t,e,r,i){if(r=r||t.ARRAY_BUFFER,i=i||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(i!==t.DYNAMIC_DRAW&&i!==t.STATIC_DRAW&&i!==t.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var a=t.createBuffer(),o=new n(t,r,a,0,i);return o.update(e),o}var l=t(\"typedarray-pool\"),u=t(\"ndarray-ops\"),c=t(\"ndarray\"),h=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"],f=n.prototype;f.bind=function(){this.gl.bindBuffer(this.type,this.handle)},f.unbind=function(){this.gl.bindBuffer(this.type,null)},f.dispose=function(){this.gl.deleteBuffer(this.handle)},f.update=function(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&void 0!==t.shape){var r=t.dtype;if(h.indexOf(r)<0&&(r=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){r=gl.getExtension(\"OES_element_index_uint\")&&\"uint16\"!==r?\"uint32\":\"uint16\"}if(r===t.dtype&&o(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=i(this.gl,this.type,this.length,this.usage,t.data,e):this.length=i(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=l.malloc(t.size,r),s=c(n,t.shape);u.assign(s,t),this.length=e<0?i(this.gl,this.type,this.length,this.usage,n,e):i(this.gl,this.type,this.length,this.usage,n.subarray(0,t.size),e),l.free(n)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?a(t,\"uint16\"):a(t,\"float32\"),this.length=e<0?i(this.gl,this.type,this.length,this.usage,f,e):i(this.gl,this.type,this.length,this.usage,f.subarray(0,t.length),e),l.free(f)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=i(this.gl,this.type,this.length,this.usage,t,e);else{if(\"number\"!=typeof t&&void 0!==t)throw new Error(\"gl-buffer: Invalid data type\");if(e>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");t|=0,t<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=s},{ndarray:447,\"ndarray-ops\":441,\"typedarray-pool\":519}],139:[function(t,e,r){e.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},{}],140:[function(t,e,r){var n=t(\"./1.0/numbers\");e.exports=function(t){return n[t]}},{\"./1.0/numbers\":139}],141:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.plot=t,this.shader=e,this.bufferHi=r,this.bufferLo=n,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.numPoints=0,this.color=[0,0,0,1]}function i(t,e){var r=a(t.gl,l.vertex,l.fragment),i=o(t.gl),s=o(t.gl),u=new n(t,r,i,s);return u.update(e),t.addObject(u),u}var a=t(\"gl-shader\"),o=t(\"gl-buffer\"),s=t(\"typedarray-pool\"),l=t(\"./lib/shaders\");e.exports=i;var u=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]],c=n.prototype;c.draw=function(){var t=new Float32Array([0,0]),e=new Float32Array([0,0]),r=new Float32Array([0,0]),n=new Float32Array([0,0]),i=[1,1];return function(){var a=this.plot,o=this.shader,s=this.bounds,l=this.numPoints;if(l){var c=a.gl,h=a.dataBox,f=a.viewBox,d=a.pixelRatio,p=s[2]-s[0],m=s[3]-s[1],g=h[2]-h[0],v=h[3]-h[1],y=2*p/g,b=2*m/v,x=(s[0]-h[0]-.5*g)/p,_=(s[1]-h[1]-.5*v)/m;t[0]=y,t[1]=b,e[0]=y-t[0],e[1]=b-t[1],r[0]=x,r[1]=_,n[0]=x-r[0],n[1]=_-r[1];var w=f[2]-f[0],M=f[3]-f[1];i[0]=2*d/w,i[1]=2*d/M,o.bind(),o.uniforms.scaleHi=t,o.uniforms.scaleLo=e,o.uniforms.translateHi=r,o.uniforms.translateLo=n,o.uniforms.pixelScale=i,o.uniforms.color=this.color,this.bufferLo.bind(),o.attributes.positionLo.pointer(c.FLOAT,!1,16,0),this.bufferHi.bind(),o.attributes.positionHi.pointer(c.FLOAT,!1,16,0),o.attributes.pixelOffset.pointer(c.FLOAT,!1,16,8),c.drawArrays(c.TRIANGLES,0,l*u.length)}}}(),c.drawPick=function(t){return t},c.pick=function(){return null},c.update=function(t){t=t||{};var e,r,n,i=t.positions||[],a=t.errors||[],o=1;\"lineWidth\"in t&&(o=+t.lineWidth);var l=5;\"capSize\"in t&&(l=+t.capSize),this.color=(t.color||[0,0,0,1]).slice();var c=this.bounds=[1/0,1/0,-(1/0),-(1/0)],h=this.numPoints=i.length>>1;for(e=0;e<h;++e)r=i[2*e],n=i[2*e+1],c[0]=Math.min(r,c[0]),c[1]=Math.min(n,c[1]),c[2]=Math.max(r,c[2]),c[3]=Math.max(n,c[3]);c[2]===c[0]&&(c[2]+=1),c[3]===c[1]&&(c[3]+=1);var f=1/(c[2]-c[0]),d=1/(c[3]-c[1]),p=c[0],m=c[1],g=s.mallocFloat64(h*u.length*4),v=s.mallocFloat32(h*u.length*4),y=s.mallocFloat32(h*u.length*4),b=0;for(e=0;e<h;++e){r=i[2*e],n=i[2*e+1];for(var x=a[4*e],_=a[4*e+1],w=a[4*e+2],M=a[4*e+3],A=0;A<u.length;++A){var k=u[A],T=k[0],E=k[1];T<0?T*=x:T>0&&(T*=_),E<0?E*=w:E>0&&(E*=M),g[b++]=f*(r-p+T),g[b++]=d*(n-m+E),g[b++]=o*k[2]+(l+o)*k[4],g[b++]=o*k[3]+(l+o)*k[5]}}for(e=0;e<g.length;e++)v[e]=g[e],y[e]=g[e]-v[e];this.bufferHi.update(v),this.bufferLo.update(y),s.free(g)},c.dispose=function(){this.plot.removeObject(this),this.shader.dispose(),this.bufferHi.dispose(),this.bufferLo.dispose()}},{\"./lib/shaders\":142,\"gl-buffer\":138,\"gl-shader\":237,\"typedarray-pool\":519}],142:[function(t,e,r){e.exports={\nvertex:\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 positionHi;\\nattribute vec2 positionLo;\\nattribute vec2 pixelOffset;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo, pixelScale;\\n\\nvec2 project(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\nvoid main() {\\n  vec3 scrPosition = vec3(\\n         project(scaleHi, translateHi, scaleLo, translateLo, positionHi, positionLo),\\n         1);\\n  gl_Position = vec4(\\n    scrPosition.xy + scrPosition.z * pixelScale * pixelOffset,\\n    0,\\n    scrPosition.z);\\n}\\n\",fragment:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\\n\"}},{}],143:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1}function i(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}function a(t,e,r,n){for(var i=f[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}function o(t){var e=t.gl,r=s(e),i=l(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),a=u(e);a.attributes.position.location=0,a.attributes.color.location=1,a.attributes.offset.location=2;var o=new n(e,r,i,a);return o.update(t),o}e.exports=o;var s=t(\"gl-buffer\"),l=t(\"gl-vao\"),u=t(\"./shaders/index\"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],h=n.prototype;h.isOpaque=function(){return this.opacity>=1},h.isTransparent=function(){return this.opacity<1},h.drawTransparent=h.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||c,i=r.projection=t.projection||c;r.model=t.model||c,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]),r.capSize=this.capSize[h]*u,e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var f=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=(n+e)%3,o=[0,0,0];o[a]=i,r.push(o)}t[e]=r}return t}();h.update=function(t){t=t||{},\"lineWidth\"in t&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),\"opacity\"in t&&(this.opacity=t.opacity);var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var o=[],s=r.length,l=0;this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.lineCount=[0,0,0];for(var u=0;u<3;++u){this.lineOffset[u]=l;t:for(var c=0;c<s;++c){for(var h=r[c],f=0;f<3;++f)if(isNaN(h[f])||!isFinite(h[f]))continue t;var d=n[c],p=e[u];if(Array.isArray(p[0])&&(p=e[c]),3===p.length&&(p=[p[0],p[1],p[2],1]),!isNaN(d[0][u])&&!isNaN(d[1][u])){if(d[0][u]<0){var m=h.slice();m[u]+=d[0][u],o.push(h[0],h[1],h[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,u)}if(d[1][u]>0){var m=h.slice();m[u]+=d[1][u],o.push(h[0],h[1],h[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,u)}}}this.lineCount[u]=l-this.lineOffset[u]}this.buffer.update(o)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\"./shaders/index\":144,\"gl-buffer\":138,\"gl-vao\":253}],144:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\");e.exports=function(t){return n(t,\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n  vec4 worldPosition  = model * vec4(position, 1.0);\\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n  gl_Position         = projection * view * worldPosition;\\n  fragColor           = color;\\n  fragPosition        = position;\\n}\",\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = opacity * fragColor;\\n}\",null,[{name:\"position\",type:\"vec3\"},{name:\"offset\",type:\"vec3\"},{name:\"color\",type:\"vec4\"}])}},{\"gl-shader\":237}],145:[function(t,e,r){\"use strict\";function n(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function i(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function a(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);y=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;y[n]=i}}function o(t){switch(t){case p:throw new Error(\"gl-fbo: Framebuffer unsupported\");case m:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case g:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case v:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function s(t,e,r,n,i,a){if(!n)return null;var o=d(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function l(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function u(t){var e=n(t.gl),r=t.gl,a=t.handle=r.createFramebuffer(),u=t._shape[0],c=t._shape[1],h=t.color.length,f=t._ext,d=t._useStencil,p=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,a);for(var g=0;g<h;++g)t.color[g]=s(r,u,c,m,r.RGBA,r.COLOR_ATTACHMENT0+g);0===h?(t._color_rb=l(r,u,c,r.RGBA4,r.COLOR_ATTACHMENT0),f&&f.drawBuffersWEBGL(y[0])):h>1&&f.drawBuffersWEBGL(y[h]);var v=r.getExtension(\"WEBGL_depth_texture\");v?d?t.depth=s(r,u,c,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p&&(t.depth=s(r,u,c,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):p&&d?t._depth_rb=l(r,u,c,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p?t._depth_rb=l(r,u,c,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=l(r,u,c,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var b=r.checkFramebufferStatus(r.FRAMEBUFFER);if(b!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(var g=0;g<t.color.length;++g)t.color[g].dispose(),t.color[g]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),i(r,e),o(b)}i(r,e)}function c(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var l=0;l<i;++l)this.color[l]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var c=this,h=[0|e,0|r];Object.defineProperties(h,{0:{get:function(){return c._shape[0]},set:function(t){return c.width=t}},1:{get:function(){return c._shape[1]},set:function(t){return c.height=t}}}),this._shapeVector=h,u(this)}function h(t,e,r){if(t._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(t._shape[0]!==e||t._shape[1]!==r){var a=t.gl,s=a.getParameter(a.MAX_RENDERBUFFER_SIZE);if(e<0||e>s||r<0||r>s)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var l=n(a),u=0;u<t.color.length;++u)t.color[u].shape=t._shape;t._color_rb&&(a.bindRenderbuffer(a.RENDERBUFFER,t._color_rb),a.renderbufferStorage(a.RENDERBUFFER,a.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(a.bindRenderbuffer(a.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&a.renderbufferStorage(a.RENDERBUFFER,a.STENCIL_INDEX,t._shape[0],t._shape[1])),a.bindFramebuffer(a.FRAMEBUFFER,t.handle);var c=a.checkFramebufferStatus(a.FRAMEBUFFER);c!==a.FRAMEBUFFER_COMPLETE&&(t.dispose(),i(a,l),o(c)),i(a,l)}}function f(t,e,r,n){p||(p=t.FRAMEBUFFER_UNSUPPORTED,m=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,g=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,v=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(\"WEBGL_draw_buffers\");if(!y&&i&&a(t,i),Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]),\"number\"!=typeof e)throw new Error(\"gl-fbo: Missing shape parameter\");var o=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>o||r<0||r>o)throw new Error(\"gl-fbo: Parameters are too large for FBO\");n=n||{};var s=1;if(\"color\"in n){if((s=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(s>1){if(!i)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(s>t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+s+\" draw buffers\")}}var l=t.UNSIGNED_BYTE,u=t.getExtension(\"OES_texture_float\");if(n.float&&s>0){if(!u)throw new Error(\"gl-fbo: Context does not support floating point textures\");l=t.FLOAT}else n.preferFloat&&s>0&&u&&(l=t.FLOAT);var h=!0;\"depth\"in n&&(h=!!n.depth);var f=!1;return\"stencil\"in n&&(f=!!n.stencil),new c(t,e,r,l,s,h,f,i)}var d=t(\"gl-texture2d\");e.exports=f;var p,m,g,v,y=null,b=c.prototype;Object.defineProperties(b,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error(\"gl-fbo: Shape vector must be length 2\");var e=0|t[0],r=0|t[1];return h(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return t|=0,h(this,t,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t},enumerable:!1}}),b.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},b.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{\"gl-texture2d\":249}],146:[function(t,e,r){function n(t,e,r){\"use strict\";var n=o(e)||\"of unknown name (see npm glsl-shader-name)\",l=\"unknown type\";void 0!==r&&(l=r===a.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var u=i(\"Error compiling %s shader %s:\\n\",l,n),c=i(\"%s%s\",u,t),h=t.split(\"\\n\"),f={},d=0;d<h.length;d++){var p=h[d];if(\"\"!==p){var m=parseInt(p.split(\":\")[2]);if(isNaN(m))throw new Error(i(\"Could not parse error: %s\",p));f[m]=p}}for(var g=s(e).split(\"\\n\"),d=0;d<g.length;d++)if(f[d+3]||f[d+2]||f[d+1]){var v=g[d];if(u+=v+\"\\n\",f[d+1]){var y=f[d+1];y=y.substr(y.split(\":\",3).join(\":\").length+1).trim(),u+=i(\"^^^ %s\\n\\n\",y)}}return{long:u.trim(),short:c.trim()}}var i=t(\"sprintf-js\").sprintf,a=t(\"gl-constants/lookup\"),o=t(\"glsl-shader-name\"),s=t(\"add-line-numbers\");e.exports=n},{\"add-line-numbers\":32,\"gl-constants/lookup\":140,\"glsl-shader-name\":261,\"sprintf-js\":506}],147:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.pickOffset=0}function i(t,e){var r=t.gl,i=l(r,c.vertex,c.fragment),a=l(r,c.pickVertex,c.pickFragment),o=u(r),s=u(r),h=u(r),f=u(r),d=new n(t,i,a,o,s,h,f);return d.update(e),t.addObject(d),d}e.exports=i;var a=t(\"binary-search-bounds\"),o=t(\"iota-array\"),s=t(\"typedarray-pool\"),l=t(\"gl-shader\"),u=t(\"gl-buffer\"),c=t(\"./lib/shaders\"),h=n.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];h.draw=function(){var t=[1,0,0,0,1,0,0,0,1];return function(){var e=this.plot,r=this.shader,n=this.bounds,i=this.numVertices;if(!(i<=0)){var a=e.gl,o=e.dataBox,s=n[2]-n[0],l=n[3]-n[1],u=o[2]-o[0],c=o[3]-o[1];t[0]=2*s/u,t[4]=2*l/c,t[6]=2*(n[0]-o[0])/u-1,t[7]=2*(n[1]-o[1])/c-1,r.bind();var h=r.uniforms;h.viewTransform=t,h.shape=this.shape;var f=r.attributes;this.positionBuffer.bind(),f.position.pointer(),this.weightBuffer.bind(),f.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),f.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,i)}}}(),h.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,u=a[2]-a[0],c=a[3]-a[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*u/h,t[4]=2*c/f,t[6]=2*(a[0]-l[0])/h-1,t[7]=2*(a[1]-l[1])/f-1;for(var d=0;d<4;++d)e[d]=r>>8*d&255;this.pickOffset=r,i.bind();var p=i.uniforms;p.viewTransform=t,p.pickOffset=e,p.shape=this.shape;var m=i.attributes;return this.positionBuffer.bind(),m.position.pointer(),this.weightBuffer.bind(),m.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),m.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},h.update=function(t){t=t||{};var e=t.shape||[0,0],r=t.x||o(e[0]),n=t.y||o(e[1]),i=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var l=t.colorLevels||[0],u=t.colorValues||[0,0,0,1],c=l.length,h=this.bounds,d=h[0]=r[0],p=h[1]=n[0],m=h[2]=r[r.length-1],g=h[3]=n[n.length-1],v=1/(m-d),y=1/(g-p),b=e[0],x=e[1];this.shape=[b,x];var _=(b-1)*(x-1)*(f.length>>>1);this.numVertices=_;for(var w=s.mallocUint8(4*_),M=s.mallocFloat32(2*_),A=s.mallocUint8(2*_),k=s.mallocUint32(_),T=0,E=0;E<x-1;++E)for(var S=y*(n[E]-p),L=y*(n[E+1]-p),C=0;C<b-1;++C)for(var D=v*(r[C]-d),I=v*(r[C+1]-d),z=0;z<f.length;z+=2){var P,O,R,F,j=f[z],N=f[z+1],B=(E+N)*b+(C+j),U=i[B],V=a.le(l,U);if(V<0)P=u[0],O=u[1],R=u[2],F=u[3];else if(V===c-1)P=u[4*c-4],O=u[4*c-3],R=u[4*c-2],F=u[4*c-1];else{var H=(U-l[V])/(l[V+1]-l[V]),q=1-H,G=4*V,Y=4*(V+1);P=q*u[G]+H*u[Y],O=q*u[G+1]+H*u[Y+1],R=q*u[G+2]+H*u[Y+2],F=q*u[G+3]+H*u[Y+3]}w[4*T]=255*P,w[4*T+1]=255*O,w[4*T+2]=255*R,w[4*T+3]=255*F,M[2*T]=.5*D+.5*I,M[2*T+1]=.5*S+.5*L,A[2*T]=j,A[2*T+1]=N,k[T]=E*b+C,T+=1}this.positionBuffer.update(M),this.weightBuffer.update(A),this.colorBuffer.update(w),this.idBuffer.update(k),s.free(M),s.free(w),s.free(A),s.free(k)},h.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{\"./lib/shaders\":148,\"binary-search-bounds\":149,\"gl-buffer\":138,\"gl-shader\":237,\"iota-array\":274,\"typedarray-pool\":519}],148:[function(t,e,r){\"use strict\";e.exports={fragment:\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\",vertex:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 color;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  fragColor = color;\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\",pickFragment:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nuniform vec2 shape;\\nuniform vec4 pickOffset;\\n\\nvoid main() {\\n  vec2 d = step(.5, vWeight);\\n  vec4 id = fragId + pickOffset;\\n  id.x += d.x + d.y*shape.x;\\n\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  gl_FragColor = id/255.;\\n}\\n\",pickVertex:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nvoid main() {\\n  vWeight = weight;\\n\\n  fragId = pickId;\\n\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"}},{}],149:[function(t,e,r){arguments[4][74][0].apply(r,arguments)},{dup:74}],150:[function(t,e,r){r.lineVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aHi, aLo, dHi, dLo;\\n\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, screenShape;\\nuniform float width;\\n\\nvarying vec2 direction;\\n\\n\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\n\\nvec2 project_2_1(vec2 scHi, vec2 scLo, vec2 posHi, vec2 posLo) {\\n  return scHi * posHi\\n       + scLo * posHi\\n       + scHi * posLo\\n       + scLo * posLo;\\n}\\n\\nvoid main() {\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\n  vec2 dir = project_2_1(scaleHi, scaleLo, dHi, dLo);\\n  vec2 n = 0.5 * width * normalize(screenShape.yx * vec2(dir.y, -dir.x)) / screenShape.xy;\\n  vec2 tangent = normalize(screenShape.xy * dir);\\n  if(dir.x < 0.0 || (dir.x == 0.0 && dir.y < 0.0)) {\\n    direction = -tangent;\\n  } else {\\n    direction = tangent;\\n  }\\n  gl_Position = vec4(p + n, 0.0, 1.0);\\n}\",r.lineFragment=\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nuniform vec2 screenShape;\\nuniform sampler2D dashPattern;\\nuniform float dashLength;\\n\\nvarying vec2 direction;\\n\\nvoid main() {\\n  float t = fract(dot(direction, gl_FragCoord.xy) / dashLength);\\n  vec4 pcolor = color * texture2D(dashPattern, vec2(t, 0.0)).r;\\n  gl_FragColor = vec4(pcolor.rgb * pcolor.a, pcolor.a);\\n}\",r.mitreVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aHi, aLo;\\n\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo;\\nuniform float radius;\\n\\n\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\n\\nvoid main() {\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\n  gl_Position = vec4(p, 0.0, 1.0);\\n  gl_PointSize = radius;\\n}\",r.mitreFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  if(length(gl_PointCoord.xy - 0.5) > 0.25) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(color.rgb, color.a);\\n}\",r.pickVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aHi, aLo, dHi;\\nattribute vec4 pick0, pick1;\\n\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, screenShape;\\nuniform float width;\\n\\nvarying vec4 pickA, pickB;\\n\\n\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\n\\nvoid main() {\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\n  vec2 n = width * normalize(screenShape.yx * vec2(dHi.y, -dHi.x)) / screenShape.xy;\\n  gl_Position = vec4(p + n, 0, 1);\\n  pickA = pick0;\\n  pickB = pick1;\\n}\",r.pickFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 pickOffset;\\n\\nvarying vec4 pickA, pickB;\\n\\nvoid main() {\\n  vec4 fragId = vec4(pickA.xyz, 0.0);\\n  if(pickB.w > pickA.w) {\\n    fragId.xyz = pickB.xyz;\\n  }\\n\\n  fragId += pickOffset;\\n\\n  fragId.y += floor(fragId.x / 256.0);\\n  fragId.x -= floor(fragId.x / 256.0) * 256.0;\\n\\n  fragId.z += floor(fragId.y / 256.0);\\n  fragId.y -= floor(fragId.y / 256.0) * 256.0;\\n\\n  fragId.w += floor(fragId.z / 256.0);\\n  fragId.z -= floor(fragId.z / 256.0) * 256.0;\\n\\n  gl_FragColor = fragId / 255.0;\\n}\",r.fillVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aHi, aLo, dHi;\\n\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, projectAxis;\\nuniform float projectValue, depth;\\n\\n\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\n  return (posHi + trHi) * scHi\\n       + (posLo + trLo) * scHi\\n       + (posHi + trHi) * scLo\\n       + (posLo + trLo) * scLo;\\n}\\n\\n\\nvoid main() {\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\n  if(dHi.y < 0.0 || (dHi.y == 0.0 && dHi.x < 0.0)) {\\n    if(dot(p, projectAxis) < projectValue) {\\n      p = p * (1.0 - abs(projectAxis)) + projectAxis * projectValue;\\n    }\\n  }\\n  gl_Position = vec4(p, depth, 1);\\n}\",r.fillFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\"},{}],151:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l){this.plot=t,this.dashPattern=e,this.lineBufferHi=r,this.lineBufferLo=n,this.pickBuffer=i,this.lineShader=a,this.mitreShader=o,this.fillShader=s,this.pickShader=l,this.usingDashes=!1,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.width=1,this.color=[0,0,1,1],this.fill=[!1,!1,!1,!1],this.fillColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.data=null,this.numPoints=0,this.vertCount=0,this.pickOffset=0}function i(t){return t.map(function(t){return t.slice()})}function a(t,e){var r=t.gl,i=s(r),a=s(r),u=s(r),c=l(r,[1,1]),f=o(r,h.lineVertex,h.lineFragment),d=o(r,h.mitreVertex,h.mitreFragment),p=o(r,h.fillVertex,h.fillFragment),m=o(r,h.pickVertex,h.pickFragment),g=new n(t,c,i,a,u,f,d,p,m);return t.addObject(g),g.update(e),g}e.exports=a;var o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"gl-texture2d\"),u=t(\"ndarray\"),c=t(\"typedarray-pool\"),h=t(\"./lib/shaders\"),f=n.prototype;f.setProjectionModel=function(){var t={scaleHi:new Float32Array([0,0]),scaleLo:new Float32Array([0,0]),translateHi:new Float32Array([0,0]),translateLo:new Float32Array([0,0]),screenShape:[0,0]};return function(){var e=this.bounds,r=this.plot.viewBox,n=this.plot.dataBox,i=e[2]-e[0],a=e[3]-e[1],o=n[2]-n[0],s=n[3]-n[1],l=r[2]-r[0],u=r[3]-r[1],c=2*i/o,h=2*a/s,f=(e[0]-n[0]-.5*o)/i,d=(e[1]-n[1]-.5*s)/a;return t.scaleHi[0]=c,t.scaleHi[1]=h,t.scaleLo[0]=c-t.scaleHi[0],t.scaleLo[1]=h-t.scaleHi[1],t.translateHi[0]=f,t.translateHi[1]=d,t.translateLo[0]=f-t.translateHi[0],t.translateLo[1]=d-t.translateHi[1],t.screenShape[0]=l,t.screenShape[1]=u,t}}(),f.setProjectionUniforms=function(t,e){t.scaleHi=e.scaleHi,t.scaleLo=e.scaleLo,t.translateHi=e.translateHi,t.translateLo=e.translateLo,t.screenShape=e.screenShape},f.draw=function(){var t=[1,0],e=[-1,0],r=[0,1],n=[0,-1];return function(){var i=this.vertCount;if(i){var a=this.setProjectionModel(),o=this.plot,s=this.width,l=o.gl,u=o.pixelRatio,c=this.color,h=this.fillShader.attributes;this.lineBufferLo.bind(),h.aLo.pointer(l.FLOAT,!1,16,0),this.lineBufferHi.bind();var f=this.fill;if(f[0]||f[1]||f[2]||f[3]){var d=this.fillShader;d.bind();var p=d.uniforms;this.setProjectionUniforms(p,a),p.depth=o.nextDepthValue(),h.aHi.pointer(l.FLOAT,!1,16,0),h.dHi.pointer(l.FLOAT,!1,16,8),l.depthMask(!0),l.enable(l.DEPTH_TEST);var m=this.fillColor;f[0]&&(p.color=m[0],p.projectAxis=e,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[1]&&(p.color=m[1],p.projectAxis=n,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[2]&&(p.color=m[2],p.projectAxis=t,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[3]&&(p.color=m[3],p.projectAxis=r,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),l.depthMask(!1),l.disable(l.DEPTH_TEST)}var g=this.lineShader;g.bind(),this.lineBufferLo.bind(),g.attributes.aLo.pointer(l.FLOAT,!1,16,0),g.attributes.dLo.pointer(l.FLOAT,!1,16,8),this.lineBufferHi.bind();var v=g.uniforms;this.setProjectionUniforms(v,a),v.color=c,v.width=s*u,v.dashPattern=this.dashPattern.bind(),v.dashLength=this.dashLength*u;var y=g.attributes;if(y.aHi.pointer(l.FLOAT,!1,16,0),y.dHi.pointer(l.FLOAT,!1,16,8),l.drawArrays(l.TRIANGLES,0,i),s>2&&!this.usingDashes){var b=this.mitreShader;this.lineBufferLo.bind(),b.attributes.aLo.pointer(l.FLOAT,!1,48,0),this.lineBufferHi.bind(),b.bind();var x=b.uniforms;this.setProjectionUniforms(x,a),x.color=c,x.radius=s*u,b.attributes.aHi.pointer(l.FLOAT,!1,48,0),l.drawArrays(l.POINTS,0,i/3|0)}}}}(),f.drawPick=function(){var t=[0,0,0,0];return function(e){var r=this.vertCount,n=this.numPoints;if(this.pickOffset=e,!r)return e+n;var i=this.setProjectionModel(),a=this.plot,o=this.width,s=a.gl,l=a.pickPixelRatio,u=this.pickShader,c=this.pickBuffer;t[0]=255&e,t[1]=e>>>8&255,t[2]=e>>>16&255,t[3]=e>>>24,u.bind();var h=u.uniforms;this.setProjectionUniforms(h,i),h.width=o*l,h.pickOffset=t;var f=u.attributes;return this.lineBufferHi.bind(),f.aHi.pointer(s.FLOAT,!1,16,0),f.dHi.pointer(s.FLOAT,!1,16,8),this.lineBufferLo.bind(),f.aLo.pointer(s.FLOAT,!1,16,0),c.bind(),f.pick0.pointer(s.UNSIGNED_BYTE,!1,8,0),f.pick1.pointer(s.UNSIGNED_BYTE,!1,8,4),s.drawArrays(s.TRIANGLES,0,r),e+n}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.numPoints;if(r<n||r>=n+i)return null;var a=r-n,o=this.data;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}},f.update=function(t){t=t||{};var e,r,n,a,o,s=this.plot.gl;this.color=(t.color||[0,0,1,1]).slice(),this.width=+(t.width||1),this.fill=(t.fill||[!1,!1,!1,!1]).slice(),this.fillColor=i(t.fillColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var h=t.dashes||[1],f=0;for(e=0;e<h.length;++e)f+=h[e];var d=c.mallocUint8(f);n=0;var p=255;for(e=0;e<h.length;++e){for(r=0;r<h[e];++r)d[n++]=p;p^=255}this.dashPattern.dispose(),this.usingDashes=h.length>1,this.dashPattern=l(s,u(d,[f,1,4],[1,0,0])),this.dashPattern.minFilter=s.NEAREST,this.dashPattern.magFilter=s.NEAREST,this.dashLength=f,c.free(d);var m=t.positions;this.data=m;var g=this.bounds;g[0]=g[1]=1/0,g[2]=g[3]=-(1/0);var v=this.numPoints=m.length>>>1;if(0!==v){for(e=0;e<v;++e)a=m[2*e],o=m[2*e+1],isNaN(a)||isNaN(o)||(g[0]=Math.min(g[0],a),g[1]=Math.min(g[1],o),g[2]=Math.max(g[2],a),g[3]=Math.max(g[3],o));g[0]===g[2]&&(g[2]+=1),g[3]===g[1]&&(g[3]+=1);var y=c.mallocFloat64(24*(v-1)),b=c.mallocFloat32(24*(v-1)),x=c.mallocFloat32(24*(v-1)),_=c.mallocUint32(12*(v-1)),w=b.length,M=_.length;n=v;for(var A=0;n>1;){var k=--n;a=m[2*n],o=m[2*n+1];var T=k-1,E=m[2*T],S=m[2*T+1];if(!(isNaN(a)||isNaN(o)||isNaN(E)||isNaN(S))){A+=1,a=(a-g[0])/(g[2]-g[0]),o=(o-g[1])/(g[3]-g[1]),E=(E-g[0])/(g[2]-g[0]),S=(S-g[1])/(g[3]-g[1]);var L=E-a,C=S-o,D=k|1<<24,I=k-1,z=k,P=k-1|1<<24;y[--w]=-C,y[--w]=-L,y[--w]=o,y[--w]=a,_[--M]=D,_[--M]=I,y[--w]=C,y[--w]=L,y[--w]=S,y[--w]=E,_[--M]=z,_[--M]=P,y[--w]=-C,y[--w]=-L,y[--w]=S,y[--w]=E,_[--M]=z,_[--M]=P,y[--w]=C,y[--w]=L,y[--w]=S,y[--w]=E,_[--M]=z,_[--M]=P,y[--w]=-C,y[--w]=-L,y[--w]=o,y[--w]=a,_[--M]=D,_[--M]=I,y[--w]=C,y[--w]=L,y[--w]=o,y[--w]=a,_[--M]=D,_[--M]=I}}for(e=0;e<y.length;e++)b[e]=y[e],x[e]=y[e]-b[e];this.vertCount=6*A,this.lineBufferHi.update(b.subarray(w)),this.lineBufferLo.update(x.subarray(w)),this.pickBuffer.update(_.subarray(M)),c.free(y),c.free(b),c.free(x),c.free(_)}},f.dispose=function(){this.plot.removeObject(this),this.lineBufferLo.dispose(),this.lineBufferHi.dispose(),this.pickBuffer.dispose(),this.lineShader.dispose(),this.mitreShader.dispose(),this.fillShader.dispose(),this.pickShader.dispose(),this.dashPattern.dispose()}},{\"./lib/shaders\":150,\"gl-buffer\":138,\"gl-shader\":237,\"gl-texture2d\":249,ndarray:447,\"typedarray-pool\":519}],152:[function(t,e,r){var n=t(\"gl-shader\"),i=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, nextPosition;\\nattribute float arcLength, lineWidth;\\nattribute vec4 color;\\n\\nuniform vec2 screenShape;\\nuniform float pixelRatio;\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 fragColor;\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\n\\nvoid main() {\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\n\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\n\\n  worldPosition = position;\\n  pixelArcLength = arcLength;\\n  fragColor = color;\\n}\\n\",a=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];r.createShader=function(t){return n(t,i,\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3      clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float     dashScale;\\nuniform float     opacity;\\n\\nvarying vec3    worldPosition;\\nvarying float   pixelArcLength;\\nvarying vec4    fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n  if(dashWeight < 0.5) {\\n    discard;\\n  }\\n  gl_FragColor = fragColor * opacity;\\n}\\n\",null,a)},r.createPickShader=function(t){return n(t,i,\"precision mediump float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX  1.70141184e38\\n#define FLOAT_MIN  1.17549435e-38\\n\\nlowp vec4 encode_float_1_0(highp float v) {\\n  highp float av = abs(v);\\n\\n  //Handle special cases\\n  if(av < FLOAT_MIN) {\\n    return vec4(0.0, 0.0, 0.0, 0.0);\\n  } else if(v > FLOAT_MAX) {\\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n  } else if(v < -FLOAT_MAX) {\\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n  }\\n\\n  highp vec4 c = vec4(0,0,0,0);\\n\\n  //Compute exponent and mantissa\\n  highp float e = floor(log2(av));\\n  highp float m = av * pow(2.0, -e) - 1.0;\\n  \\n  //Unpack mantissa\\n  c[1] = floor(128.0 * m);\\n  m -= c[1] / 128.0;\\n  c[2] = floor(32768.0 * m);\\n  m -= c[2] / 32768.0;\\n  c[3] = floor(8388608.0 * m);\\n  \\n  //Unpack exponent\\n  highp float ebias = e + 127.0;\\n  c[0] = floor(ebias / 2.0);\\n  ebias -= c[0] * 2.0;\\n  c[1] += floor(ebias) * 128.0; \\n\\n  //Unpack sign bit\\n  c[0] += 128.0 * step(0.0, -v);\\n\\n  //Scale back to range\\n  return c / 255.0;\\n}\\n\\n\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1_0(pixelArcLength).xyz);\\n}\",null,a)}},{\"gl-shader\":237}],153:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function i(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function a(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function o(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,\nthis.vao=i,this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}function s(t){var e=t.gl||t.scene&&t.scene.gl,r=m(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var n=g(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=l(e),a=u(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),s=d(new Array(1024),[256,1,4]),h=0;h<1024;++h)s.data[h]=255;var f=c(e,s);f.wrap=e.REPEAT;var p=new o(e,r,n,i,a,f);return p.update(t),p}e.exports=s;var l=t(\"gl-buffer\"),u=t(\"gl-vao\"),c=t(\"gl-texture2d\"),h=t(\"glsl-read-float\"),f=t(\"binary-search-bounds\"),d=t(\"ndarray\"),p=t(\"./lib/shaders\"),m=p.createShader,g=p.createPickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],y=o.prototype;y.isTransparent=function(){return this.opacity<1},y.isOpaque=function(){return this.opacity>=1},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||v,view:t.view||v,projection:t.projection||v,clipBounds:i(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},y.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||v,view:t.view||v,projection:t.projection||v,pickId:this.pickId,clipBounds:i(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},y.update=function(t){var e,r;this.dirty=!0;var i=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),\"opacity\"in t&&(this.opacity=+t.opacity);var a=t.position||t.positions;if(a){var o=t.color||t.colors||[0,0,0,1],s=t.lineWidth||1,l=[],u=[],c=[],h=0,p=0,m=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],g=!1;t:for(e=1;e<a.length;++e){var v=a[e-1],y=a[e];for(u.push(h),c.push(v.slice()),r=0;r<3;++r){if(isNaN(v[r])||isNaN(y[r])||!isFinite(v[r])||!isFinite(y[r])){if(!i&&l.length>0){for(var b=0;b<24;++b)l.push(l[l.length-12]);p+=2,g=!0}continue t}m[0][r]=Math.min(m[0][r],v[r],y[r]),m[1][r]=Math.max(m[1][r],v[r],y[r])}var x,_;Array.isArray(o[0])?(x=o[e-1],_=o[e]):x=_=o,3===x.length&&(x=[x[0],x[1],x[2],1]),3===_.length&&(_=[_[0],_[1],_[2],1]);var w;w=Array.isArray(s)?s[e-1]:s;var M=h;if(h+=n(v,y),g){for(r=0;r<2;++r)l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,x[0],x[1],x[2],x[3]);p+=2,g=!1}l.push(v[0],v[1],v[2],y[0],y[1],y[2],M,w,x[0],x[1],x[2],x[3],v[0],v[1],v[2],y[0],y[1],y[2],M,-w,x[0],x[1],x[2],x[3],y[0],y[1],y[2],v[0],v[1],v[2],h,-w,_[0],_[1],_[2],_[3],y[0],y[1],y[2],v[0],v[1],v[2],h,w,_[0],_[1],_[2],_[3]),p+=4}if(this.buffer.update(l),u.push(h),c.push(a[a.length-1].slice()),this.bounds=m,this.vertexCount=p,this.points=c,this.arcLength=u,\"dashes\"in t){var A=t.dashes,k=A.slice();for(k.unshift(0),e=1;e<k.length;++e)k[e]=k[e-1]+k[e];var T=d(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)T.set(e,0,r,0);1&f.le(k,k[k.length-1]*e/255)?T.set(e,0,0,0):T.set(e,0,0,255)}this.texture.setPixels(T)}}},y.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=h(t.value[0],t.value[1],t.value[2],0),r=f.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new a(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],o=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),s=1-o,l=[0,0,0],u=0;u<3;++u)l[u]=s*n[u]+o*i[u];var c=Math.min(o<.5?r:r+1,this.points.length-1);return new a(e,l,c,this.points[c])}},{\"./lib/shaders\":152,\"binary-search-bounds\":56,\"gl-buffer\":138,\"gl-texture2d\":249,\"gl-vao\":253,\"glsl-read-float\":260,ndarray:447}],154:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}e.exports=n},{}],155:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,d=u*a-o*l,p=r*h+n*f+i*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*n+i*u)*p,t[2]=(s*n-i*o)*p,t[3]=f*p,t[4]=(c*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null}e.exports=n},{}],156:[function(t,e,r){function n(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}e.exports=n},{}],157:[function(t,e,r){function n(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}e.exports=n},{}],158:[function(t,e,r){function n(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(h*g-f*m)-(e*s-n*a)*(c*g-f*p)+(e*l-i*a)*(c*m-h*p)+(r*s-n*o)*(u*g-f*d)-(r*l-i*o)*(u*m-h*d)+(n*l-i*s)*(u*p-c*d)}e.exports=n},{}],159:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-h-p,t[1]=c+v,t[2]=f-g,t[3]=0,t[4]=c-v,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=f+g,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}e.exports=n},{}],160:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,d=i*l,p=i*u,m=a*u,g=o*s,v=o*l,y=o*u;return t[0]=1-(d+m),t[1]=h+y,t[2]=f-v,t[3]=0,t[4]=h-y,t[5]=1-(c+m),t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-(c+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}e.exports=n},{}],161:[function(t,e,r){function n(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}e.exports=n},{}],162:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*m-h*p,k=c*g-f*p,T=c*v-d*p,E=h*g-f*m,S=h*v-d*m,L=f*v-d*g,C=y*L-b*S+x*E+_*T-w*k+M*A;return C?(C=1/C,t[0]=(s*L-l*S+u*E)*C,t[1]=(i*S-n*L-a*E)*C,t[2]=(m*M-g*w+v*_)*C,t[3]=(f*w-h*M-d*_)*C,t[4]=(l*T-o*L-u*k)*C,t[5]=(r*L-i*T+a*k)*C,t[6]=(g*x-p*M-v*b)*C,t[7]=(c*M-f*x+d*b)*C,t[8]=(o*S-s*T+u*A)*C,t[9]=(n*T-r*S-a*A)*C,t[10]=(p*w-m*x+v*y)*C,t[11]=(h*x-c*w-d*y)*C,t[12]=(s*k-o*E-l*A)*C,t[13]=(r*E-n*k+i*A)*C,t[14]=(m*b-p*_-g*y)*C,t[15]=(c*_-h*b+f*y)*C,t):null}e.exports=n},{}],163:[function(t,e,r){function n(t,e,r,n){var a,o,s,l,u,c,h,f,d,p,m=e[0],g=e[1],v=e[2],y=n[0],b=n[1],x=n[2],_=r[0],w=r[1],M=r[2];return Math.abs(m-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(v-M)<1e-6?i(t):(h=m-_,f=g-w,d=v-M,p=1/Math.sqrt(h*h+f*f+d*d),h*=p,f*=p,d*=p,a=b*d-x*f,o=x*h-y*d,s=y*f-b*h,p=Math.sqrt(a*a+o*o+s*s),p?(p=1/p,a*=p,o*=p,s*=p):(a=0,o=0,s=0),l=f*s-d*o,u=d*a-h*s,c=h*o-f*a,p=Math.sqrt(l*l+u*u+c*c),p?(p=1/p,l*=p,u*=p,c*=p):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=u,t[6]=f,t[7]=0,t[8]=s,t[9]=c,t[10]=d,t[11]=0,t[12]=-(a*m+o*g+s*v),t[13]=-(l*m+u*g+c*v),t[14]=-(h*m+f*g+d*v),t[15]=1,t)}var i=t(\"./identity\");e.exports=n},{\"./identity\":161}],164:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],m=e[12],g=e[13],v=e[14],y=e[15],b=r[0],x=r[1],_=r[2],w=r[3];return t[0]=b*n+x*s+_*h+w*m,t[1]=b*i+x*l+_*f+w*g,t[2]=b*a+x*u+_*d+w*v,t[3]=b*o+x*c+_*p+w*y,b=r[4],x=r[5],_=r[6],w=r[7],t[4]=b*n+x*s+_*h+w*m,t[5]=b*i+x*l+_*f+w*g,t[6]=b*a+x*u+_*d+w*v,t[7]=b*o+x*c+_*p+w*y,b=r[8],x=r[9],_=r[10],w=r[11],t[8]=b*n+x*s+_*h+w*m,t[9]=b*i+x*l+_*f+w*g,t[10]=b*a+x*u+_*d+w*v,t[11]=b*o+x*c+_*p+w*y,b=r[12],x=r[13],_=r[14],w=r[15],t[12]=b*n+x*s+_*h+w*m,t[13]=b*i+x*l+_*f+w*g,t[14]=b*a+x*u+_*d+w*v,t[15]=b*o+x*c+_*p+w*y,t}e.exports=n},{}],165:[function(t,e,r){function n(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}e.exports=n},{}],166:[function(t,e,r){function n(t,e,r,n){var i,a,o,s,l,u,c,h,f,d,p,m,g,v,y,b,x,_,w,M,A,k,T,E,S=n[0],L=n[1],C=n[2],D=Math.sqrt(S*S+L*L+C*C);return Math.abs(D)<1e-6?null:(D=1/D,S*=D,L*=D,C*=D,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],u=e[2],c=e[3],h=e[4],f=e[5],d=e[6],p=e[7],m=e[8],g=e[9],v=e[10],y=e[11],b=S*S*o+a,x=L*S*o+C*i,_=C*S*o-L*i,w=S*L*o-C*i,M=L*L*o+a,A=C*L*o+S*i,k=S*C*o+L*i,T=L*C*o-S*i,E=C*C*o+a,t[0]=s*b+h*x+m*_,t[1]=l*b+f*x+g*_,t[2]=u*b+d*x+v*_,t[3]=c*b+p*x+y*_,t[4]=s*w+h*M+m*A,t[5]=l*w+f*M+g*A,t[6]=u*w+d*M+v*A,t[7]=c*w+p*M+y*A,t[8]=s*k+h*T+m*E,t[9]=l*k+f*T+g*E,t[10]=u*k+d*T+v*E,t[11]=c*k+p*T+y*E,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}e.exports=n},{}],167:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t}e.exports=n},{}],168:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t}e.exports=n},{}],169:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t}e.exports=n},{}],170:[function(t,e,r){function n(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}e.exports=n},{}],171:[function(t,e,r){function n(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,m=r[0],g=r[1],v=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*v+e[12],t[13]=e[1]*m+e[5]*g+e[9]*v+e[13],t[14]=e[2]*m+e[6]*g+e[10]*v+e[14],t[15]=e[3]*m+e[7]*g+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=p,t[12]=n*m+s*g+h*v+e[12],t[13]=i*m+l*g+f*v+e[13],t[14]=a*m+u*g+d*v+e[14],t[15]=o*m+c*g+p*v+e[15]),t}e.exports=n},{}],172:[function(t,e,r){function n(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}e.exports=n},{}],173:[function(t,e,r){\"use strict\";function n(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:i(t,e);break;case 9:a(t,e);break;case 16:o(t,e);break;default:throw new Error(\"currently supports matrices up to 4x4\")}return t}e.exports=n;var i=t(\"gl-mat2/invert\"),a=t(\"gl-mat3/invert\"),o=t(\"gl-mat4/invert\")},{\"gl-mat2/invert\":154,\"gl-mat3/invert\":155,\"gl-mat4/invert\":162}],174:[function(t,e,r){r.glMatrix=t(\"./gl-matrix/common.js\"),r.mat2=t(\"./gl-matrix/mat2.js\"),r.mat2d=t(\"./gl-matrix/mat2d.js\"),r.mat3=t(\"./gl-matrix/mat3.js\"),r.mat4=t(\"./gl-matrix/mat4.js\"),r.quat=t(\"./gl-matrix/quat.js\"),r.vec2=t(\"./gl-matrix/vec2.js\"),r.vec3=t(\"./gl-matrix/vec3.js\"),r.vec4=t(\"./gl-matrix/vec4.js\")},{\"./gl-matrix/common.js\":175,\"./gl-matrix/mat2.js\":176,\"./gl-matrix/mat2d.js\":177,\"./gl-matrix/mat3.js\":178,\"./gl-matrix/mat4.js\":179,\"./gl-matrix/quat.js\":180,\"./gl-matrix/vec2.js\":181,\"./gl-matrix/vec3.js\":182,\"./gl-matrix/vec4.js\":183}],175:[function(t,e,r){var n={};n.EPSILON=1e-6,n.ARRAY_TYPE=\"undefined\"!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.ENABLE_SIMD=!1,n.SIMD_AVAILABLE=n.ARRAY_TYPE===Float32Array&&\"SIMD\"in this,n.USE_SIMD=n.ENABLE_SIMD&&n.SIMD_AVAILABLE,n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t};var i=Math.PI/180;n.toRadian=function(t){return t*i},n.equals=function(t,e){return Math.abs(t-e)<=n.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},e.exports=n},{}],176:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null},i.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*s+a*l,t[1]=i*s+o*l,t[2]=n*u+a*c,t[3]=i*u+o*c,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return\"mat2(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t},i.sub=i.subtract,i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},i.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},i.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t},e.exports=i},{\"./common.js\":175}],177:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.fromValues=function(t,e,r,i,a,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=i,s[4]=a,s[5]=o,s},i.set=function(t,e,r,n,i,a,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=r*a-n*i;return l?(l=1/l,t[0]=a*l,t[1]=-n*l,t[2]=-i*l,t[3]=r*l,t[4]=(i*s-a*o)*l,t[5]=(n*o-r*s)*l,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1],h=r[2],f=r[3],d=r[4],p=r[5];return t[0]=n*u+a*c,t[1]=i*u+o*c,t[2]=n*h+a*f,t[3]=i*h+o*f,t[4]=n*d+a*p+s,t[5]=i*d+o*p+l,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+a*u,t[1]=i*c+o*u,t[2]=n*-u+a*c,t[3]=i*-u+o*c,t[4]=s,t[5]=l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n*u,t[1]=i*u,t[2]=a*c,t[3]=o*c,t[4]=s,t[5]=l,t},i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=n*u+a*c+s,t[5]=i*u+o*c+l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return\"mat2d(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\")\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t},i.sub=i.subtract,i.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t},i.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=e[0],c=e[1],h=e[2],f=e[3],d=e[4],p=e[5];return Math.abs(r-u)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(i-c)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(a-h)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(o-f)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(s-d)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(l-p)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},e.exports=i},{\"./common.js\":175}],178:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new n.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromValues=function(t,e,r,i,a,o,s,l,u){var c=new n.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=r,c[3]=i,c[4]=a,c[5]=o,c[6]=s,c[7]=l,c[8]=u,c},i.set=function(t,e,r,n,i,a,o,s,l,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,d=u*a-o*l,p=r*h+n*f+i*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*n+i*u)*p,t[2]=(s*n-i*o)*p,t[3]=f*p,t[4]=(c*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null},i.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8];return t[0]=o*c-s*u,t[1]=i*u-n*c,t[2]=n*s-i*o,t[3]=s*l-a*c,t[4]=r*c-i*l,t[5]=i*a-r*s,t[6]=a*u-o*l,t[7]=n*l-r*u,t[8]=r*o-n*a,t},i.determinant=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8];return e*(u*a-o*l)+r*(-u*i+o*s)+n*(l*i-a*s)},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=r[0],d=r[1],p=r[2],m=r[3],g=r[4],v=r[5],y=r[6],b=r[7],x=r[8];return t[0]=f*n+d*o+p*u,t[1]=f*i+d*s+p*c,t[2]=f*a+d*l+p*h,t[3]=m*n+g*o+v*u,t[4]=m*i+g*s+v*c,t[5]=m*a+g*l+v*h,t[6]=y*n+b*o+x*u,t[7]=y*i+b*s+x*c,t[8]=y*a+b*l+x*h,t},i.mul=i.multiply,i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=f*n+d*o+u,t[7]=f*i+d*s+c,t[8]=f*a+d*l+h,t},i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=Math.sin(r),d=Math.cos(r);return t[0]=d*n+f*o,t[1]=d*i+f*s,t[2]=d*a+f*l,t[3]=d*o-f*n,t[4]=d*s-f*i,t[5]=d*l-f*a,t[6]=u,t[7]=c,t[8]=h,t},i.scale=function(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-h-p,t[3]=c-v,t[6]=f+g,t[1]=c+v,t[4]=1-u-p,t[7]=d-m,t[2]=f-g,t[5]=d+m,t[8]=1-u-h,t},i.normalFromMat4=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*m-h*p,k=c*g-f*p,T=c*v-d*p,E=h*g-f*m,S=h*v-d*m,L=f*v-d*g,C=y*L-b*S+x*E+_*T-w*k+M*A;return C?(C=1/C,t[0]=(s*L-l*S+u*E)*C,t[1]=(l*T-o*L-u*k)*C,t[2]=(o*S-s*T+u*A)*C,t[3]=(i*S-n*L-a*E)*C,t[4]=(r*L-i*T+a*k)*C,t[5]=(n*T-r*S-a*A)*C,t[6]=(m*M-g*w+v*_)*C,t[7]=(g*x-p*M-v*b)*C,t[8]=(p*w-m*x+v*y)*C,t):null},i.str=function(t){return\"mat3(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\", \"+t[6]+\", \"+t[7]+\", \"+t[8]+\")\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},i.sub=i.subtract,i.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},i.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=e[0],d=e[1],p=e[2],m=e[3],g=e[4],v=e[5],y=t[6],b=e[7],x=e[8];return Math.abs(r-f)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(f))&&Math.abs(i-d)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(a-p)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(o-m)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&&Math.abs(s-g)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(g))&&Math.abs(l-v)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(v))&&Math.abs(u-y)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(c-b)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(h-x)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(x))},e.exports=i},{\"./common.js\":175}],179:[function(t,e,r){var n=t(\"./common.js\"),i={scalar:{},SIMD:{}};i.create=function(){var t=new n.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.fromValues=function(t,e,r,i,a,o,s,l,u,c,h,f,d,p,m,g){var v=new n.ARRAY_TYPE(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=a,v[5]=o,v[6]=s,v[7]=l,v[8]=u,v[9]=c,v[10]=h,v[11]=f,v[12]=d,v[13]=p,v[14]=m,v[15]=g,v},i.set=function(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p,m,g){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t[9]=c,t[10]=h,t[11]=f,t[12]=d,t[13]=p,t[14]=m,t[15]=g,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.scalar.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},i.SIMD.transpose=function(t,e){var r,n,i,a,o,s,l,u,c,h;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),u=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(i,a,2,3,6,7),c=SIMD.Float32x4.shuffle(o,s,0,2,4,6),h=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,h),t},i.transpose=n.USE_SIMD?i.SIMD.transpose:i.scalar.transpose,i.scalar.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*m-h*p,k=c*g-f*p,T=c*v-d*p,E=h*g-f*m,S=h*v-d*m,L=f*v-d*g,C=y*L-b*S+x*E+_*T-w*k+M*A;return C?(C=1/C,t[0]=(s*L-l*S+u*E)*C,t[1]=(i*S-n*L-a*E)*C,t[2]=(m*M-g*w+v*_)*C,t[3]=(f*w-h*M-d*_)*C,t[4]=(l*T-o*L-u*k)*C,t[5]=(r*L-i*T+a*k)*C,t[6]=(g*x-p*M-v*b)*C,t[7]=(c*M-f*x+d*b)*C,t[8]=(o*S-s*T+u*A)*C,t[9]=(n*T-r*S-a*A)*C,t[10]=(p*w-m*x+v*y)*C,t[11]=(h*x-c*w-d*y)*C,t[12]=(s*k-o*E-l*A)*C,t[13]=(r*E-n*k+i*A)*C,t[14]=(m*b-p*_-g*y)*C,t[15]=(c*_-h*b+f*y)*C,t):null},i.SIMD.invert=function(t,e){var r,n,i,a,o,s,l,u,c,h,f=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(f,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,m,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(f,d,2,3,6,7),a=SIMD.Float32x4.shuffle(p,m,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),h=SIMD.Float32x4.mul(r,s),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,2,3,0,1),h),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,1,0,3,2),h),o=SIMD.Float32x4.reciprocalApproximation(h),h=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(h,SIMD.Float32x4.mul(o,o))),(h=SIMD.Float32x4.swizzle(h,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(h,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(h,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(h,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(h,c)),t):null},i.invert=n.USE_SIMD?i.SIMD.invert:i.scalar.invert,i.scalar.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15];return t[0]=s*(f*v-d*g)-h*(l*v-u*g)+m*(l*d-u*f),t[1]=-(n*(f*v-d*g)-h*(i*v-a*g)+m*(i*d-a*f)),t[2]=n*(l*v-u*g)-s*(i*v-a*g)+m*(i*u-a*l),t[3]=-(n*(l*d-u*f)-s*(i*d-a*f)+h*(i*u-a*l)),t[4]=-(o*(f*v-d*g)-c*(l*v-u*g)+p*(l*d-u*f)),t[5]=r*(f*v-d*g)-c*(i*v-a*g)+p*(i*d-a*f),t[6]=-(r*(l*v-u*g)-o*(i*v-a*g)+p*(i*u-a*l)),t[7]=r*(l*d-u*f)-o*(i*d-a*f)+c*(i*u-a*l),t[8]=o*(h*v-d*m)-c*(s*v-u*m)+p*(s*d-u*h),t[9]=-(r*(h*v-d*m)-c*(n*v-a*m)+p*(n*d-a*h)),t[10]=r*(s*v-u*m)-o*(n*v-a*m)+p*(n*u-a*s),t[11]=-(r*(s*d-u*h)-o*(n*d-a*h)+c*(n*u-a*s)),t[12]=-(o*(h*g-f*m)-c*(s*g-l*m)+p*(s*f-l*h)),t[13]=r*(h*g-f*m)-c*(n*g-i*m)+p*(n*f-i*h),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+p*(n*l-i*s)),t[15]=r*(s*f-l*h)-o*(n*f-i*h)+c*(n*l-i*s),t},i.SIMD.adjoint=function(t,e){var r,n,i,a,o,s,l,u,c,h,f,d,p,r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12);return c=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),o=SIMD.Float32x4.shuffle(c,s,0,2,4,6),s=SIMD.Float32x4.shuffle(s,c,1,3,5,7),c=SIMD.Float32x4.shuffle(r,n,2,3,6,7),u=SIMD.Float32x4.shuffle(i,a,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),\nu=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.mul(s,c),f=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),h),f=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),f),f=SIMD.Float32x4.swizzle(f,2,3,0,1),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(o,s),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(o,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),f),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.mul(o,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),f),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),p),SIMD.Float32x4.store(t,0,h),SIMD.Float32x4.store(t,4,f),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},i.adjoint=n.USE_SIMD?i.SIMD.adjoint:i.scalar.adjoint,i.determinant=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],m=t[14],g=t[15];return(e*o-r*a)*(h*g-f*m)-(e*s-n*a)*(c*g-f*p)+(e*l-i*a)*(c*m-h*p)+(r*s-n*o)*(u*g-f*d)-(r*l-i*o)*(u*m-h*d)+(n*l-i*s)*(u*p-c*d)},i.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(r,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),o))));SIMD.Float32x4.store(t,4,c);var h=SIMD.Float32x4.load(r,8),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,3,3,3,3),o))));SIMD.Float32x4.store(t,8,f);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},i.scalar.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],m=e[12],g=e[13],v=e[14],y=e[15],b=r[0],x=r[1],_=r[2],w=r[3];return t[0]=b*n+x*s+_*h+w*m,t[1]=b*i+x*l+_*f+w*g,t[2]=b*a+x*u+_*d+w*v,t[3]=b*o+x*c+_*p+w*y,b=r[4],x=r[5],_=r[6],w=r[7],t[4]=b*n+x*s+_*h+w*m,t[5]=b*i+x*l+_*f+w*g,t[6]=b*a+x*u+_*d+w*v,t[7]=b*o+x*c+_*p+w*y,b=r[8],x=r[9],_=r[10],w=r[11],t[8]=b*n+x*s+_*h+w*m,t[9]=b*i+x*l+_*f+w*g,t[10]=b*a+x*u+_*d+w*v,t[11]=b*o+x*c+_*p+w*y,b=r[12],x=r[13],_=r[14],w=r[15],t[12]=b*n+x*s+_*h+w*m,t[13]=b*i+x*l+_*f+w*g,t[14]=b*a+x*u+_*d+w*v,t[15]=b*o+x*c+_*p+w*y,t},i.multiply=n.USE_SIMD?i.SIMD.multiply:i.scalar.multiply,i.mul=i.multiply,i.scalar.translate=function(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,m=r[0],g=r[1],v=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*v+e[12],t[13]=e[1]*m+e[5]*g+e[9]*v+e[13],t[14]=e[2]*m+e[6]*g+e[10]*v+e[14],t[15]=e[3]*m+e[7]*g+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=p,t[12]=n*m+s*g+h*v+e[12],t[13]=i*m+l*g+f*v+e[13],t[14]=a*m+u*g+d*v+e[14],t[15]=o*m+c*g+p*v+e[15]),t},i.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,1,1,1,1)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,SIMD.Float32x4.add(a,o)));return SIMD.Float32x4.store(t,12,l),t},i.translate=n.USE_SIMD?i.SIMD.translate:i.scalar.translate,i.scalar.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.SIMD.scale=function(t,e,r){var n,i,a,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),i=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,1,1,1,1))),a=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.scale=n.USE_SIMD?i.SIMD.scale:i.scalar.scale,i.rotate=function(t,e,r,i){var a,o,s,l,u,c,h,f,d,p,m,g,v,y,b,x,_,w,M,A,k,T,E,S,L=i[0],C=i[1],D=i[2],I=Math.sqrt(L*L+C*C+D*D);return Math.abs(I)<n.EPSILON?null:(I=1/I,L*=I,C*=I,D*=I,a=Math.sin(r),o=Math.cos(r),s=1-o,l=e[0],u=e[1],c=e[2],h=e[3],f=e[4],d=e[5],p=e[6],m=e[7],g=e[8],v=e[9],y=e[10],b=e[11],x=L*L*s+o,_=C*L*s+D*a,w=D*L*s-C*a,M=L*C*s-D*a,A=C*C*s+o,k=D*C*s+L*a,T=L*D*s+C*a,E=C*D*s-L*a,S=D*D*s+o,t[0]=l*x+f*_+g*w,t[1]=u*x+d*_+v*w,t[2]=c*x+p*_+y*w,t[3]=h*x+m*_+b*w,t[4]=l*M+f*A+g*k,t[5]=u*M+d*A+v*k,t[6]=c*M+p*A+y*k,t[7]=h*M+m*A+b*k,t[8]=l*T+f*E+g*S,t[9]=u*T+d*E+v*S,t[10]=c*T+p*E+y*S,t[11]=h*T+m*E+b*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},i.scalar.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},i.SIMD.rotateX=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);var a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,4,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateX=n.USE_SIMD?i.SIMD.rotateX:i.scalar.rotateX,i.scalar.rotateY=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t},i.SIMD.rotateY=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,n),SIMD.Float32x4.mul(o,i))),t},i.rotateY=n.USE_SIMD?i.SIMD.rotateY:i.scalar.rotateY,i.scalar.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},i.SIMD.rotateZ=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,4);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,4,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateZ=n.USE_SIMD?i.SIMD.rotateZ:i.scalar.rotateZ,i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromRotation=function(t,e,r){var i,a,o,s=r[0],l=r[1],u=r[2],c=Math.sqrt(s*s+l*l+u*u);return Math.abs(c)<n.EPSILON?null:(c=1/c,s*=c,l*=c,u*=c,i=Math.sin(e),a=Math.cos(e),o=1-a,t[0]=s*s*o+a,t[1]=l*s*o+u*i,t[2]=u*s*o-l*i,t[3]=0,t[4]=s*l*o-u*i,t[5]=l*l*o+a,t[6]=u*l*o+s*i,t[7]=0,t[8]=s*u*o+l*i,t[9]=l*u*o-s*i,t[10]=u*u*o+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},i.fromXRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromYRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromZRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromRotationTranslation=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,d=i*l,p=i*u,m=a*u,g=o*s,v=o*l,y=o*u;return t[0]=1-(d+m),t[1]=h+y,t[2]=f-v,t[3]=0,t[4]=h-y,t[5]=1-(c+m),t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-(c+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},i.getRotation=function(t,e){var r=e[0]+e[5]+e[10],n=0;return r>0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]>e[5]&e[0]>e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]>e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},i.fromRotationTranslationScale=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,u=a+a,c=o+o,h=i*l,f=i*u,d=i*c,p=a*u,m=a*c,g=o*c,v=s*l,y=s*u,b=s*c,x=n[0],_=n[1],w=n[2];return t[0]=(1-(p+g))*x,t[1]=(f+b)*x,t[2]=(d-y)*x,t[3]=0,t[4]=(f-b)*_,t[5]=(1-(h+g))*_,t[6]=(m+v)*_,t[7]=0,t[8]=(d+y)*w,t[9]=(m-v)*w,t[10]=(1-(h+p))*w,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.fromRotationTranslationScaleOrigin=function(t,e,r,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],u=a+a,c=o+o,h=s+s,f=a*u,d=a*c,p=a*h,m=o*c,g=o*h,v=s*h,y=l*u,b=l*c,x=l*h,_=n[0],w=n[1],M=n[2],A=i[0],k=i[1],T=i[2];return t[0]=(1-(m+v))*_,t[1]=(d+x)*_,t[2]=(p-b)*_,t[3]=0,t[4]=(d-x)*w,t[5]=(1-(f+v))*w,t[6]=(g+y)*w,t[7]=0,t[8]=(p+b)*M,t[9]=(g-y)*M,t[10]=(1-(f+m))*M,t[11]=0,t[12]=r[0]+A-(t[0]*A+t[4]*k+t[8]*T),t[13]=r[1]+k-(t[1]*A+t[5]*k+t[9]*T),t[14]=r[2]+T-(t[2]*A+t[6]*k+t[10]*T),t[15]=1,t},i.fromQuat=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-h-p,t[1]=c+v,t[2]=f-g,t[3]=0,t[4]=c-v,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=f+g,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.frustum=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t},i.perspective=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},i.perspectiveFromFieldOfView=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((o-s)*l*.5),t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t},i.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},i.lookAt=function(t,e,r,a){var o,s,l,u,c,h,f,d,p,m,g=e[0],v=e[1],y=e[2],b=a[0],x=a[1],_=a[2],w=r[0],M=r[1],A=r[2];return Math.abs(g-w)<n.EPSILON&&Math.abs(v-M)<n.EPSILON&&Math.abs(y-A)<n.EPSILON?i.identity(t):(f=g-w,d=v-M,p=y-A,m=1/Math.sqrt(f*f+d*d+p*p),f*=m,d*=m,p*=m,o=x*p-_*d,s=_*f-b*p,l=b*d-x*f,m=Math.sqrt(o*o+s*s+l*l),m?(m=1/m,o*=m,s*=m,l*=m):(o=0,s=0,l=0),u=d*l-p*s,c=p*o-f*l,h=f*s-d*o,m=Math.sqrt(u*u+c*c+h*h),m?(m=1/m,u*=m,c*=m,h*=m):(u=0,c=0,h=0),t[0]=o,t[1]=u,t[2]=f,t[3]=0,t[4]=s,t[5]=c,t[6]=d,t[7]=0,t[8]=l,t[9]=h,t[10]=p,t[11]=0,t[12]=-(o*g+s*v+l*y),t[13]=-(u*g+c*v+h*y),t[14]=-(f*g+d*v+p*y),t[15]=1,t)},i.str=function(t){return\"mat4(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\", \"+t[6]+\", \"+t[7]+\", \"+t[8]+\", \"+t[9]+\", \"+t[10]+\", \"+t[11]+\", \"+t[12]+\", \"+t[13]+\", \"+t[14]+\", \"+t[15]+\")\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t},i.sub=i.subtract,i.multiplyScalar=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t},i.multiplyScalarAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=t[9],d=t[10],p=t[11],m=t[12],g=t[13],v=t[14],y=t[15],b=e[0],x=e[1],_=e[2],w=e[3],M=e[4],A=e[5],k=e[6],T=e[7],E=e[8],S=e[9],L=e[10],C=e[11],D=e[12],I=e[13],z=e[14],P=e[15];return Math.abs(r-b)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(i-x)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(a-_)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(o-w)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(w))&&Math.abs(s-M)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&&Math.abs(l-A)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(A))&&Math.abs(u-k)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(k))&&Math.abs(c-T)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(h-E)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(E))&&Math.abs(f-S)<=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(S))&&Math.abs(d-L)<=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(L))&&Math.abs(p-C)<=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&&Math.abs(m-D)<=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(D))&&Math.abs(g-I)<=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(I))&&Math.abs(v-z)<=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(z))&&Math.abs(y-P)<=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(P))},e.exports=i},{\"./common.js\":175}],180:[function(t,e,r){var n=t(\"./common.js\"),i=t(\"./mat3.js\"),a=t(\"./vec3.js\"),o=t(\"./vec4.js\"),s={};s.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),r=a.fromValues(0,1,0);return function(n,i,o){var l=a.dot(i,o);return l<-.999999?(a.cross(t,e,i),a.length(t)<1e-6&&a.cross(t,r,i),a.normalize(t,t),s.setAxisAngle(n,t,Math.PI),n):l>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(a.cross(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=i.create();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*c+o*s+i*u-a*l,t[1]=i*c+o*l+a*s-n*u,t[2]=a*c+o*u+n*l-i*s,t[3]=o*c-n*s-i*l-a*u,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+o*s,t[1]=i*l+a*s,t[2]=a*l-i*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l-a*s,t[1]=i*l+o*s,t[2]=a*l+n*s,t[3]=o*l-i*s,t},s.rotateZ=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=i*l-n*s,t[2]=a*l+o*s,t[3]=o*l-a*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],d=r[0],p=r[1],m=r[2],g=r[3];return a=u*d+c*p+h*m+f*g,a<0&&(a=-a,d=-d,p=-p,m=-m,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*h+l*m,t[3]=s*f+l*g,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,i,a,o,l){return s.slerp(t,n,o,l),s.slerp(e,i,a,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-i*s,t[3]=a*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+o]-e[3*o+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[o]=(e[3*o+i]+e[3*i+o])*r}return t},s.str=function(t){return\"quat(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"},s.exactEquals=o.exactEquals,s.equals=o.equals,e.exports=s},{\"./common.js\":175,\"./mat3.js\":178,\"./vec3.js\":182,\"./vec4.js\":183}],181:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,r){return t[0]=e,t[1]=r,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},i.transformMat2=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t},i.transformMat2d=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=2),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],a(t,t,o),e[s]=t[0],e[s+1]=t[1];return e}}(),i.str=function(t){return\"vec2(\"+t[0]+\", \"+t[1]+\")\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]},i.equals=function(t,e){var r=t[0],i=t[1],a=e[0],o=e[1];return Math.abs(r-a)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(i-o)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))},e.exports=i},{\"./common.js\":175}],182:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,r){var i=new n.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=r,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t},i.hermite=function(t,e,r,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,u=o*(a-1),c=o*(3-2*a);return t[0]=e[0]*s+r[0]*l+n[0]*u+i[0]*c,t[1]=e[1]*s+r[1]*l+n[1]*u+i[1]*c,t[2]=e[2]*s+r[2]*l+n[2]*u+i[2]*c,t},i.bezier=function(t,e,r,n,i,a){var o=1-a,s=o*o,l=a*a,u=s*o,c=3*a*s,h=3*l*o,f=l*a;return t[0]=e[0]*u+r[0]*c+n[0]*h+i[0]*f,t[1]=e[1]*u+r[1]*c+n[1]*h+i[1]*f,t[2]=e[2]*u+r[2]*c+n[2]*h+i[2]*f,t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,i=2*n.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*e,t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},i.transformQuat=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,h=u*i+l*n-o*a,f=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+h*-l-f*-s,t[1]=h*u+d*-s+f*-o-c*-l,t[2]=f*u+d*-l+c*-s-h*-o,t},i.rotateX=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateY=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateZ=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=3),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2];return e}}(),i.angle=function(t,e){var r=i.fromValues(t[0],t[1],t[2]),n=i.fromValues(e[0],e[1],e[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a>1?0:Math.acos(a)},i.str=function(t){return\"vec3(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\")\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))},e.exports=i},{\"./common.js\":175}],183:[function(t,e,r){var n=t(\"./common.js\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=function(t,e,r,n){\nvar i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t},i.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t},i.transformQuat=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,h=u*i+l*n-o*a,f=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+h*-l-f*-s,t[1]=h*u+d*-s+f*-o-c*-l,t[2]=f*u+d*-l+c*-s-h*-o,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=4),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],t[3]=e[s+3],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2],e[s+3]=t[3];return e}}(),i.str=function(t){return\"vec4(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},e.exports=i},{\"./common.js\":175}],184:[function(t,e,r){\"use strict\";function n(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function i(t,e,r,i,a){for(var o=n(i,n(r,n(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}function a(t,e){if(2===t.length){for(var r=0,n=0,i=0;i<2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n<1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var a=[0,0];return u(t[0],t[1],t[2],e,a),l(t,a)}return[]}function o(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}function s(t,e,r,n,s,l){if(1===t.length)return[0,t[0].slice()];for(var u=new Array(t.length),c=0;c<t.length;++c)u[c]=i(t[c],r,n,s,l);for(var h=0,f=1/0,c=0;c<u.length;++c){for(var d=0,p=0;p<2;++p)d+=Math.pow(u[c][p]-e[p],2);d<f&&(f=d,h=c)}for(var m=a(u,e),g=0,c=0;c<3;++c){if(m[c]<-.001||m[c]>1.0001)return null;g+=m[c]}return Math.abs(g-1)>.001?null:[h,o(t,m),m]}var l=t(\"barycentric\"),u=t(\"polytope-closest-point/lib/closest_point_2d.js\");e.exports=s},{barycentric:39,\"polytope-closest-point/lib/closest_point_2d.js\":465}],185:[function(t,e,r){var n=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(f_position, clipBounds[0])) || \\n     any(greaterThan(f_position, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\";r.meshShader={vertex:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n           , view\\n           , projection;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec4 m_position  = model * vec4(position, 1.0);\\n  vec4 t_position  = view * m_position;\\n  gl_Position      = projection * t_position;\\n  f_color          = color;\\n  f_normal         = normal;\\n  f_data           = position;\\n  f_eyeDirection   = eyePosition   - position;\\n  f_lightDirection = lightPosition - position;\\n  f_uv             = uv;\\n}\",fragment:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution_2_0(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\n\\n\\nfloat cookTorranceSpecular_1_1(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution_2_0(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular\\n            , opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(f_data, clipBounds[0])) || \\n     any(greaterThan(f_data, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n  \\n  if(!gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = cookTorranceSpecular_1_1(L, V, N, roughness, fresnel);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\",attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.wireShader={vertex:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_color = color;\\n  f_data  = position;\\n  f_uv    = uv;\\n}\",fragment:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(f_data, clipBounds[0])) || \\n     any(greaterThan(f_data, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\",attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.pointShader={vertex:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || \\n     any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    gl_Position = projection * view * model * vec4(position, 1.0);\\n  }\\n  gl_PointSize = pointSize;\\n  f_color = color;\\n  f_uv = uv;\\n}\",fragment:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5,0.5);\\n  if(dot(pointR, pointR) > 0.25) {\\n    discard;\\n  }\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\",attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},r.pickShader={vertex:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_id        = id;\\n  f_position  = position;\\n}\",fragment:n,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},r.pointPickShader={vertex:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3  position;\\nattribute float pointSize;\\nattribute vec4  id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || \\n     any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    gl_Position  = projection * view * model * vec4(position, 1.0);\\n    gl_PointSize = pointSize;\\n  }\\n  f_id         = id;\\n  f_position   = position;\\n}\",fragment:n,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},r.contourShader={vertex:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n}\",fragment:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n  gl_FragColor = vec4(contourColor,1);\\n}\\n\",attributes:[{name:\"position\",type:\"vec3\"}]}},{}],186:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p,m,g,v,y,b,x,_,w,M,A,k,T){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=g,this.edgeUVs=v,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=b,this.pointColors=_,this.pointUVs=w,this.pointSizes=M,this.pointIds=x,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=k,this.contourVAO=T,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this._model=z,this._view=z,this._projection=z,this._resolution=[1,1]}function i(t){for(var e=w({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return _(r,[256,256,4],[4,0,1])}function a(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;for(var a=t.length,i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}function o(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}function s(t){var e=p(t,E);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function l(t){var e=p(t,S);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function u(t){var e=p(t,L);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function c(t){var e=p(t,C);return e.attributes.position.location=0,e.attributes.id.location=1,e}function h(t){var e=p(t,D);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function f(t){var e=p(t,I);return e.attributes.position.location=0,e}function d(t){var e=t.gl,r=s(e),i=l(e),a=u(e),o=c(e),d=h(e),p=f(e),y=v(e,_(new Uint8Array([255,255,255,255]),[1,1,4]));y.generateMipmap(),y.minFilter=e.LINEAR_MIPMAP_LINEAR,y.magFilter=e.LINEAR;var b=m(e),x=m(e),w=m(e),M=m(e),A=m(e),k=g(e,[{buffer:b,type:e.FLOAT,size:3},{buffer:A,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:x,type:e.FLOAT,size:4},{buffer:w,type:e.FLOAT,size:2},{buffer:M,type:e.FLOAT,size:3}]),T=m(e),E=m(e),S=m(e),L=m(e),C=g(e,[{buffer:T,type:e.FLOAT,size:3},{buffer:L,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:E,type:e.FLOAT,size:4},{buffer:S,type:e.FLOAT,size:2}]),D=m(e),I=m(e),z=m(e),P=m(e),O=m(e),R=g(e,[{buffer:D,type:e.FLOAT,size:3},{buffer:O,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:e.FLOAT,size:4},{buffer:z,type:e.FLOAT,size:2},{buffer:P,type:e.FLOAT,size:1}]),F=m(e),j=g(e,[{buffer:F,type:e.FLOAT,size:3}]),N=new n(e,y,r,i,a,o,d,p,b,A,x,w,M,k,T,L,E,S,C,D,O,I,z,P,R,F,j);return N.update(t),N}var p=t(\"gl-shader\"),m=t(\"gl-buffer\"),g=t(\"gl-vao\"),v=t(\"gl-texture2d\"),y=t(\"normals\"),b=t(\"gl-mat4/multiply\"),x=t(\"gl-mat4/invert\"),_=t(\"ndarray\"),w=t(\"colormap\"),M=t(\"simplicial-complex-contour\"),A=t(\"typedarray-pool\"),k=t(\"./lib/shaders\"),T=t(\"./lib/closest-point\"),E=k.meshShader,S=k.wireShader,L=k.pointShader,C=k.pickShader,D=k.pointPickShader,I=k.contourShader,z=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],P=n.prototype;P.isOpaque=function(){return this.opacity>=1},P.isTransparent=function(){return this.opacity<1},P.pickSlots=1,P.setPickBase=function(t){this.pickId=t},P.highlight=function(t){if(!t||!this.contourEnable)return void(this.contourCount=0);for(var e=M(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=A.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var u=r[l],c=0;c<2;++c){var h=u[0];2===u.length&&(h=u[c]);for(var f=n[h][0],d=n[h][1],p=i[h],m=1-p,g=this.positions[f],v=this.positions[d],y=0;y<3;++y)o[s++]=p*g[y]+m*v[y]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),A.free(o)},P.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=v(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(i(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var s=[],l=[],u=[],c=[],h=[],f=[],d=[],p=[],m=[],g=[],b=[],x=[],_=[],w=[];this.cells=r,this.positions=n;var M=t.vertexNormals,A=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,T=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!A&&(A=y.faceNormals(r,n,T)),A||M||(M=y.vertexNormals(r,n,k));var E=t.vertexColors,S=t.cellColors,L=t.meshColor||[1,1,1,1],C=t.vertexUVs,D=t.vertexIntensity,I=t.cellUVs,z=t.cellIntensity,P=1/0,O=-(1/0);if(!C&&!I)if(D)for(var R=0;R<D.length;++R){var F=D[R];P=Math.min(P,F),O=Math.max(O,F)}else if(z)for(var R=0;R<z.length;++R){var F=z[R];P=Math.min(P,F),O=Math.max(O,F)}else for(var R=0;R<n.length;++R){var F=n[R][2];P=Math.min(P,F),O=Math.max(O,F)}this.intensity=D?D:z?a(r,n.length,z):o(n);var j=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]];for(var R=0;R<n.length;++R)for(var B=n[R],U=0;U<3;++U)!isNaN(B[U])&&isFinite(B[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],B[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],B[U]));var V=0,H=0,q=0;t:for(var R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(var Y=G[0],B=n[Y],U=0;U<3;++U)if(isNaN(B[U])||!isFinite(B[U]))continue t;g.push(B[0],B[1],B[2]);var X;X=E?E[Y]:S?S[R]:L,3===X.length?b.push(X[0],X[1],X[2],1):b.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:D?[(D[Y]-P)/(O-P),0]:I?I[R]:z?[(z[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],x.push(W[0],W[1]),j?_.push(j[Y]):_.push(N),w.push(R),q+=1;break;case 2:for(var U=0;U<2;++U)for(var Y=G[U],B=n[Y],Z=0;Z<3;++Z)if(isNaN(B[Z])||!isFinite(B[Z]))continue t;for(var U=0;U<2;++U){var Y=G[U],B=n[Y];f.push(B[0],B[1],B[2]);var X;X=E?E[Y]:S?S[R]:L,3===X.length?d.push(X[0],X[1],X[2],1):d.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:D?[(D[Y]-P)/(O-P),0]:I?I[R]:z?[(z[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],p.push(W[0],W[1]),m.push(R)}H+=1;break;case 3:for(var U=0;U<3;++U)for(var Y=G[U],B=n[Y],Z=0;Z<3;++Z)if(isNaN(B[Z])||!isFinite(B[Z]))continue t;for(var U=0;U<3;++U){var Y=G[U],B=n[Y];s.push(B[0],B[1],B[2]);var X;X=E?E[Y]:S?S[R]:L,3===X.length?l.push(X[0],X[1],X[2],1):l.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:D?[(D[Y]-P)/(O-P),0]:I?I[R]:z?[(z[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],c.push(W[0],W[1]);var J;J=M?M[Y]:A[R],u.push(J[0],J[1],J[2]),h.push(R)}V+=1}}this.pointCount=q,this.edgeCount=H,this.triangleCount=V,this.pointPositions.update(g),this.pointColors.update(b),this.pointUVs.update(x),this.pointSizes.update(_),this.pointIds.update(new Uint32Array(w)),this.edgePositions.update(f),this.edgeColors.update(d),this.edgeUVs.update(p),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(s),this.triangleColors.update(l),this.triangleUVs.update(c),this.triangleNormals.update(u),this.triangleIds.update(new Uint32Array(h))}},P.drawTransparent=P.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||z,n=t.view||z,i=t.projection||z,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);b(l,s.view,s.model),b(l,s.projection,l),x(l,l);for(var o=0;o<3;++o)s.eyePosition[o]=l[12+o]/l[15];for(var u=l[15],o=0;o<3;++o)u+=this.lightPosition[o]*l[4*o+3];for(var o=0;o<3;++o){for(var c=l[12+o],h=0;h<3;++h)c+=l[4*h+o]*this.lightPosition[h];s.lightPosition[o]=c/u}if(this.triangleCount>0){var f=this.triShader;f.bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var f=this.lineShader;f.bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount>0){var f=this.pointShader;f.bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var f=this.contourShader;f.bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind()}},P.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||z,n=t.view||z,i=t.projection||z,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255},l=this.pickShader;if(l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0){var l=this.pointPickShader;l.bind(),l.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}},P.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=T(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;for(var s=o[2],l=0,a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},P.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=d},{\"./lib/closest-point\":184,\"./lib/shaders\":185,colormap:89,\"gl-buffer\":138,\"gl-mat4/invert\":162,\"gl-mat4/multiply\":164,\"gl-shader\":237,\"gl-texture2d\":249,\"gl-vao\":253,ndarray:447,normals:449,\"simplicial-complex-contour\":496,\"typedarray-pool\":519}],187:[function(t,e,r){\"use strict\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}function i(t){var e=t.gl;return new n(t,a(e,[0,0,0,1,1,0,1,1]),o(e,s.boxVert,s.lineFrag))}e.exports=i;var a=t(\"gl-buffer\"),o=t(\"gl-shader\"),s=t(\"./shaders\"),l=n.prototype;l.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},l.drawBox=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o){var s=this.plot,l=this.shader,u=s.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,l.uniforms.lo=t,l.uniforms.hi=e,l.uniforms.color=o,u.drawArrays(u.TRIANGLE_STRIP,0,4)}}(),l.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":190,\"gl-buffer\":138,\"gl-shader\":193}],188:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function i(t,e){return t-e}function a(t){var e=t.gl;return new n(t,o(e),s(e,u.gridVert,u.gridFrag),s(e,u.tickVert,u.gridFrag))}e.exports=a;var o=t(\"gl-buffer\"),s=t(\"gl-shader\"),l=t(\"binary-search-bounds\"),u=t(\"./shaders\"),c=n.prototype;c.draw=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){for(var n=this.plot,i=this.vbo,a=this.shader,o=this.ticks,s=n.gl,l=n._tickBounds,u=n.dataBox,c=n.viewBox,h=n.gridLineWidth,f=n.gridLineColor,d=n.gridLineEnable,p=n.pixelRatio,m=0;m<2;++m){var g=l[m],v=l[m+2],y=v-g,b=.5*(u[m+2]+u[m]),x=u[m+2]-u[m];e[m]=2*y/x,t[m]=2*(g-b)/x}a.bind(),i.bind(),a.attributes.dataCoord.pointer(),a.uniforms.dataShift=t,a.uniforms.dataScale=e;for(var _=0,m=0;m<2;++m){r[0]=r[1]=0,r[m]=1,a.uniforms.dataAxis=r,a.uniforms.lineWidth=h[m]/(c[m+2]-c[m])*p,a.uniforms.color=f[m];var w=6*o[m].length;d[m]&&w&&s.drawArrays(s.TRIANGLES,_,w),_+=w}}}(),c.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var s=this.plot,u=this.vbo,c=this.tickShader,h=this.ticks,f=s.gl,d=s._tickBounds,p=s.dataBox,m=s.viewBox,g=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],b=v[3]-v[1],x=m[2]-m[0],_=m[3]-m[1],w=0;w<2;++w){var M=d[w],A=d[w+2],k=A-M,T=.5*(p[w+2]+p[w]),E=p[w+2]-p[w];e[w]=2*k/E,t[w]=2*(M-T)/E}e[0]*=x/y,t[0]*=x/y,e[1]*=_/b,t[1]*=_/b,c.bind(),u.bind(),c.attributes.dataCoord.pointer();var S=c.uniforms;S.dataShift=t,S.dataScale=e;var L=s.tickMarkLength,C=s.tickMarkWidth,D=s.tickMarkColor,I=6*h[0].length,z=Math.min(l.ge(h[0],(p[0]-d[0])/(d[2]-d[0]),i),h[0].length),P=Math.min(l.gt(h[0],(p[2]-d[0])/(d[2]-d[0]),i),h[0].length),O=0+6*z,R=6*Math.max(0,P-z),F=Math.min(l.ge(h[1],(p[1]-d[1])/(d[3]-d[1]),i),h[1].length),j=Math.min(l.gt(h[1],(p[3]-d[1])/(d[3]-d[1]),i),h[1].length),N=I+6*F,B=6*Math.max(0,j-F);a[0]=2*(m[0]-L[1])/y-1,a[1]=(m[3]+m[1])/b-1,o[0]=L[1]*g/y,o[1]=C[1]*g/b,B&&(S.color=D[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,N,B)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[1]-L[0])/b-1,o[0]=C[0]*g/y,o[1]=L[0]*g/b,R&&(S.color=D[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,O,R)),a[0]=2*(m[2]+L[3])/y-1,a[1]=(m[3]+m[1])/b-1,o[0]=L[3]*g/y,o[1]=C[3]*g/b,B&&(S.color=D[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,N,B)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[3]+L[2])/b-1,o[0]=C[2]*g/y,o[1]=L[2]*g/b,R&&(S.color=D[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,O,R))}}(),c.update=function(){var t=[1,1,-1,-1,1,-1],e=[1,-1,1,1,-1,-1];return function(r){for(var n=r.ticks,i=r.bounds,a=new Float32Array(18*(n[0].length+n[1].length)),o=(this.plot.zeroLineEnable,0),s=[[],[]],l=0;l<2;++l)for(var u=s[l],c=n[l],h=i[l],f=i[l+2],d=0;d<c.length;++d){var p=(c[d].x-h)/(f-h);u.push(p);for(var m=0;m<6;++m)a[o++]=p,a[o++]=t[m],a[o++]=e[m]}this.ticks=s,this.vbo.update(a)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\"./shaders\":190,\"binary-search-bounds\":192,\"gl-buffer\":138,\"gl-shader\":193}],189:[function(t,e,r){\"use strict\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}function i(t){var e=t.gl;return new n(t,a(e,[-1,-1,-1,1,1,-1,1,1]),o(e,s.lineVert,s.lineFrag))}e.exports=i;var a=t(\"gl-buffer\"),o=t(\"gl-shader\"),s=t(\"./shaders\"),l=n.prototype;l.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},l.drawLine=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o,s){var l=this.plot,u=this.shader,c=l.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,u.uniforms.start=t,u.uniforms.end=e,u.uniforms.width=o*l.pixelRatio,u.uniforms.color=s,c.drawArrays(c.TRIANGLE_STRIP,0,4)}}(),l.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":190,\"gl-buffer\":138,\"gl-shader\":193}],190:[function(t,e,r){\"use strict\";var n=\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\";e.exports={lineVert:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 start, end;\\nuniform float width;\\n\\nvec2 perp(vec2 v) {\\n  return vec2(v.y, -v.x);\\n}\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  vec2 delta = normalize(perp(start - end));\\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\\n}\\n\",lineFrag:n,textVert:\"#define GLSLIFY 1\\nattribute vec3 textCoordinate;\\n\\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\\nuniform float angle;\\n\\nvoid main() {\\n  float dataOffset  = textCoordinate.z;\\n  vec2 glyphOffset  = textCoordinate.xy;\\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\\n    glyphMatrix * glyphOffset * textScale + screenOffset;\\n  gl_Position = vec4(screenCoordinate, 0, 1);\\n}\\n\",textFrag:n,gridVert:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale;\\nuniform float lineWidth;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\\n  gl_Position = vec4(pos, 0, 1);\\n}\\n\",gridFrag:n,boxVert:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 lo, hi;\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\\n}\\n\",tickVert:\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\\n}\\n\"}},{}],191:[function(t,e,r){\"use strict\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}function i(t){var e=t.gl;return new n(t,a(e),o(e,u.textVert,u.textFrag))}e.exports=i;var a=t(\"gl-buffer\"),o=t(\"gl-shader\"),s=t(\"text-cache\"),l=t(\"binary-search-bounds\"),u=t(\"./shaders\"),c=n.prototype;c.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],s=this.tickOffset[n],u=i.gl,c=i.viewBox,h=i.dataBox,f=i.screenBox,d=i.pixelRatio,p=i.tickEnable,m=i.tickPad,g=i.tickColor,v=i.tickAngle,y=i.labelEnable,b=i.labelPad,x=i.labelColor,_=i.labelAngle,w=this.labelOffset[n],M=this.labelCount[n],A=l.lt(o,h[n]),k=l.le(o,h[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(c[2+n]+c[n])/(f[2+n]-f[n])-1;var T=2/f[2+(1^n)]-f[1^n];e[1^n]=T*c[1^n]-1,p[n]&&(e[1^n]-=T*d*m[n],A<k&&s[k]>s[A]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],u.drawArrays(u.TRIANGLES,s[A],s[k]-s[A]))),y[n]&&M&&(e[1^n]-=T*d*b[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n],a.uniforms.angle=_[n],u.drawArrays(u.TRIANGLES,w,M)),e[1^n]=T*c[2+(1^n)]-1,p[n+2]&&(e[1^n]+=T*d*m[n+2],A<k&&s[k]>s[A]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],u.drawArrays(u.TRIANGLES,s[A],s[k]-s[A]))),y[n+2]&&M&&(e[1^n]+=T*d*b[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n+2],a.uniforms.angle=_[n+2],u.drawArrays(u.TRIANGLES,w,M))}}(),c.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),c.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var u=0;u<2;++u){var c=a[u],h=a[u+2],f=h-c,d=.5*(o[u+2]+o[u]),p=o[u+2]-o[u],m=l[u],g=l[u+2],v=g-m,y=s[u],b=s[u+2],x=b-y;e[u]=2*f/p*v/x,t[u]=2*(c-d)/p*v/x}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),c.update=function(t){var e,r,n,i,a,o=[],l=t.ticks,u=t.bounds;for(a=0;a<2;++a){var c=[Math.floor(o.length/3)],h=[-(1/0)],f=l[a];for(e=0;e<f.length;++e){var d=f[e],p=d.x,m=d.text,g=d.font||\"sans-serif\";i=d.fontSize||12;for(var v=1/(u[a+2]-u[a]),y=u[a],b=m.split(\"\\n\"),x=0;x<b.length;x++)for(n=s(g,b[x]).data,r=0;r<n.length;r+=2)o.push(n[r]*i,-n[r+1]*i-x*i*1.2,(p-y)*v);c.push(Math.floor(o.length/3)),h.push(p)}this.tickOffset[a]=c,this.tickX[a]=h}for(a=0;a<2;++a){for(this.labelOffset[a]=Math.floor(o.length/3),n=s(t.labelFont[a],t.labels[a],{textAlign:\"center\"}).data,i=t.labelSize[a],e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(o.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(o.length/3),n=s(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(o.length/3)-this.titleOffset,this.vbo.update(o)},c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":190,\"binary-search-bounds\":192,\"gl-buffer\":138,\n\"gl-shader\":193,\"text-cache\":510}],192:[function(t,e,r){arguments[4][74][0].apply(r,arguments)},{dup:74}],193:[function(t,e,r){\"use strict\";function n(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name<e.name?-1:1}function a(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}var o=t(\"./lib/create-uniforms\"),s=t(\"./lib/create-attributes\"),l=t(\"./lib/reflect\"),u=t(\"./lib/shader-cache\"),c=t(\"./lib/runtime-reflect\"),h=t(\"./lib/GLError\"),f=n.prototype;f.bind=function(){this.program||this._relink();var t,e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},f.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function a(){d.program=u.program(p,d._vref,d._fref,_,w);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var f=t;t=f.vertex,e=f.fragment,r=f.uniforms,n=f.attributes}var d=this,p=d.gl,m=d._vref;d._vref=u.shader(p,p.VERTEX_SHADER,t),m&&m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=u.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new h(y,\"Error linking program:\"+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}n=n.slice(),n.sort(i);var b,x=[],_=[],w=[];for(b=0;b<n.length;++b){var M=n[b];if(M.type.indexOf(\"mat\")>=0){for(var A=0|M.type.charAt(M.type.length-1),k=new Array(A),T=0;T<A;++T)k[T]=w.length,_.push(M.name+\"[\"+T+\"]\"),\"number\"==typeof M.location?w.push(M.location+T):Array.isArray(M.location)&&M.location.length===A&&\"number\"==typeof M.location[T]?w.push(0|M.location[T]):w.push(-1);x.push({name:M.name,type:M.type,locations:k})}else x.push({name:M.name,type:M.type,locations:[w.length]}),_.push(M.name),\"number\"==typeof M.location?w.push(0|M.location):w.push(-1)}var E=0;for(b=0;b<w.length;++b)if(w[b]<0){for(;w.indexOf(E)>=0;)E+=1;w[b]=E}var S=new Array(r.length);a(),d._relink=a,d.types={uniforms:l(r),attributes:l(n)},d.attributes=s(p,d,x,w),Object.defineProperty(d,\"uniforms\",o(p,d,r,S))},e.exports=a},{\"./lib/GLError\":194,\"./lib/create-attributes\":195,\"./lib/create-uniforms\":196,\"./lib/reflect\":197,\"./lib/runtime-reflect\":198,\"./lib/shader-cache\":199}],194:[function(t,e,r){function n(t,e,r){this.shortMessage=e||\"\",this.longMessage=r||\"\",this.rawError=t||\"\",this.message=\"gl-shader: \"+(e||t||\"\")+(r?\"\\n\"+r:\"\"),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name=\"GLError\",n.prototype.constructor=n,e.exports=n},{}],195:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}function i(t,e,r,i,a,o,s){for(var l=[\"gl\",\"v\"],u=[],c=0;c<a;++c)l.push(\"x\"+c),u.push(\"x\"+c);l.push(\"if(x0.length===void 0){return gl.vertexAttrib\"+a+\"f(v,\"+u.join()+\")}else{return gl.vertexAttrib\"+a+\"fv(v,x0)}\");var h=Function.apply(null,l),f=new n(t,e,r,i,a,h);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(i[r]),h(t,i[r],e),e},get:function(){return f},enumerable:!0})}function a(t,e,r,n,a,o,s){for(var l=new Array(a),u=new Array(a),c=0;c<a;++c)i(t,e,r[c],n,a,l,c),u[c]=l[c];Object.defineProperty(l,\"location\",{set:function(t){if(Array.isArray(t))for(var e=0;e<a;++e)u[e].location=t[e];else for(var e=0;e<a;++e)u[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e<a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l<a;++l){var u=n[r[l]];t.vertexAttribPointer(u,a,e,i,o,s+l*a),t.enableVertexAttribArray(u)}};var h=new Array(a),f=t[\"vertexAttrib\"+a+\"fv\"];Object.defineProperty(o,s,{set:function(e){for(var i=0;i<a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))f.call(t,o,e[i]);else{for(var s=0;s<a;++s)h[s]=e[a*i+s];f.call(t,o,h)}}return e},get:function(){return l},enumerable:!0})}function o(t,e,r,n){for(var o={},l=0,u=r.length;l<u;++l){var c=r[l],h=c.name,f=c.type,d=c.locations;switch(f){case\"bool\":case\"int\":case\"float\":i(t,e,d[0],n,1,o,h);break;default:if(f.indexOf(\"vec\")>=0){var p=f.charCodeAt(f.length-1)-48;if(p<2||p>4)throw new s(\"\",\"Invalid data type for attribute \"+h+\": \"+f);i(t,e,d[0],n,p,o,h)}else{if(!(f.indexOf(\"mat\")>=0))throw new s(\"\",\"Unknown data type for attribute \"+h+\": \"+f);var p=f.charCodeAt(f.length-1)-48;if(p<2||p>4)throw new s(\"\",\"Invalid data type for attribute \"+h+\": \"+f);a(t,e,d,n,p,o,h)}}}return o}e.exports=o;var s=t(\"./GLError\"),l=n.prototype;l.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},l.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(l,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{\"./GLError\":194}],196:[function(t,e,r){\"use strict\";function n(t){return new Function(\"y\",\"return function(){return y}\")(t)}function i(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function a(t,e,r,a){function l(r){return new Function(\"gl\",\"wrapper\",\"locations\",\"return function(){return gl.getUniform(wrapper.program,locations[\"+r+\"])}\")(t,e,a)}function u(t,e,r){switch(r){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":return\"gl.uniform1i(locations[\"+e+\"],obj\"+t+\")\";case\"float\":return\"gl.uniform1f(locations[\"+e+\"],obj\"+t+\")\";default:var n=r.indexOf(\"vec\");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf(\"mat\")&&4===r.length){var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new s(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+r);return\"gl.uniformMatrix\"+i+\"fv(locations[\"+e+\"],false,obj\"+t+\")\"}throw new s(\"\",\"Unknown uniform data type for \"+name+\": \"+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new s(\"\",\"Invalid data type\");switch(r.charAt(0)){case\"b\":case\"i\":return\"gl.uniform\"+i+\"iv(locations[\"+e+\"],obj\"+t+\")\";case\"v\":return\"gl.uniform\"+i+\"fv(locations[\"+e+\"],obj\"+t+\")\";default:throw new s(\"\",\"Unrecognized data type for vector \"+name+\": \"+r)}}}function c(t,e){if(\"object\"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;a+=parseInt(n)+\"\"===n?\"[\"+n+\"]\":\".\"+n,\"object\"==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function h(e){for(var n=[\"return function updateProperty(obj){\"],i=c(\"\",e),o=0;o<i.length;++o){var s=i[o],l=s[0],h=s[1];a[h]&&n.push(u(l,h,r[h].type))}return n.push(\"return obj}\"),new Function(\"gl\",\"locations\",n.join(\"\\n\"))(t,a)}function f(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new s(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?i(r,!1):i(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new s(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return i(r*r,0)}throw new s(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}function d(t,e,i){if(\"object\"==typeof i){var o=p(i);Object.defineProperty(t,e,{get:n(o),set:h(i),enumerable:!0,configurable:!1})}else a[i]?Object.defineProperty(t,e,{get:l(i),set:h(i),enumerable:!0,configurable:!1}):t[e]=f(r[i].type)}function p(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)d(e,r,t[r])}else{e={};for(var n in t)d(e,n,t[n])}return e}var m=o(r,!0);return{get:n(p(m)),set:h(m),enumerable:!0,configurable:!0}}var o=t(\"./reflect\"),s=t(\"./GLError\");e.exports=a},{\"./GLError\":194,\"./reflect\":197}],197:[function(t,e,r){\"use strict\";function n(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\".\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\"[\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var u=1;u<l.length;++u){var c=parseInt(l[u]);u<l.length-1||s<a.length-1?(c in o||(u<l.length-1?o[c]=[]:o[c]={}),o=o[c]):o[c]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}e.exports=n},{}],198:[function(t,e,r){\"use strict\";function n(t,e){if(!s){var r=Object.keys(o);s={};for(var n=0;n<r.length;++n){var i=r[n];s[t[i]]=o[i]}}return s[e]}function i(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),i=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=n(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)i.push({name:o.name.replace(\"[0]\",\"[\"+l+\"]\"),type:s});else i.push({name:o.name,type:s})}}return i}function a(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&i.push({name:o.name,type:n(t,o.type)})}return i}r.uniforms=i,r.attributes=a;var o={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},s=null},{}],199:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function i(t){this.gl=t,this.shaders=[{},{}],this.programs={}}function a(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=h(i,r,e)}catch(t){throw console.warn(\"Failed to format compiler error: \"+t),new c(i,\"Error compiling shader:\\n\"+i)}throw new c(i,a.short,a.long)}return n}function o(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var o=0;o<n.length;++o)t.bindAttribLocation(a,i[o],n[o]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var s=t.getProgramInfoLog(a);throw new c(s,\"Error linking program: \"+s)}return a}function s(t){var e=d.get(t);return e||(e=new i(t),d.set(t,e)),e}function l(t,e,r){return s(t).getShaderReference(e,r)}function u(t,e,r,n,i){return s(t).getProgram(e,r,n,i)}r.shader=l,r.program=u;var c=t(\"./GLError\"),h=t(\"gl-format-compiler-error\"),f=\"undefined\"==typeof WeakMap?t(\"weakmap-shim\"):WeakMap,d=new f,p=0;n.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var m=i.prototype;m.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],o=i[e];if(o&&r.isShader(o.shader))o.count+=1;else{var s=a(r,t,e);o=i[e]=new n(p++,e,t,s,[],1,this)}return o},m.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(\":\"),n.join(\":\")].join(\"@\"),a=this.programs[i];return a&&this.gl.isProgram(a)||(this.programs[i]=a=o(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a}},{\"./GLError\":194,\"gl-format-compiler-error\":146,\"weakmap-shim\":540}],200:[function(t,e,r){\"use strict\";function n(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-(1/0),-(1/0)],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}function i(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function a(t,e){return t.x-e.x}function o(t){var e=t.gl,r=s(e,[e.drawingBufferWidth,e.drawingBufferHeight]),i=new n(e,r);return i.grid=l(i),i.text=u(i),i.line=c(i),i.box=h(i),i.update(t),i}e.exports=o;var s=t(\"gl-select-static\"),l=t(\"./lib/grid\"),u=t(\"./lib/text\"),c=t(\"./lib/line\"),h=t(\"./lib/box\"),f=n.prototype;f.setDirty=function(){this.dirty=this.pickDirty=!0},f.setOverlayDirty=function(){this.dirty=!0},f.nextDepthValue=function(){return this._depthCounter++/65536},f.draw=function(){return function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var u=this.borderColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT),t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var c=this.backgroundColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var h=this.zeroLineEnable,f=this.zeroLineColor,d=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var p=0;p<2;++p)if(h[p]&&n[p]<=0&&n[p+2]>=0){var m=e[p]-n[p]*(e[p+2]-e[p])/(n[p+2]-n[p]);0===p?o.drawLine(m,e[1],m,e[3],d[p],f[p]):o.drawLine(e[0],m,e[2],m,d[p],f[p])}}for(var p=0;p<l.length;++p)l[p].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var g=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;g[1]&&o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),g[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),g[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),g[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind();for(var p=0;p<2;++p)s.drawTicks(p);this.titleEnable&&s.drawTitle();for(var b=this.overlays,p=0;p<b.length;++p)b[p].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}}}(),f.drawPick=function(){return function(){if(!this.static){var t=this.pickBuffer;this.gl;this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}}}(),f.pick=function(){return function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),u=this.objects,c=0;c<u.length;++c){var h=u[c].pick(a,o,l);if(h)return h}return null}}}(),f.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},f.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},f.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},f.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,o=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/o,10,10/o]),this.borderColor=(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=i(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=i(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=i(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!(\"titleEnable\"in t&&!t.titleEnable),this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=i(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=i(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=i(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var s=t.ticks||[[],[]],l=this._tickBounds;l[0]=l[1]=1/0,l[2]=l[3]=-(1/0);for(var u=0;u<2;++u){var c=s[u].slice(0);0!==c.length&&(c.sort(a),l[u]=Math.min(l[u],c[0].x),l[u+2]=Math.max(l[u+2],c[c.length-1].x))}this.grid.update({bounds:l,ticks:s}),this.text.update({bounds:l,ticks:s,labels:t.labels||[\"x\",\"y\"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[\"sans-serif\",\"sans-serif\"],title:t.title||\"\",titleSize:t.titleSize||18,titleFont:t.titleFont||\"sans-serif\"}),this.static=!!t.static,this.setDirty()},f.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(var t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},f.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},f.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},f.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},f.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{\"./lib/box\":187,\"./lib/grid\":188,\"./lib/line\":189,\"./lib/text\":191,\"gl-select-static\":236}],201:[function(t,e,r){var n=t(\"gl-shader\");e.exports=function(t){return n(t,\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n  uv = position;\\n  gl_Position = vec4(position, 0, 1);\\n}\",\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n  gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\",null,[{name:\"position\",type:\"vec2\"}])}},{\"gl-shader\":237}],202:[function(t,e,r){\"use strict\";function n(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function i(t,e){var r=null;try{r=t.getContext(\"webgl\",e),r||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}function a(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){var r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function o(t){return\"boolean\"!=typeof t||t}function s(t){function e(){if(!w&&G.autoResize){var t=M.parentNode,e=1,r=1;t&&t!==document.body?(e=t.clientWidth,r=t.clientHeight):(e=window.innerWidth,r=window.innerHeight);var n=0|Math.ceil(e*G.pixelRatio),i=0|Math.ceil(r*G.pixelRatio);if(n!==M.width||i!==M.height){M.width=n,M.height=i;var a=M.style;a.position=a.position||\"absolute\",a.left=\"0px\",a.top=\"0px\",a.width=e+\"px\",a.height=r+\"px\",N=!0}}}function r(){for(var t=O.length,e=j.length,r=0;r<e;++r)F[r]=0;t:for(var r=0;r<t;++r){var n=O[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(F[a]+i<255){R[r]=a,n.setPickBase(F[a]+1),F[a]+=i;continue t}var o=f(k,q);R[r]=e,j.push(o),F.push(i),n.setPickBase(1),e+=1}else R[r]=-1}for(;e>0&&0===F[e-1];)F.pop(),j.pop().dispose()}function s(){if(G.contextLost)return!0;k.isContextLost()&&(G.contextLost=!0,G.mouseListener.enabled=!1,G.selection.object=null,G.oncontextloss&&G.oncontextloss())}function b(){if(!s()){k.colorMask(!0,!0,!0,!0),k.depthMask(!0),k.disable(k.BLEND),k.enable(k.DEPTH_TEST);for(var t=O.length,e=j.length,r=0;r<e;++r){var n=j[r];n.shape=Y,n.begin();for(var i=0;i<t;++i)if(R[i]===r){var a=O[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(H))}n.end()}}}function x(){if(!s()){e();var t=G.camera.tick();H.view=G.camera.matrix,N=N||t,B=B||t,I.pixelRatio=G.pixelRatio,P.pixelRatio=G.pixelRatio;var r=O.length,n=Z[0],i=Z[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-(1/0);for(var o=0;o<r;++o){var l=O[o];l.pixelRatio=G.pixelRatio,l.axes=G.axes,N=N||!!l.dirty,B=B||!!l.dirty;var u=l.bounds;if(u)for(var h=u[0],f=u[1],d=0;d<3;++d)n[d]=Math.min(n[d],h[d]),i[d]=Math.max(i[d],f[d])}var m=G.bounds;if(G.autoBounds)for(var d=0;d<3;++d){if(i[d]<n[d])n[d]=-1,i[d]=1;else{n[d]===i[d]&&(n[d]-=1,i[d]+=1);var v=.05*(i[d]-n[d]);n[d]=n[d]-v,i[d]=i[d]+v}m[0][d]=n[d],m[1][d]=i[d]}for(var y=!1,d=0;d<3;++d)y=y||J[0][d]!==m[0][d]||J[1][d]!==m[1][d],J[0][d]=m[0][d],J[1][d]=m[1][d];if(y){for(var x=[0,0,0],o=0;o<3;++o)x[o]=a((m[1][o]-m[0][o])/10);I.autoTicks?I.update({bounds:m,tickSpacing:x}):I.update({bounds:m})}B=B||y,N=N||y;var _=k.drawingBufferWidth,w=k.drawingBufferHeight;q[0]=_,q[1]=w,Y[0]=0|Math.max(_/G.pixelRatio,1),Y[1]=0|Math.max(w/G.pixelRatio,1),g(U,G.fovy,_/w,G.zNear,G.zFar);for(var o=0;o<16;++o)V[o]=0;V[15]=1;for(var M=0,o=0;o<3;++o)M=Math.max(M,m[1][o]-m[0][o]);for(var o=0;o<3;++o)G.autoScale?V[5*o]=G.aspect[o]/(m[1][o]-m[0][o]):V[5*o]=1/M,G.autoCenter&&(V[12+o]=.5*-V[5*o]*(m[0][o]+m[1][o]));for(var o=0;o<r;++o){var l=O[o];l.axesBounds=m,G.clipToBounds&&(l.clipBounds=m)}if(E.object&&(G.snapToData?P.position=E.dataCoordinate:P.position=E.dataPosition,P.bounds=m),B&&(B=!1,b()),N){G.axesPixels=c(G.axes,H,_,w),G.onrender&&G.onrender(),k.bindFramebuffer(k.FRAMEBUFFER,null),k.viewport(0,0,_,w);var A=G.clearColor;k.clearColor(A[0],A[1],A[2],A[3]),k.clear(k.COLOR_BUFFER_BIT|k.DEPTH_BUFFER_BIT),k.depthMask(!0),k.colorMask(!0,!0,!0,!0),k.enable(k.DEPTH_TEST),k.depthFunc(k.LEQUAL),k.disable(k.BLEND),k.disable(k.CULL_FACE);var T=!1;I.enable&&(T=T||I.isTransparent(),I.draw(H)),P.axes=I,E.object&&P.draw(H),k.disable(k.CULL_FACE);for(var o=0;o<r;++o){var l=O[o];l.axes=I,l.pixelRatio=G.pixelRatio,l.isOpaque&&l.isOpaque()&&l.draw(H),l.isTransparent&&l.isTransparent()&&(T=!0)}if(T){S.shape=q,S.bind(),k.clear(k.DEPTH_BUFFER_BIT),k.colorMask(!1,!1,!1,!1),k.depthMask(!0),k.depthFunc(k.LESS),I.enable&&I.isTransparent()&&I.drawTransparent(H);for(var o=0;o<r;++o){var l=O[o];l.isOpaque&&l.isOpaque()&&l.draw(H)}k.enable(k.BLEND),k.blendEquation(k.FUNC_ADD),k.blendFunc(k.ONE,k.ONE_MINUS_SRC_ALPHA),k.colorMask(!0,!0,!0,!0),k.depthMask(!1),k.clearColor(0,0,0,0),k.clear(k.COLOR_BUFFER_BIT),I.isTransparent()&&I.drawTransparent(H);for(var o=0;o<r;++o){var l=O[o];l.isTransparent&&l.isTransparent()&&l.drawTransparent(H)}k.bindFramebuffer(k.FRAMEBUFFER,null),k.blendFunc(k.ONE,k.ONE_MINUS_SRC_ALPHA),k.disable(k.DEPTH_TEST),L.bind(),S.color[0].bind(0),L.uniforms.accumBuffer=0,p(k),k.disable(k.BLEND)}N=!1;for(var o=0;o<r;++o)O[o].dirty=!1}}}function _(){w||G.contextLost||(requestAnimationFrame(_),x())}t=t||{};var w=!1,M=(t.pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!M)if(M=document.createElement(\"canvas\"),t.container){var A=t.container;A.appendChild(M)}else document.body.appendChild(M);var k=t.gl;if(k||(k=i(M,t.glOptions||{premultipliedAlpha:!0,antialias:!0})),!k)throw new Error(\"webgl not supported\");var T=t.bounds||[[-10,-10,-10],[10,10,10]],E=new n,S=d(k,[k.drawingBufferWidth,k.drawingBufferHeight],{preferFloat:!y}),L=v(k),C=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\"turntable\"},D=t.axes||{},I=u(k,D);I.enable=!D.disable;var z=t.spikes||{},P=h(k,z),O=[],R=[],F=[],j=[],N=!0,B=!0,U=new Array(16),V=new Array(16),H={view:null,projection:U,model:V},B=!0,q=[k.drawingBufferWidth,k.drawingBufferHeight],G={gl:k,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:M,selection:E,camera:l(M,C),axes:I,axesPixels:null,spikes:P,bounds:T,objects:O,shape:q,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:o(t.autoResize),autoBounds:o(t.autoBounds),autoScale:!!t.autoScale,autoCenter:o(t.autoCenter),clipToBounds:o(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:H,oncontextloss:null,mouseListener:null},Y=[k.drawingBufferWidth/G.pixelRatio|0,k.drawingBufferHeight/G.pixelRatio|0];G.autoResize&&e(),window.addEventListener(\"resize\",e),G.update=function(t){w||(t=t||{},N=!0,B=!0)},G.add=function(t){w||(t.axes=I,O.push(t),R.push(-1),N=!0,B=!0,r())},G.remove=function(t){if(!w){var e=O.indexOf(t);e<0||(O.splice(e,1),R.pop(),N=!0,B=!0,r())}},G.dispose=function(){if(!w&&(w=!0,window.removeEventListener(\"resize\",e),M.removeEventListener(\"webglcontextlost\",s),G.mouseListener.enabled=!1,!G.contextLost)){I.dispose(),P.dispose();for(var t=0;t<O.length;++t)O[t].dispose();S.dispose();for(var t=0;t<j.length;++t)j[t].dispose();L.dispose(),k=null,I=null,P=null,O=[]}};var X=!1,W=0;G.mouseListener=m(M,function(t,e,r){if(!w){var n=j.length,i=O.length,a=E.object;E.distance=1/0,E.mouse[0]=e,E.mouse[1]=r,E.object=null,E.screen=null,E.dataCoordinate=E.dataPosition=null;var o=!1;if(t&&W)X=!0;else{X&&(B=!0),X=!1;for(var s=0;s<n;++s){var l=j[s].query(e,Y[1]-r-1,G.pickRadius);if(l){if(l.distance>E.distance)continue;for(var u=0;u<i;++u){var c=O[u];if(R[u]===s){var h=c.pick(l);h&&(E.buttons=t,E.screen=l.coord,E.distance=l.distance,E.object=c,E.index=h.distance,E.dataPosition=h.position,E.dataCoordinate=h.dataCoordinate,E.data=h,o=!0)}}}}}a&&a!==E.object&&(a.highlight&&a.highlight(null),N=!0),E.object&&(E.object.highlight&&E.object.highlight(E.data),N=!0),o=o||E.object!==a,o&&G.onselect&&G.onselect(E),1&t&&!(1&W)&&G.onclick&&G.onclick(E),W=t}}),M.addEventListener(\"webglcontextlost\",s);var Z=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],J=[Z[0].slice(),Z[1].slice()];return _(),G.redraw=function(){w||(N=!0,x())},G}e.exports=s;var l=t(\"3d-view-controls\"),u=t(\"gl-axes3d\"),c=t(\"gl-axes3d/properties\"),h=t(\"gl-spikes3d\"),f=t(\"gl-select-static\"),d=t(\"gl-fbo\"),p=t(\"a-big-triangle\"),m=t(\"mouse-change\"),g=t(\"gl-mat4/perspective\"),v=t(\"./lib/shader\"),y=t(\"is-mobile\")()},{\"./lib/shader\":201,\"3d-view-controls\":29,\"a-big-triangle\":31,\"gl-axes3d\":130,\"gl-axes3d/properties\":137,\"gl-fbo\":145,\"gl-mat4/perspective\":165,\"gl-select-static\":236,\"gl-spikes3d\":246,\"is-mobile\":276,\"mouse-change\":432}],203:[function(t,e,r){r.pointVertex=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform float pointCloud;\\n\\nhighp float rand(vec2 co) {\\n  highp float a = 12.9898;\\n  highp float b = 78.233;\\n  highp float c = 43758.5453;\\n  highp float d = dot(co.xy, vec2(a, b));\\n  highp float e = mod(d, 3.14);\\n  return fract(sin(e) * c);\\n}\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n    // if we don't jitter the point size a bit, overall point cloud\\n    // saturation 'jumps' on zooming, which is disturbing and confusing\\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    // get the same square surface as circle would be\\n    gl_PointSize *= 0.886;\\n  }\\n}\",r.pointFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\nuniform float pointCloud;\\n\\nvoid main() {\\n  float radius;\\n  vec4 baseColor;\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    if(centerFraction == 1.0) {\\n      gl_FragColor = color;\\n    } else {\\n      gl_FragColor = mix(borderColor, color, centerFraction);\\n    }\\n  } else {\\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n    if(radius > 1.0) {\\n      discard;\\n    }\\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n  }\\n}\\n\",r.pickVertex=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n  gl_PointSize = pointSize;\\n\\n  vec4 id = pickId + pickOffset;\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  fragId = id;\\n}\\n\",r.pickFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  gl_FragColor = fragId / 255.0;\\n}\\n\"},{}],204:[function(t,e,r){arguments[4][193][0].apply(r,arguments)},{\"./lib/GLError\":205,\"./lib/create-attributes\":206,\"./lib/create-uniforms\":207,\"./lib/reflect\":208,\"./lib/runtime-reflect\":209,\"./lib/shader-cache\":210,dup:193}],205:[function(t,e,r){arguments[4][194][0].apply(r,arguments)},{dup:194}],206:[function(t,e,r){arguments[4][195][0].apply(r,arguments)},{\"./GLError\":205,dup:195}],207:[function(t,e,r){arguments[4][196][0].apply(r,arguments)},{\"./GLError\":205,\"./reflect\":208,dup:196}],208:[function(t,e,r){arguments[4][197][0].apply(r,arguments)},{dup:197}],209:[function(t,e,r){arguments[4][198][0].apply(r,arguments)},{dup:198}],210:[function(t,e,r){arguments[4][199][0].apply(r,arguments)},{\"./GLError\":205,dup:199,\"gl-format-compiler-error\":146,\"weakmap-shim\":540}],211:[function(t,e,r){\"use strict\"\n;function n(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}function i(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}function a(t,e){var r=t.gl,i=s(r),a=s(r),l=o(r,u.pointVertex,u.pointFragment),c=o(r,u.pickVertex,u.pickFragment),h=new n(t,i,a,l,c);return h.update(e),t.addObject(h),h}var o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"typedarray-pool\"),u=t(\"./lib/shader\");e.exports=a;var c=n.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){function e(e,r){return e in t?t[e]:r}var r;t=t||{},this.sizeMin=e(\"sizeMin\",.5),this.sizeMax=e(\"sizeMax\",20),this.color=e(\"color\",[1,0,0,1]).slice(),this.areaRatio=e(\"areaRatio\",1),this.borderColor=e(\"borderColor\",[0,0,0,1]).slice(),this.blend=e(\"blend\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,o=t.positions,s=i?o:l.mallocFloat32(o.length),u=a?t.idToIndex:l.mallocInt32(n);if(i||s.set(o),!a)for(s.set(o),r=0;r<n;r++)u[r]=r;this.points=o,this.offsetBuffer.update(s),this.pickBuffer.update(u),i||l.free(s),a||l.free(u),this.pointCount=n,this.pickOffset=0},c.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,a=n?this.pickShader:this.shader,o=this.plot.gl,s=this.plot.dataBox;if(0===this.pointCount)return r;var l=s[2]-s[0],u=s[3]-s[1],c=i(this.points,s),h=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(c,.33333)));t[0]=2/l,t[4]=2/u,t[6]=-2*s[0]/l-1,t[7]=-2*s[1]/u-1,this.offsetBuffer.bind(),a.bind(),a.attributes.position.pointer(),a.uniforms.matrix=t,a.uniforms.color=this.color,a.uniforms.borderColor=this.borderColor,a.uniforms.pointCloud=h<5,a.uniforms.pointSize=h,a.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&&(e[0]=255&r,e[1]=r>>8&255,e[2]=r>>16&255,e[3]=r>>24&255,this.pickBuffer.bind(),a.attributes.pickId.pointer(o.UNSIGNED_BYTE),a.uniforms.pickOffset=e,this.pickOffset=r);var f=o.getParameter(o.BLEND),d=o.getParameter(o.DITHER);return f&&!this.blend&&o.disable(o.BLEND),d&&o.disable(o.DITHER),o.drawArrays(o.POINTS,0,this.pointCount),f&&!this.blend&&o.enable(o.BLEND),d&&o.enable(o.DITHER),r+this.pointCount}}(),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\"./lib/shader\":203,\"gl-buffer\":138,\"gl-shader\":204,\"typedarray-pool\":519}],212:[function(t,e,r){function n(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],d=r[0],p=r[1],m=r[2],g=r[3];return a=u*d+c*p+h*m+f*g,a<0&&(a=-a,d=-d,p=-p,m=-m,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*h+l*m,t[3]=s*f+l*g,t}e.exports=n},{}],213:[function(t,e,r){\"use strict\";e.exports={vertex:\"precision highp float;\\n#define GLSLIFY 1\\n\\n\\nvec4 computePosition_1_0(vec2 posHi, vec2 posLo, vec2 scHi, vec2 scLo, vec2 trHi, vec2 trLo) {\\n  return vec4((posHi + trHi) * scHi\\n  \\t\\t\\t//FIXME: this thingy does not give noticeable precision gain, need test\\n            + (posLo + trLo) * scHi\\n            + (posHi + trHi) * scLo\\n            + (posLo + trLo) * scLo\\n            , 0, 1);\\n}\\n\\n\\nattribute vec2 positionHi, positionLo;\\nattribute float size, border;\\nattribute vec2 char, color;\\n\\n//this is 64-bit form of scale and translate\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\nuniform float pixelRatio;\\nuniform vec4 viewBox;\\nuniform sampler2D palette;\\n\\nvarying vec4 charColor, borderColor;\\nvarying vec2 charId;\\nvarying vec2 pointCoord;\\nvarying float pointSize;\\nvarying float borderWidth;\\n\\n\\nvoid main() {\\n  charColor = texture2D(palette, vec2(color.x / 255., 0));\\n  borderColor = texture2D(palette, vec2(color.y / 255., 0));\\n\\n  gl_PointSize = size * pixelRatio;\\n  pointSize = size * pixelRatio;\\n\\n  charId = char;\\n  borderWidth = border;\\n\\n  gl_Position = computePosition_1_0(\\n    positionHi, positionLo,\\n    scaleHi, scaleLo,\\n    translateHi, translateLo);\\n\\n  pointCoord = viewBox.xy + (viewBox.zw - viewBox.xy) * (gl_Position.xy * .5 + .5);\\n}\\n\",fragment:\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D chars;\\nuniform vec2 charsShape;\\nuniform float charsStep, pixelRatio, charOffset;\\n\\nvarying vec4 borderColor;\\nvarying vec4 charColor;\\nvarying vec2 charId;\\nvarying vec2 pointCoord;\\nvarying float pointSize;\\nvarying float borderWidth;\\n\\nvoid main() {\\n\\tvec2 pointUV = (pointCoord - gl_FragCoord.xy + pointSize * .5) / pointSize;\\n\\tpointUV.x = 1. - pointUV.x;\\n\\tpointUV.y += charOffset;\\n\\tvec2 texCoord = ((charId + pointUV) * charsStep) / charsShape;\\n\\tfloat dist = texture2D(chars, texCoord).r;\\n\\n\\t//max-distance alpha\\n\\tif (dist < 1e-2)\\n\\t\\tdiscard;\\n\\n\\tfloat dif = 5. * pixelRatio * borderWidth / pointSize;\\n\\tfloat borderLevel = .748 - dif * .5;\\n\\tfloat charLevel = .748 + dif * .5;\\n\\tfloat gamma = .005 * charsStep / pointSize;\\n\\n\\tfloat borderAmt = smoothstep(borderLevel - gamma, borderLevel + gamma, dist);\\n\\tfloat charAmt = smoothstep(charLevel - gamma, charLevel + gamma, dist);\\n\\n\\tvec4 color = borderColor;\\n\\tcolor.a *= borderAmt;\\n\\n\\tgl_FragColor = mix(color, charColor, charAmt);\\n}\\n\",pickVertex:\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 positionHi, positionLo;\\nattribute vec4 id;\\nattribute float size;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\nuniform vec4 pickOffset;\\nuniform float pixelRatio;\\n\\nvarying vec4 fragColor;\\n\\n\\nvec4 computePosition_1_0(vec2 posHi, vec2 posLo, vec2 scHi, vec2 scLo, vec2 trHi, vec2 trLo) {\\n  return vec4((posHi + trHi) * scHi\\n  \\t\\t\\t//FIXME: this thingy does not give noticeable precision gain, need test\\n            + (posLo + trLo) * scHi\\n            + (posHi + trHi) * scLo\\n            + (posLo + trLo) * scLo\\n            , 0, 1);\\n}\\n\\n\\nvoid main() {\\n  vec4 fragId = id + pickOffset;\\n\\n  fragId.y += floor(fragId.x / 256.0);\\n  fragId.x -= floor(fragId.x / 256.0) * 256.0;\\n\\n  fragId.z += floor(fragId.y / 256.0);\\n  fragId.y -= floor(fragId.y / 256.0) * 256.0;\\n\\n  fragId.w += floor(fragId.z / 256.0);\\n  fragId.z -= floor(fragId.z / 256.0) * 256.0;\\n\\n  fragColor = fragId / 255.0;\\n\\n  gl_PointSize = size * .25 * pixelRatio;\\n\\n  gl_Position = computePosition_1_0(\\n    positionHi, positionLo,\\n    scaleHi, scaleLo,\\n    translateHi, translateLo);\\n}\\n\",pickFragment:\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\\n\"}},{}],214:[function(t,e,r){arguments[4][74][0].apply(r,arguments)},{dup:74}],215:[function(t,e,r){arguments[4][193][0].apply(r,arguments)},{\"./lib/GLError\":216,\"./lib/create-attributes\":217,\"./lib/create-uniforms\":218,\"./lib/reflect\":219,\"./lib/runtime-reflect\":220,\"./lib/shader-cache\":221,dup:193}],216:[function(t,e,r){arguments[4][194][0].apply(r,arguments)},{dup:194}],217:[function(t,e,r){arguments[4][195][0].apply(r,arguments)},{\"./GLError\":216,dup:195}],218:[function(t,e,r){arguments[4][196][0].apply(r,arguments)},{\"./GLError\":216,\"./reflect\":219,dup:196}],219:[function(t,e,r){arguments[4][197][0].apply(r,arguments)},{dup:197}],220:[function(t,e,r){arguments[4][198][0].apply(r,arguments)},{dup:198}],221:[function(t,e,r){arguments[4][199][0].apply(r,arguments)},{\"./GLError\":216,dup:199,\"gl-format-compiler-error\":146,\"weakmap-shim\":540}],222:[function(t,e,r){\"use strict\";function n(t){v=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],y=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],b=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function i(t){return\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&t instanceof ImageData}function a(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function o(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}function s(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function l(t,e,r,n,i,a,o,l){var u=l.dtype,c=l.shape.slice();if(c.length<2||c.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var h=0,f=0,d=s(c,l.stride.slice());\"float32\"===u?h=t.FLOAT:\"float64\"===u?(h=t.FLOAT,d=!1,u=\"float32\"):\"uint8\"===u?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,d=!1,u=\"uint8\");if(2===c.length)f=t.LUMINANCE,c=[c[0],c[1],1],l=p(l.data,c,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==c.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===c[2])f=t.ALPHA;else if(2===c[2])f=t.LUMINANCE_ALPHA;else if(3===c[2])f=t.RGB;else{if(4!==c[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");f=t.RGBA}c[2]}if(f!==t.LUMINANCE&&f!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(f=i),f!==i)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var v=l.size,y=o.indexOf(n)<0;if(y&&o.push(n),h===a&&d)0===l.offset&&l.data.length===v?y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data):y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data.subarray(l.offset,l.offset+v)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data.subarray(l.offset,l.offset+v));else{var b;b=a===t.FLOAT?g.mallocFloat32(v):g.mallocUint8(v);var _=p(b,c,[c[2],c[2]*c[0],1]);h===t.FLOAT&&a===t.UNSIGNED_BYTE?x(_,l):m.assign(_,l),y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,b.subarray(0,v)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,b.subarray(0,v)),a===t.FLOAT?g.freeFloat32(b):g.freeUint8(b)}}function u(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function c(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var s=u(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new o(t,s,e,r,n,i)}function h(t,e,r,n,i,a){var s=u(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new o(t,s,r,n,i,a)}function f(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]<0||n[0]>i||n[1]<0||n[1]>i)throw new Error(\"gl-texture2d: Invalid texture size\");var a=s(n,e.stride.slice()),l=0;\"float32\"===r?l=t.FLOAT:\"float64\"===r?(l=t.FLOAT,a=!1,r=\"float32\"):\"uint8\"===r?l=t.UNSIGNED_BYTE:(l=t.UNSIGNED_BYTE,a=!1,r=\"uint8\");var c=0;if(2===n.length)c=t.LUMINANCE,n=[n[0],n[1],1],e=p(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===n[2])c=t.ALPHA;else if(2===n[2])c=t.LUMINANCE_ALPHA;else if(3===n[2])c=t.RGB;else{if(4!==n[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");c=t.RGBA}}l!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(l=t.UNSIGNED_BYTE,a=!1);var h,f,d=e.size;if(a)h=0===e.offset&&e.data.length===d?e.data:e.data.subarray(e.offset,e.offset+d);else{var v=[n[2],n[2]*n[0],1];f=g.malloc(d,r);var y=p(f,n,v,0);\"float32\"!==r&&\"float64\"!==r||l!==t.UNSIGNED_BYTE?m.assign(y,e):x(y,e),h=f.subarray(0,d)}var b=u(t);return t.texImage2D(t.TEXTURE_2D,0,c,n[0],n[1],0,c,l,h),a||g.free(f),new o(t,b,n[0],n[1],c,l)}function d(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(v||n(t),\"number\"==typeof arguments[1])return c(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return c(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(\"object\"==typeof arguments[1]){var e=arguments[1],r=i(e)?e:e.raw;if(r)return h(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return f(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}var p=t(\"ndarray\"),m=t(\"ndarray-ops\"),g=t(\"typedarray-pool\");e.exports=d;var v=null,y=null,b=null,x=function(t,e){m.muls(t,e,255)},_=o.prototype;Object.defineProperties(_,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&v.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),y.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&v.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),y.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),b.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),b.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(b.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return a(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,a(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,a(this,this._shape[0],t),t}}}),_.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},_.dispose=function(){this.gl.deleteTexture(this.handle)},_.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},_.setPixels=function(t,e,r,n){var a=this.gl;this.bind(),Array.isArray(e)?(n=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),n=n||0;var o=i(t)?t:t.raw;if(o){this._mipLevels.indexOf(n)<0?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,o),this._mipLevels.push(n)):a.texSubImage2D(a.TEXTURE_2D,n,e,r,this.format,this.type,o)}else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>n||r+t.shape[0]>this._shape[0]>>>n||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");l(a,e,r,n,this.format,this.type,this._mipLevels,t)}}},{ndarray:447,\"ndarray-ops\":441,\"typedarray-pool\":519}],223:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){a<=4*f?i(0,a-1,t,e,r,n):h(0,a-1,t,e,r,n)}function i(t,e,r,n,i,a){for(var o=t+1;o<=e;++o){for(var s=r[o],l=n[2*o],u=n[2*o+1],c=i[o],h=a[o],f=o;f>t;){var d=r[f-1],p=n[2*(f-1)];if((d-s||l-p)>=0)break;r[f]=d,n[2*f]=p,n[2*f+1]=n[2*f-1],i[f]=i[f-1],a[f]=a[f-1],f-=1}r[f]=s,n[2*f]=l,n[2*f+1]=u,i[f]=c,a[f]=h}}function a(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],u=i[t],c=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=u,a[e]=c}function o(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function s(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],u=i[2*t+1],c=a[t],h=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=u,a[r]=c,o[r]=h}function l(t,e,r,n,i,a,o,s,l,u,c){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],u[t]=u[e],c[t]=c[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,u[e]=a,c[e]=o}function u(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])<0}function c(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])<0}function h(t,e,r,n,d,p){var m=(e-t+1)/6|0,g=t+m,v=e-m,y=t+e>>1,b=y-m,x=y+m,_=g,w=b,M=y,A=x,k=v,T=t+1,E=e-1,S=0;u(_,w,r,n,d,p)&&(S=_,_=w,w=S),u(A,k,r,n,d,p)&&(S=A,A=k,k=S),u(_,M,r,n,d,p)&&(S=_,_=M,M=S),u(w,M,r,n,d,p)&&(S=w,w=M,M=S),u(_,A,r,n,d,p)&&(S=_,_=A,A=S),u(M,A,r,n,d,p)&&(S=M,M=A,A=S),u(w,k,r,n,d,p)&&(S=w,w=k,k=S),u(w,M,r,n,d,p)&&(S=w,w=M,M=S),u(A,k,r,n,d,p)&&(S=A,A=k,k=S);var L=r[w],C=n[2*w],D=n[2*w+1],I=d[w],z=p[w],P=r[A],O=n[2*A],R=n[2*A+1],F=d[A],j=p[A],N=_,B=M,U=k,V=g,H=y,q=v,G=r[N],Y=r[B],X=r[U];r[V]=G,r[H]=Y,r[q]=X;for(var W=0;W<2;++W){var Z=n[2*N+W],J=n[2*B+W],K=n[2*U+W];n[2*V+W]=Z,n[2*H+W]=J,n[2*q+W]=K}var Q=d[N],$=d[B],tt=d[U];d[V]=Q,d[H]=$,d[q]=tt;var et=p[N],rt=p[B],nt=p[U];p[V]=et,p[H]=rt,p[q]=nt,o(b,t,r,n,d,p),o(x,e,r,n,d,p);for(var it=T;it<=E;++it)if(c(it,L,C,D,I,r,n,d))it!==T&&a(it,T,r,n,d,p),++T;else if(!c(it,P,O,R,F,r,n,d))for(;;){if(c(E,P,O,R,F,r,n,d)){c(E,L,C,D,I,r,n,d)?(s(it,T,E,r,n,d,p),++T,--E):(a(it,E,r,n,d,p),--E);break}if(--E<it)break}l(t,T-1,L,C,D,I,z,r,n,d,p),l(e,E+1,P,O,R,F,j,r,n,d,p),T-2-t<=f?i(t,T-2,r,n,d,p):h(t,T-2,r,n,d,p),e-(E+2)<=f?i(E+2,e,r,n,d,p):h(E+2,e,r,n,d,p),E-T<=f?i(T,E,r,n,d,p):h(T,E,r,n,d,p)}e.exports=n;var f=32},{}],224:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s){for(var l=r,u=r;u<n;++u){var c=t[2*u],h=t[2*u+1],f=e[u];i<=c&&c<=o&&a<=h&&h<=s&&(u===l?l+=1:(t[2*u]=t[2*l],t[2*u+1]=t[2*l+1],e[u]=e[l],t[2*l]=c,t[2*l+1]=h,e[l]=f,l+=1))}return l}function i(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}function a(t,e,r,a){function l(i,a,o,s,u,c){var h=.5*o,f=s+1,d=u-s;r[_]=d,x[_++]=c;for(var p=0;p<2;++p)for(var m=0;m<2;++m){var g=i+p*h,v=a+m*h,y=n(t,e,f,u,g,v,g+h,v+h);if(y!==f){if(y-f>=Math.max(.9*d,32)){var b=u+s>>>1;l(g,v,h,f,b,c+1),f=b}l(g,v,h,f,y,c+1),f=y}}}var u=t.length>>>1;if(u<1)return[];for(var c=1/0,h=1/0,f=-(1/0),d=-(1/0),p=0;p<u;++p){var m=t[2*p],g=t[2*p+1];c=Math.min(c,m),f=Math.max(f,m),h=Math.min(h,g),d=Math.max(d,g),e[p]=p}c===f&&(f+=1+Math.abs(f)),h===d&&(d+=1+Math.abs(f));var v=1/(f-c),y=1/(d-h),b=Math.max(f-c,d-h);a=a||[0,0,0,0],a[0]=c,a[1]=h,a[2]=f,a[3]=d;var x=o.mallocInt32(u),_=0;l(c,h,b,0,u,0),s(x,t,e,r,u);for(var w=[],M=0,A=u,_=u-1;_>=0;--_){t[2*_]=(t[2*_]-c)*v,t[2*_+1]=(t[2*_+1]-h)*y;var k=x[_];k!==M&&(w.push(new i(b*Math.pow(.5,k),_+1,A-(_+1))),A=_+1,M=k)}return w.push(new i(b*Math.pow(.5,k+1),0,A)),o.free(x),w}var o=t(\"typedarray-pool\"),s=t(\"./lib/sort\");e.exports=a},{\"./lib/sort\":223,\"typedarray-pool\":519}],225:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.sizeBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.charBuffer=s,this.pointCount=0,this.pickOffset=0,this.points=null,this.scales=[],this.xCoords=[],this.charCanvas=document.createElement(\"canvas\"),this.charTexture=h(this.plot.gl,this.charCanvas),this.charStep=400,this.charOffset=.032,this.snapThreshold=1e4,this.paletteTexture=h(this.plot.gl,[256,1])}function i(t,e){var r=t.gl,i=a(r,l.vertex,l.fragment),s=a(r,l.pickVertex,l.pickFragment),u=o(r),c=o(r),h=o(r),f=o(r),d=o(r),p=new n(t,i,s,u,c,h,f,d);return p.update(e),t.addObject(p),p}e.exports=i;var a=t(\"gl-shader\"),o=t(\"gl-buffer\"),s=t(\"typedarray-pool\"),l=t(\"./lib/shaders\"),u=t(\"snap-points-2d\"),c=t(\"font-atlas-sdf\"),h=t(\"gl-texture2d\"),f=t(\"color-id\"),d=t(\"ndarray\"),p=t(\"clamp\"),m=t(\"binary-search-bounds\"),g=n.prototype;!function(){function t(){var t=this.plot,u=t.viewBox,c=t.dataBox,h=t.pixelRatio,f=c[2]-c[0],d=c[3]-c[1],p=2/f,m=2/d,g=-c[0]-.5*f,v=-c[1]-.5*d;i[0]=p,a[0]=p-i[0],i[1]=m,a[1]=m-i[1],o[0]=g,s[0]=g-o[0],o[1]=v,s[1]=v-o[1];var y=u[2]-u[0],b=u[3]-u[1];e=Math.min(f/y,d/b),l[0]=2*h/y,l[1]=2*h/b,r=c[0],n=c[2]}var e,r,n,i=new Float32Array([0,0]),a=new Float32Array([0,0]),o=new Float32Array([0,0]),s=new Float32Array([0,0]),l=[0,0],u=[0,0,0,0];g.drawPick=function(l){var c=void 0!==l,h=this.plot,f=this.pointCount,d=f>this.snapThreshold;if(!f)return l;t.call(this);var p=h.gl,g=c?this.pickShader:this.shader,v=p.isEnabled(p.BLEND);if(g.bind(),c){this.pickOffset=l;for(var y=0;y<4;++y)u[y]=l>>8*y&255;g.uniforms.pickOffset=u,this.idBuffer.bind(),g.attributes.id.pointer(p.UNSIGNED_BYTE,!1)}else p.blendFuncSeparate(p.SRC_ALPHA,p.ONE_MINUS_SRC_ALPHA,p.ONE,p.ONE_MINUS_SRC_ALPHA),p.blendColor(0,0,0,1),v||p.enable(p.BLEND),this.colorBuffer.bind(),g.attributes.color.pointer(p.UNSIGNED_BYTE,!1),this.charBuffer.bind(),g.attributes.char.pointer(p.UNSIGNED_BYTE,!1),g.uniforms.chars=this.charTexture.bind(0),g.uniforms.charsShape=[this.charCanvas.width,this.charCanvas.height],g.uniforms.charsStep=this.charStep,g.uniforms.palette=this.paletteTexture.bind(1),g.uniforms.charOffset=this.charOffset;this.sizeBuffer.bind(),g.attributes.size.pointer(p.FLOAT,!1,8,0),c||g.attributes.border.pointer(p.FLOAT,!1,8,4),this.positionBuffer.bind(),g.attributes.positionHi.pointer(p.FLOAT,!1,16,0),g.attributes.positionLo.pointer(p.FLOAT,!1,16,8),g.uniforms.pixelRatio=h.pixelRatio,g.uniforms.scaleHi=i,g.uniforms.scaleLo=a,g.uniforms.translateHi=o,g.uniforms.translateLo=s,g.uniforms.viewBox=h.viewBox;var b=this.scales;if(d)for(var x=b.length-1;x>=0;x--){var _=b[x];if(!(_.pixelSize&&_.pixelSize<1.25*e&&x>1)){var w=_.offset,M=_.count+w,A=m.ge(this.xCoords,r,w,M-1),k=m.lt(this.xCoords,n,A,M-1)+1;k>A&&p.drawArrays(p.POINTS,A,k-A)}}else p.drawArrays(p.POINTS,0,f);if(c)return l+f;v?p.blendFunc(p.ONE,p.ONE_MINUS_SRC_ALPHA):p.disable(p.BLEND)}}(),g.draw=g.drawPick,g.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}},g.update=function(t){t=t||{};var e=t.positions||[],r=t.colors||[],n=t.glyphs||[],i=t.sizes||[],a=t.borderWidths||[],o=t.borderColors||[],l=this.plot.gl;null!=t.charOffset&&(this.charOffset=t.charOffset),this.points=e;var h=this.points.length/2,m=s.mallocInt32(h),g=s.mallocFloat32(2*h),v=s.mallocFloat64(2*h);v.set(this.points),this.pointCount=h;var y=h>this.snapThreshold;y&&(this.scales=u(v,m,g));for(var b=s.mallocFloat32(4*h),x=s.mallocFloat32(2*h),_=s.mallocUint8(2*h),w=s.mallocUint32(h),M=s.mallocUint8(2*h),A={},k=[],T=[],E=[],S=0,L=h,C=0;S<L;++S){var D=[255*r[4*S],255*r[4*S+1],255*r[4*S+2],255*r[4*S+3]],I=f(D,!1);null==A[I]&&(A[I]=C++,T.push(D[0]),T.push(D[1]),T.push(D[2]),T.push(D[3])),k.push(I),o&&o.length&&(D=[255*o[4*S],255*o[4*S+1],255*o[4*S+2],255*o[4*S+3]],I=f(D,!1),null==A[I]&&(A[I]=C++,T.push(D[0]),T.push(D[1]),T.push(D[2]),T.push(D[3])),E.push(I))}for(var z={},S=0,L=h,C=0;S<L;S++){var P=n[S];null==z[P]&&(z[P]=C++)}for(var O=0,S=0,L=i.length;S<L;++S)i[S]>O&&(O=i[S]);this.charStep=p(Math.ceil(4*O),128,768);var R=Object.keys(z),F=this.charStep,j=Math.floor(F/2),N=l.getParameter(l.MAX_TEXTURE_SIZE),B=N/F*(N/F),U=Math.min(N,F*R.length),V=Math.min(N,F*Math.ceil(F*R.length/N)),H=Math.floor(U/F);R.length>B&&console.warn(\"gl-scatter2d-fancy: number of characters is more than maximum texture size. Try reducing it.\"),this.chars&&this.chars+\"\"==R+\"\"||(this.charCanvas=c({canvas:this.charCanvas,family:\"sans-serif\",size:j,shape:[U,V],step:[F,F],chars:R}),this.chars=R);for(var S=0;S<h;++S){var q=y?m[S]:S,G=e[2*q],Y=e[2*q+1],X=i[q],W=a[q];b[4*S]=G,b[4*S+1]=Y,b[4*S+2]=G-b[4*S],b[4*S+3]=Y-b[4*S+1],this.xCoords[S]=G,x[2*S]=2*X,x[2*S+1]=W,w[S]=q;var I=k[q],Z=A[I];_[2*S]=Z;var J=E[q],K=A[J];_[2*S+1]=K;var P=n[q],Q=z[P];M[2*S+1]=Math.floor(Q/H),M[2*S]=Q%H}this.positionBuffer.update(b),this.sizeBuffer.update(x),this.colorBuffer.update(_),this.idBuffer.update(w),this.charBuffer.update(M),this.charTexture.shape=[this.charCanvas.width,this.charCanvas.height],this.charCanvas&&this.charCanvas.width&&this.charTexture.setPixels(this.charCanvas),this.paletteTexture.setPixels(d(T.slice(0,1024),[256,1,4])),s.free(b),s.free(x),s.free(_),s.free(w),s.free(M),s.free(v),s.free(m),s.free(g)},g.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.sizeBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.charBuffer.dispose(),this.plot.removeObject(this)}},{\"./lib/shaders\":213,\"binary-search-bounds\":214,clamp:78,\"color-id\":82,\"font-atlas-sdf\":116,\"gl-buffer\":138,\"gl-shader\":215,\"gl-texture2d\":222,ndarray:447,\"snap-points-2d\":224,\"typedarray-pool\":519}],226:[function(t,e,r){r.pointVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 positionHi, positionLo;\\nattribute float weight;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\nuniform float pointSize, useWeight;\\n\\nvarying float fragWeight;\\n\\n\\nvec4 pfx_1_0(vec2 scaleHi, vec2 scaleLo, vec2 translateHi, vec2 translateLo, vec2 positionHi, vec2 positionLo) {\\n  return vec4((positionHi + translateHi) * scaleHi\\n            + (positionLo + translateLo) * scaleHi\\n            + (positionHi + translateHi) * scaleLo\\n            + (positionLo + translateLo) * scaleLo, 0.0, 1.0);\\n}\\n\\nvoid main() {\\n  gl_Position = pfx_1_0(scaleHi, scaleLo, translateHi, translateLo, positionHi, positionLo);\\n  gl_PointSize = pointSize;\\n  fragWeight = mix(1.0, weight, useWeight);\\n}\",r.pointFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\n\\nvarying float fragWeight;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\\n  float alpha = 1.0 - pow(1.0 - baseColor.a, fragWeight);\\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\\n}\",r.pickVertex=\"precision highp float;\\n#define GLSLIFY 1\\n\\nvec4 pfx_1_0(vec2 scaleHi, vec2 scaleLo, vec2 translateHi, vec2 translateLo, vec2 positionHi, vec2 positionLo) {\\n  return vec4((positionHi + translateHi) * scaleHi\\n            + (positionLo + translateLo) * scaleHi\\n            + (positionHi + translateHi) * scaleLo\\n            + (positionLo + translateLo) * scaleLo, 0.0, 1.0);\\n}\\n\\nattribute vec2 positionHi, positionLo;\\nattribute vec4 pickId;\\n\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n\\n  vec4 id = pickId + pickOffset;\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  gl_Position = pfx_1_0(scaleHi, scaleLo, translateHi, translateLo, positionHi, positionLo);\\n  gl_PointSize = pointSize;\\n  fragId = id;\\n}\",r.pickFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  gl_FragColor = fragId / 255.0;\\n}\"},{}],227:[function(t,e,r){arguments[4][74][0].apply(r,arguments)},{dup:74}],228:[function(t,e,r){arguments[4][223][0].apply(r,arguments)},{dup:223}],229:[function(t,e,r){arguments[4][224][0].apply(r,arguments)},{\"./lib/sort\":228,dup:224,\"typedarray-pool\":519}],230:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){this.plot=t,this.positionBufferHi=e,this.positionBufferLo=r,this.pickBuffer=n,this.weightBuffer=i,this.shader=a,this.pickShader=o,this.scales=[],this.size=12,this.borderSize=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.pickOffset=0,this.points=null,this.xCoords=null}function i(t,e){var r=t.gl,i=o(r),s=o(r),l=o(r),u=o(r),h=a(r,c.pointVertex,c.pointFragment),f=a(r,c.pickVertex,c.pickFragment),d=new n(t,i,s,l,u,h,f);return d.update(e),t.addObject(d),d}var a=t(\"gl-shader\"),o=t(\"gl-buffer\"),s=t(\"binary-search-bounds\"),l=t(\"snap-points-2d\"),u=t(\"typedarray-pool\"),c=t(\"./lib/shader\");e.exports=i;var h=n.prototype,f=new Float32Array(2),d=new Float32Array(2),p=new Float32Array(2),m=new Float32Array(2),g=[0,0,0,0];h.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBufferHi.dispose(),this.positionBufferLo.dispose(),this.pickBuffer.dispose(),this.xCoords&&u.free(this.xCoords),this.plot.removeObject(this)},h.update=function(t){function e(e,r){return e in t?t[e]:r}t=t||{},this.size=e(\"size\",12),this.color=e(\"color\",[1,0,0,1]).slice(),this.borderSize=e(\"borderSize\",1),this.borderColor=e(\"borderColor\",[0,0,0,1]).slice(),this.xCoords&&u.free(this.xCoords),this.points=t.positions;var r=this.points.length>>>1,n=u.mallocInt32(r),i=u.mallocFloat32(2*r),a=u.mallocFloat64(2*r);a.set(this.points),this.scales=l(a,n,i,this.bounds);var o=u.mallocFloat64(r),s=u.mallocFloat32(2*r),c=u.mallocFloat32(2*r);s.set(a);for(var h=0,f=0;h<r;h++,f+=2)c[f]=a[f]-s[f],c[f+1]=a[f+1]-s[f+1],o[h]=a[f];this.positionBufferHi.update(s),this.positionBufferLo.update(c),this.pickBuffer.update(n),this.weightBuffer.update(i),u.free(n),u.free(a),u.free(s),u.free(c),u.free(i),this.xCoords=o,this.pointCount=r,this.pickOffset=0},h.draw=function(t){var e=void 0!==t,r=this.plot,n=e?this.pickShader:this.shader,i=this.scales,a=this.positionBufferHi,o=this.positionBufferLo,l=this.pickBuffer,u=this.bounds,c=this.size,h=this.borderSize,v=r.gl,y=e?r.pickPixelRatio:r.pixelRatio,b=r.viewBox,x=r.dataBox;if(0===this.pointCount)return t;var _=u[2]-u[0],w=u[3]-u[1],M=x[2]-x[0],A=x[3]-x[1],k=(b[2]-b[0])*y/r.pixelRatio,T=(b[3]-b[1])*y/r.pixelRatio,E=Math.min(M/k,A/T),S=2*_/M,L=2*w/A;f[0]=S,f[1]=L,d[0]=S-f[0],d[1]=L-f[1];var C=(u[0]-x[0]-.5*M)/_,D=(u[1]-x[1]-.5*A)/w;p[0]=C,p[1]=D,m[0]=C-p[0],m[1]=D-p[1],n.bind(),n.uniforms.scaleHi=f,n.uniforms.scaleLo=d,n.uniforms.translateHi=p,n.uniforms.translateLo=m,\nn.uniforms.color=this.color,n.uniforms.borderColor=this.borderColor,n.uniforms.pointSize=y*(c+h),n.uniforms.centerFraction=0===this.borderSize?2:c/(c+h+1.25),a.bind(),n.attributes.positionHi.pointer(),o.bind(),n.attributes.positionLo.pointer(),e?(this.pickOffset=t,g[0]=255&t,g[1]=t>>8&255,g[2]=t>>16&255,g[3]=t>>24&255,n.uniforms.pickOffset=g,l.bind(),n.attributes.pickId.pointer(v.UNSIGNED_BYTE)):(n.uniforms.useWeight=1,this.weightBuffer.bind(),n.attributes.weight.pointer());for(var I=this.xCoords,z=(x[0]-u[0]-E*c*y)/_,P=(x[2]-u[0]+E*c*y)/_,O=!0,R=i.length-1;R>=0;R--){var F=i[R];if(!(F.pixelSize<E&&R>1)){var j=F.offset,N=F.count+j,B=s.ge(I,z,j,N-1),U=s.lt(I,P,B,N-1)+1;U>B&&v.drawArrays(v.POINTS,B,U-B),!e&&O&&(O=!1,n.uniforms.useWeight=0)}}return t+this.pointCount},h.drawPick=h.draw,h.pick=function(t,e,r){var n=r-this.pickOffset;return n<0||n>=this.pointCount?null:{object:this,pointId:n,dataCoord:[this.points[2*n],this.points[2*n+1]]}}},{\"./lib/shader\":226,\"binary-search-bounds\":227,\"gl-buffer\":138,\"gl-shader\":237,\"snap-points-2d\":229,\"typedarray-pool\":519}],231:[function(t,e,r){\"use strict\";function n(t,e){var r=a[e];if(r||(r=a[e]={}),t in r)return r[t];for(var n=i(t,{textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),o=i(t,{triangles:!0,textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),s=[[1/0,1/0],[-(1/0),-(1/0)]],l=0;l<n.positions.length;++l)for(var u=n.positions[l],c=0;c<2;++c)s[0][c]=Math.min(s[0][c],u[c]),s[1][c]=Math.max(s[1][c],u[c]);return r[t]=[o,n,s]}var i=t(\"vectorize-text\");e.exports=n;var a={}},{\"vectorize-text\":532}],232:[function(t,e,r){function n(t,e){var r=i(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}var i=t(\"gl-shader\"),a=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0]))   || \\n     any(greaterThan(position, clipBounds[1])) ) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = 1.0;\\n    if(distance(highlightId, id) < 0.0001) {\\n      scale = highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1);\\n    vec4 viewPosition = view * worldPosition;\\n    viewPosition = viewPosition / viewPosition.w;\\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n    \\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\",o=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = pixelRatio;\\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n      scale *= highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1.0);\\n    vec4 viewPosition = view * worldPosition;\\n    vec4 clipPosition = projection * viewPosition;\\n    clipPosition /= clipPosition.w;\\n    \\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\",s=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0]))   ||\\n     any(greaterThan(position, clipBounds[1])) ) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float lscale = pixelRatio * scale;\\n    if(distance(highlightId, id) < 0.0001) {\\n      lscale *= highlightScale;\\n    }\\n\\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = dataPosition;\\n  }\\n}\\n\",l=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\n    discard;\\n  } else {\\n    gl_FragColor = interpColor * opacity;\\n  }\\n}\\n\",u=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\n    discard;\\n  } else {\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\n  }\\n}\",c=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],h={vertex:a,fragment:l,attributes:c},f={vertex:o,fragment:l,attributes:c},d={vertex:s,fragment:l,attributes:c},p={vertex:a,fragment:u,attributes:c},m={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};r.createPerspective=function(t){return n(t,h)},r.createOrtho=function(t){return n(t,f)},r.createProject=function(t){return n(t,d)},r.createPickPerspective=function(t){return n(t,p)},r.createPickOrtho=function(t){return n(t,m)},r.createPickProject=function(t){return n(t,g)}},{\"gl-shader\":237}],233:[function(t,e,r){\"use strict\";function n(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function i(t,e,r,i){return n(i,i,r),n(i,i,e),n(i,i,t)}function a(t,e){this.index=t,this.dataCoordinate=this.position=e}function o(t,e,r,n,i,o,s,l,u,c,h,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=o,this.glyphBuffer=s,this.idBuffer=l,this.vao=u,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=h,this.pickProjectShader=f,this.points=[],this._selectResult=new a(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.dirty=!0}function s(t){return t[0]=t[1]=t[2]=0,t}function l(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function u(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function c(t){for(var e=L,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}function h(t,e,r,n,a){var o,h=e.axesProject,f=e.gl,d=t.uniforms,p=r.model||x,m=r.view||x,g=r.projection||x,y=e.axesBounds,b=c(e.clipBounds);o=e.axes?e.axes.lastCubeProps.axis:[1,1,1],w[0]=2/f.drawingBufferWidth,w[1]=2/f.drawingBufferHeight,t.bind(),d.view=m,d.projection=g,d.screenSize=w,d.highlightId=e.highlightId,d.highlightScale=e.highlightScale,d.clipBounds=b,d.pickGroup=e.pickId/255,d.pixelRatio=e.pixelRatio;for(var _=0;_<3;++_)if(h[_]&&e.projectOpacity[_]<1===n){d.scale=e.projectScale[_],d.opacity=e.projectOpacity[_];for(var L=E,C=0;C<16;++C)L[C]=0;for(var C=0;C<4;++C)L[5*C]=1;L[5*_]=0,o[_]<0?L[12+_]=y[0][_]:L[12+_]=y[1][_],v(L,p,L),d.model=L;var D=(_+1)%3,I=(_+2)%3,z=s(M),P=s(A);z[D]=1,P[I]=1;var O=i(g,m,p,l(k,z)),R=i(g,m,p,l(T,P));if(Math.abs(O[1])>Math.abs(R[1])){var F=O;O=R,R=F,F=z,z=P,P=F;var j=D;D=I,I=j}O[0]<0&&(z[D]=-1),R[1]>0&&(P[I]=-1);for(var N=0,B=0,C=0;C<4;++C)N+=Math.pow(p[4*D+C],2),B+=Math.pow(p[4*I+C],2);z[D]/=Math.sqrt(N),P[I]/=Math.sqrt(B),d.axes[0]=z,d.axes[1]=P,d.fragClipBounds[0]=u(S,b[0],_,-1e8),d.fragClipBounds[1]=u(S,b[1],_,1e8),e.vao.draw(f.TRIANGLES,e.vertexCount),e.lineWidth>0&&(f.lineWidth(e.lineWidth),e.vao.draw(f.LINES,e.lineVertexCount,e.vertexCount))}}function f(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||x,s.view=n.view||x,s.projection=n.projection||x,w[0]=2/o.drawingBufferWidth,w[1]=2/o.drawingBufferHeight,s.screenSize=w,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=I,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}h(e,r,n,i,a),r.vao.unbind()}function d(t){var e=t.gl,r=y.createPerspective(e),n=y.createOrtho(e),i=y.createProject(e),a=y.createPickPerspective(e),s=y.createPickOrtho(e),l=y.createPickProject(e),u=p(e),c=p(e),h=p(e),f=p(e),d=m(e,[{buffer:u,size:3,type:e.FLOAT},{buffer:c,size:4,type:e.FLOAT},{buffer:h,size:2,type:e.FLOAT},{buffer:f,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),g=new o(e,r,n,i,u,c,h,f,d,a,s,l);return g.update(t),g}var p=t(\"gl-buffer\"),m=t(\"gl-vao\"),g=t(\"typedarray-pool\"),v=t(\"gl-mat4/multiply\"),y=t(\"./lib/shaders\"),b=t(\"./lib/glyphs\"),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];e.exports=d;var _=o.prototype;_.pickSlots=1,_.setPickBase=function(t){this.pickId=t},_.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},_.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var w=[0,0],M=[0,0,0],A=[0,0,0],k=[0,0,0,1],T=[0,0,0,1],E=x.slice(),S=[0,0,0],L=[[0,0,0],[0,0,0]],C=[-1e8,-1e8,-1e8],D=[1e8,1e8,1e8],I=[C,D];_.draw=function(t){f(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},_.drawTransparent=function(t){f(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},_.drawPick=function(t){f(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},_.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(t){if(t=t||{},\"perspective\"in t&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(\"projectOpacity\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{var r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\"opacity\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\"normal\",a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-(1/0),-(1/0),-(1/0)],l=t.glyph,u=t.color,c=t.size,h=t.angle,f=t.lineColor,d=0,p=0,m=0,v=n.length;t:for(var y=0;y<v;++y){for(var x=n[y],_=0;_<3;++_)if(isNaN(x[_])||!isFinite(x[_]))continue t;var w;w=Array.isArray(l)?b(l[y],i):l?b(l,i):b(\"\\u25cf\",i);var M=w[0],A=w[1],k=w[2];p+=3*M.cells.length,m+=2*A.edges.length}var T=p+m,E=g.mallocFloat(3*T),S=g.mallocFloat(4*T),L=g.mallocFloat(2*T),C=g.mallocUint32(T),D=[0,a[1]],I=0,z=p,P=[0,0,0,1],O=[0,0,0,1],R=Array.isArray(u)&&Array.isArray(u[0]),F=Array.isArray(f)&&Array.isArray(f[0]);t:for(var y=0;y<v;++y){for(var x=n[y],_=0;_<3;++_){if(isNaN(x[_])||!isFinite(x[_])){d+=1;continue t}s[_]=Math.max(s[_],x[_]),o[_]=Math.min(o[_],x[_])}var w;w=Array.isArray(l)?b(l[y],i):l?b(l,i):b(\"\\u25cf\",i);var M=w[0],A=w[1],k=w[2];if(Array.isArray(u)){var j;if(j=R?u[y]:u,3===j.length){for(var _=0;_<3;++_)P[_]=j[_];P[3]=1}else if(4===j.length)for(var _=0;_<4;++_)P[_]=j[_]}else P[0]=P[1]=P[2]=0,P[3]=1;if(Array.isArray(f)){var j;if(j=F?f[y]:f,3===j.length){for(var _=0;_<3;++_)O[_]=j[_];O[_]=1}else if(4===j.length)for(var _=0;_<4;++_)O[_]=j[_]}else O[0]=O[1]=O[2]=0,O[3]=1;var N=.5;Array.isArray(c)?N=+c[y]:c?N=+c:this.useOrtho&&(N=12);var B=0;Array.isArray(h)?B=+h[y]:h&&(B=+h);for(var U=Math.cos(B),V=Math.sin(B),x=n[y],_=0;_<3;++_)s[_]=Math.max(s[_],x[_]),o[_]=Math.min(o[_],x[_]);a[0]<0?D[0]=a[0]*(1+k[1][0]):a[0]>0&&(D[0]=-a[0]*(1+k[0][0]));for(var H=M.cells,q=M.positions,_=0;_<H.length;++_)for(var G=H[_],Y=0;Y<3;++Y){for(var X=0;X<3;++X)E[3*I+X]=x[X];for(var X=0;X<4;++X)S[4*I+X]=P[X];C[I]=d;var W=q[G[Y]];L[2*I]=N*(U*W[0]-V*W[1]+D[0]),L[2*I+1]=N*(V*W[0]+U*W[1]+D[1]),I+=1}for(var H=A.edges,q=A.positions,_=0;_<H.length;++_)for(var G=H[_],Y=0;Y<2;++Y){for(var X=0;X<3;++X)E[3*z+X]=x[X];for(var X=0;X<4;++X)S[4*z+X]=O[X];C[z]=d;var W=q[G[Y]];L[2*z]=N*(U*W[0]-V*W[1]+D[0]),L[2*z+1]=N*(V*W[0]+U*W[1]+D[1]),z+=1}d+=1}this.vertexCount=p,this.lineVertexCount=m,this.pointBuffer.update(E),this.colorBuffer.update(S),this.glyphBuffer.update(L),this.idBuffer.update(new Uint32Array(C)),g.free(E),g.free(S),g.free(L),g.free(C),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},_.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{\"./lib/glyphs\":231,\"./lib/shaders\":232,\"gl-buffer\":138,\"gl-mat4/multiply\":164,\"gl-vao\":253,\"typedarray-pool\":519}],234:[function(t,e,r){\"use strict\";r.boxVertex=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 vertex;\\n\\nuniform vec2 cornerA, cornerB;\\n\\nvoid main() {\\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\\n}\\n\",r.boxFragment=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"},{}],235:[function(t,e,r){\"use strict\";function n(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-(1/0),-(1/0)],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}function i(t,e){var r=t.gl,i=o(r,[0,0,0,1,1,0,1,1]),l=a(r,s.boxVertex,s.boxFragment),u=new n(t,i,l);return u.update(e),t.addOverlay(u),u}var a=t(\"gl-shader\"),o=t(\"gl-buffer\"),s=t(\"./lib/shaders\");e.exports=i;var l=n.prototype;l.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,u=t.viewBox,c=t.pixelRatio,h=(e[0]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],f=(e[1]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1],d=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],p=(e[3]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1];if(h=Math.max(h,u[0]),f=Math.max(f,u[1]),d=Math.min(d,u[2]),p=Math.min(p,u[3]),!(d<h||p<f)){o.bind();var m=s[2]-s[0],g=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,m,f,i),o.drawBox(0,f,h,p,i),o.drawBox(0,p,m,g,i),o.drawBox(d,f,m,p,i)),this.innerFill&&o.drawBox(h,f,d,p,n),r>0){var v=r*c;o.drawBox(h-v,f-v,d+v,f+v,a),o.drawBox(h-v,p-v,d+v,p+v,a),o.drawBox(h-v,f-v,h+v,p+v,a),o.drawBox(d-v,f-v,d+v,p+v,a)}}}},l.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},l.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\"./lib/shaders\":234,\"gl-buffer\":138,\"gl-shader\":237}],236:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function i(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}function a(t,e){return new i(t,o(t,e),s.mallocUint8(e[0]*e[1]*4))}e.exports=a;var o=t(\"gl-fbo\"),s=t(\"typedarray-pool\"),l=t(\"ndarray\"),u=t(\"bit-twiddle\").nextPow2,c=t(\"cwise/lib/wrapper\")({args:[\"array\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\",args:[],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[]},body:{body:\"{if(_inline_46_arg0_<255||_inline_46_arg1_<255||_inline_46_arg2_<255||_inline_46_arg3_<255){var _inline_46_l=_inline_46_arg4_-_inline_46_arg6_[0],_inline_46_a=_inline_46_arg5_-_inline_46_arg6_[1],_inline_46_f=_inline_46_l*_inline_46_l+_inline_46_a*_inline_46_a;_inline_46_f<this_closestD2&&(this_closestD2=_inline_46_f,this_closestX=_inline_46_arg6_[0],this_closestY=_inline_46_arg6_[1])}}\",args:[{name:\"_inline_46_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg4_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg5_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_46_arg6_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[\"_inline_46_a\",\"_inline_46_f\",\"_inline_46_l\"]},post:{body:\"{return[this_closestX,this_closestY,this_closestD2]}\",args:[],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[]},debug:!1,funcName:\"cwise\",blockSize:64}),h=i.prototype;Object.defineProperty(h,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){s.free(this.buffer);for(var n=this.buffer=s.mallocUint8(u(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),h.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},h.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},h.query=function(t,e,r){if(!this.gl)return null;var i=this.fbo.shape.slice();t|=0,e|=0,\"number\"!=typeof r&&(r=1);var a=0|Math.min(Math.max(t-r,0),i[0]),o=0|Math.min(Math.max(t+r,0),i[0]),s=0|Math.min(Math.max(e-r,0),i[1]),u=0|Math.min(Math.max(e+r,0),i[1]);if(o<=a||u<=s)return null;var h=[o-a,u-s],f=l(this.buffer,[h[0],h[1],4],[4,4*i[0],1],4*(a+i[0]*s)),d=c(f.hi(h[0],h[1],1),r,r),p=d[0],m=d[1];return p<0||Math.pow(this.radius,2)<d[2]?null:new n(p+a|0,m+s|0,f.get(p,m,0),[f.get(p,m,1),f.get(p,m,2),f.get(p,m,3)],Math.sqrt(d[2]))},h.dispose=function(){this.gl&&(this.fbo.dispose(),s.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\"bit-twiddle\":57,\"cwise/lib/wrapper\":103,\"gl-fbo\":145,ndarray:447,\"typedarray-pool\":519}],237:[function(t,e,r){\"use strict\";function n(t){this.gl=t,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name<e.name?-1:1}function a(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}var o=t(\"./lib/create-uniforms\"),s=t(\"./lib/create-attributes\"),l=t(\"./lib/reflect\"),u=t(\"./lib/shader-cache\"),c=t(\"./lib/runtime-reflect\"),h=t(\"./lib/GLError\"),f=n.prototype;f.bind=function(){this.program||this._relink(),this.gl.useProgram(this.program)},f.dispose=function(){this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},f.update=function(t,e,r,n){function a(){d.program=u.program(p,d._vref,d._fref,x,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var f=t;t=f.vertex,e=f.fragment,r=f.uniforms,n=f.attributes}var d=this,p=d.gl,m=d._vref;d._vref=u.shader(p,p.VERTEX_SHADER,t),m&&m.dispose(),d.vertShader=d._vref.shader;var g=this._fref;if(d._fref=u.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),d.fragShader=d._fref.shader,!r||!n){var v=p.createProgram();if(p.attachShader(v,d.fragShader),p.attachShader(v,d.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var y=p.getProgramInfoLog(v);throw new h(y,\"Error linking program:\"+y)}r=r||c.uniforms(p,v),n=n||c.attributes(p,v),p.deleteProgram(v)}n=n.slice(),n.sort(i);for(var b=[],x=[],_=[],w=0;w<n.length;++w){var M=n[w];if(M.type.indexOf(\"mat\")>=0){for(var A=0|M.type.charAt(M.type.length-1),k=new Array(A),T=0;T<A;++T)k[T]=_.length,x.push(M.name+\"[\"+T+\"]\"),\"number\"==typeof M.location?_.push(M.location+T):Array.isArray(M.location)&&M.location.length===A&&\"number\"==typeof M.location[T]?_.push(0|M.location[T]):_.push(-1);b.push({name:M.name,type:M.type,locations:k})}else b.push({name:M.name,type:M.type,locations:[_.length]}),x.push(M.name),\"number\"==typeof M.location?_.push(0|M.location):_.push(-1)}for(var E=0,w=0;w<_.length;++w)if(_[w]<0){for(;_.indexOf(E)>=0;)E+=1;_[w]=E}var S=new Array(r.length);a(),d._relink=a,d.types={uniforms:l(r),attributes:l(n)},d.attributes=s(p,d,b,_),Object.defineProperty(d,\"uniforms\",o(p,d,r,S))},e.exports=a},{\"./lib/GLError\":238,\"./lib/create-attributes\":239,\"./lib/create-uniforms\":240,\"./lib/reflect\":241,\"./lib/runtime-reflect\":242,\"./lib/shader-cache\":243}],238:[function(t,e,r){arguments[4][194][0].apply(r,arguments)},{dup:194}],239:[function(t,e,r){arguments[4][195][0].apply(r,arguments)},{\"./GLError\":238,dup:195}],240:[function(t,e,r){arguments[4][196][0].apply(r,arguments)},{\"./GLError\":238,\"./reflect\":241,dup:196}],241:[function(t,e,r){arguments[4][197][0].apply(r,arguments)},{dup:197}],242:[function(t,e,r){arguments[4][198][0].apply(r,arguments)},{dup:198}],243:[function(t,e,r){arguments[4][199][0].apply(r,arguments)},{\"./GLError\":238,dup:199,\"gl-format-compiler-error\":146,\"weakmap-shim\":540}],244:[function(t,e,r){\"use strict\";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}function i(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r}e.exports=i;var a=n.prototype;a.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(t){return t.slice()}),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},a.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),u=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,u,s[0],u,e[0],r[0]),t[1]&&a.drawLine(l,u,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,u,s[2],u,e[2],r[2]),t[3]&&a.drawLine(l,u,l,s[3],e[3],r[3])}},a.dispose=function(){this.plot.removeOverlay(this)}},{}],245:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\");e.exports=function(t){return n(t,\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, color;\\nattribute float weight;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 coordinates[3];\\nuniform vec4 colors[3];\\nuniform vec2 screenShape;\\nuniform float lineWidth;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vertexPosition = mix(coordinates[0],\\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\\n\\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\\n  vec2 delta = weight * clipOffset * screenShape;\\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\\n\\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\\n}\\n\",\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\",null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},{\"gl-shader\":237}],246:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}function i(t,e){function r(t,e,r,n,a,o){var s=[t,e,r,0,0,0,1];s[n+3]=1,s[n]=a,i.push.apply(i,s),s[6]=-1,i.push.apply(i,s),s[n]=o,i.push.apply(i,s),i.push.apply(i,s),s[6]=1,i.push.apply(i,s),s[n]=a,i.push.apply(i,s)}var i=[];r(0,0,0,0,0,1),r(0,0,0,1,0,1),r(0,0,0,2,0,1),r(1,0,0,1,-1,1),r(1,0,0,2,-1,1),r(0,1,0,0,-1,1),r(0,1,0,2,-1,1),r(0,0,1,0,-1,1),r(0,0,1,1,-1,1);var l=a(t,i),u=o(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),c=s(t);c.attributes.position.location=0,c.attributes.color.location=1,c.attributes.weight.location=2;var h=new n(t,l,u,c);return h.update(e),h}var a=t(\"gl-buffer\"),o=t(\"gl-vao\"),s=t(\"./shaders/index\");e.exports=i;var l=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],u=n.prototype,c=[0,0,0],h=[0,0,0],f=[0,0];u.isTransparent=function(){return!1},u.drawTransparent=function(t){},u.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||l,o=t.view||l,s=t.projection||l;this.axes&&(i=this.axes.lastCubeProps.axis);for(var u=c,d=h,p=0;p<3;++p)i&&i[p]<0?(u[p]=this.bounds[0][p],d[p]=this.bounds[1][p]):(u[p]=this.bounds[1][p],d[p]=this.bounds[0][p]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=s,n.uniforms.coordinates=[this.position,u,d],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(var p=0;p<3;++p)n.uniforms.lineWidth=this.lineWidth[p]*this.pixelRatio,this.enabled[p]&&(r.draw(e.TRIANGLES,6,6*p),this.drawSides[p]&&r.draw(e.TRIANGLES,12,18+12*p));r.unbind()},u.update=function(t){t&&(\"bounds\"in t&&(this.bounds=t.bounds),\"position\"in t&&(this.position=t.position),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"colors\"in t&&(this.colors=t.colors),\"enabled\"in t&&(this.enabled=t.enabled),\"drawSides\"in t&&(this.drawSides=t.drawSides))},u.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders/index\":245,\"gl-buffer\":138,\"gl-vao\":253}],247:[function(t,e,r){\nvar n=t(\"gl-shader\"),i=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  worldCoordinate = vec3(uv.zw, f.x);\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n  vec4 clipPosition = projection * view * worldPosition;\\n  gl_Position = clipPosition;\\n  kill = f.y;\\n  value = f.z;\\n  planeCoordinate = uv.xy;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * worldPosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  lightDirection = lightPosition - cameraCoordinate.xyz;\\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\",a=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution_2_0(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\n\\n\\nfloat beckmannSpecular_1_1(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution_2_0(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\n\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  if (kill > 0.0 ||\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  vec3 N = normalize(surfaceNormal);\\n  vec3 V = normalize(eyeDirection);\\n  vec3 L = normalize(lightDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = beckmannSpecular_1_1(L, V, N, roughness);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  //decide how to interpolate color \\u2014 in vertex or in fragment\\n  vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\\n\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\",o=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\n\\n  vec4 clipPosition = projection * view * worldPosition;\\n  clipPosition.z = clipPosition.z + zOffset;\\n\\n  gl_Position = clipPosition;\\n  value = f;\\n  kill = -1.0;\\n  worldCoordinate = dataCoordinate;\\n  planeCoordinate = uv.zw;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Don't do lighting for contours\\n  surfaceNormal   = vec3(1,0,0);\\n  eyeDirection    = vec3(0,1,0);\\n  lightDirection  = vec3(0,0,1);\\n}\\n\",s=\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n  float vh = 255.0 * v;\\n  float upper = floor(vh);\\n  float lower = fract(vh);\\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n  if(kill > 0.0 ||\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\n    discard;\\n  }\\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\";r.createShader=function(t){var e=n(t,i,a,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,i,s,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,o,a,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,o,s,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\"gl-shader\":237}],248:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}function i(t){var e=x([y({colormap:t,nshades:R,format:\"rgba\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return b.divseq(e,255),e}function a(t,e,r,i,a,o,s,l,u,c,h,f,d,p){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=i,this._pickShader=a,this._coordinateBuffer=o,this._vao=s,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new n([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=p,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[_(v.mallocFloat(1024),[0,0]),_(v.mallocFloat(1024),[0,0]),_(v.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.snapToData=!1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}function o(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||j,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=N.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],M(l,t.model,l);var u=N.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return N.showSurface=o,N.showContour=s,N}function s(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=B;n.model=t.model||z,n.view=t.view||z,n.projection=t.projection||z,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.contourColor=this.contourColor[0],n.inverseModel=A(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],s=0;s<3;++s)a[s]=Math.min(Math.max(this.clipBounds[i][s],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=V,n.vertexColor=this.vertexColor;var l=U;for(M(l,n.view,n.model),M(l,n.projection,l),A(l,l),i=0;i<3;++i)n.eyePosition[i]=l[12+i]/l[15];var u=l[15];for(i=0;i<3;++i)u+=this.lightPosition[i]*l[4*i+3];for(i=0;i<3;++i){var c=l[12+i];for(s=0;s<3;++s)c+=l[4*s+i]*this.lightPosition[s];n.lightPosition[i]=c/u}var h=o(n,this);if(h.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=h.projections[i],this._shader.uniforms.clipBounds=h.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(h.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var d=this._contourVAO;for(d.bind(),i=0;i<3;++i)for(f.uniforms.permutation=O[i],r.lineWidth(this.contourWidth[i]),s=0;s<this.contourLevels[i].length;++s)this._contourCounts[i][s]&&(s===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==s&&s-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),f.uniforms.height=this.contourLevels[i][s],d.draw(r.LINES,this._contourCounts[i][s],this._contourOffsets[i][s]));for(i=0;i<3;++i)for(f.uniforms.model=h.projections[i],f.uniforms.clipBounds=h.clipBounds[i],s=0;s<3;++s)if(this.contourProject[i][s]){f.uniforms.permutation=O[s],r.lineWidth(this.contourWidth[s]);for(var p=0;p<this.contourLevels[s].length;++p)p===this.highlightLevel[s]?(f.uniforms.contourColor=this.highlightColor[s],f.uniforms.contourTint=this.highlightTint[s]):0!==p&&p-1!==this.highlightLevel[s]||(f.uniforms.contourColor=this.contourColor[s],f.uniforms.contourTint=this.contourTint[s]),f.uniforms.height=this.contourLevels[s][p],d.draw(r.LINES,this._contourCounts[s][p],this._contourOffsets[s][p])}for(d=this._dynamicVAO,d.bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=O[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],d.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),s=0;s<3;++s)this.contourProject[s][i]&&(f.uniforms.model=h.projections[s],f.uniforms.clipBounds=h.clipBounds[s],d.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));d.unbind()}}function l(t,e){var r=e.shape.slice(),n=t.shape.slice();b.assign(t.lo(1,1).hi(r[0],r[1]),e),b.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),b.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),b.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),b.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))}function u(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function c(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function h(t){if(Array.isArray(t)){if(Array.isArray(t))return[c(t[0]),c(t[1]),c(t[2])];var e=c(t);return[e.slice(),e.slice(),e.slice()]}}function f(t){var e=t.gl,r=S(e),n=C(e),i=L(e),o=D(e),s=p(e),l=m(e,[{buffer:s,size:4,stride:I,offset:0},{buffer:s,size:3,stride:I,offset:16},{buffer:s,size:3,stride:I,offset:28}]),u=p(e),c=m(e,[{buffer:u,size:4,stride:20,offset:0},{buffer:u,size:1,stride:20,offset:16}]),h=p(e),f=m(e,[{buffer:h,size:2,type:e.FLOAT}]),d=g(e,1,R,e.RGBA,e.UNSIGNED_BYTE);d.minFilter=e.LINEAR,d.magFilter=e.LINEAR;var v=new a(e,[0,0],[[0,0,0],[0,0,0]],r,n,s,l,d,i,o,u,c,h,f),y={levels:[[],[],[]]};for(var b in t)y[b]=t[b];return y.colormap=y.colormap||\"jet\",v.update(y),v}e.exports=f;var d=t(\"bit-twiddle\"),p=t(\"gl-buffer\"),m=t(\"gl-vao\"),g=t(\"gl-texture2d\"),v=t(\"typedarray-pool\"),y=t(\"colormap\"),b=t(\"ndarray-ops\"),x=t(\"ndarray-pack\"),_=t(\"ndarray\"),w=t(\"surface-nets\"),M=t(\"gl-mat4/multiply\"),A=t(\"gl-mat4/invert\"),k=t(\"binary-search-bounds\"),T=t(\"ndarray-gradient\"),E=t(\"./lib/shaders\"),S=E.createShader,L=E.createContourShader,C=E.createPickShader,D=E.createPickContourShader,I=40,z=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],P=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],O=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];!function(){for(var t=0;t<3;++t){var e=O[t],r=(t+1)%3,n=(t+2)%3;e[r+0]=1,e[n+3]=1,e[t+6]=1}}();var R=256,F=a.prototype;F.isTransparent=function(){return this.opacity<1},F.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},F.pickSlots=1,F.setPickBase=function(t){this.pickId=t};var j=[0,0,0],N={showSurface:!1,showContour:!1,projections:[z.slice(),z.slice(),z.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]},B={model:z,view:z,projection:z,inverseModel:z.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},U=z.slice(),V=[1,0,0,0,1,0,0,0,1];F.draw=function(t){return s.call(this,t,!1)},F.drawTransparent=function(t){return s.call(this,t,!0)};var H={model:z,view:z,projection:z,inverseModel:z,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};F.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=H;r.model=t.model||z,r.view=t.view||z,r.projection=t.projection||z,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=V;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var s=o(r,this);if(s.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=s.projections[n],this._pickShader.uniforms.clipBounds=s.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(s.showContour){var l=this._contourPickShader;l.bind(),l.uniforms=r;var u=this._contourVAO;for(u.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),l.uniforms.permutation=O[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(l.uniforms.height=this.contourLevels[a][n],u.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(l.uniforms.model=s.projections[n],l.uniforms.clipBounds=s.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){l.uniforms.permutation=O[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(l.uniforms.height=this.contourLevels[a][c],u.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}u.unbind()}},F.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var h=c?a:1-a,f=0;f<2;++f)for(var d=f?l:1-l,p=i+c,m=s+f,g=h*d,v=0;v<3;++v)u[v]+=this._field[v].get(p,m)*g;for(var y=this._pickResult.level,b=0;b<3;++b)if(y[b]=k.le(this.contourLevels[b],u[b]),y[b]<0)this.contourLevels[b].length>0&&(y[b]=0);else if(y[b]<this.contourLevels[b].length-1){var x=this.contourLevels[b][y[b]],_=this.contourLevels[b][y[b]+1];Math.abs(x-u[b])>Math.abs(_-u[b])&&(y[b]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},F.update=function(t){t=t||{},this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=u(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=u(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=u(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=h(t.contourColor)),\"contourProject\"in t&&(this.contourProject=u(t.contourProject,function(t){return u(t,Boolean)})),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=h(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=u(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=u(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var n=(e.shape[0]+2)*(e.shape[1]+2);n>this._field[2].data.length&&(v.freeFloat(this._field[2].data),this._field[2].data=v.mallocFloat(d.nextPow2(n))),this._field[2]=_(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),l(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(v.freeFloat(this._field[o].data),this._field[o].data=v.mallocFloat(this._field[2].size)),this._field[o]=_(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var s=t.coords;if(!Array.isArray(s)||3!==s.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var c=s[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error(\"gl-surface: coords have incorrect shape\");l(this._field[o],c)}}else if(t.ticks){var f=t.ticks;if(!Array.isArray(f)||2!==f.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var p=f[o];if((Array.isArray(p)||p.length)&&(p=_(p)),p.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var m=_(p.data,a);m.stride[o]=p.stride[0],m.stride[1^o]=0,l(this._field[o],m)}}else{for(o=0;o<2;++o){var g=[0,0];g[o]=1,this._field[o]=_(this._field[o].data,[a[0]+2,a[1]+2],g,0)}this._field[0].set(0,0,0);for(var y=0;y<a[0];++y)this._field[0].set(y+1,0,y);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),y=0;y<a[1];++y)this._field[1].set(0,y+1,y);this._field[1].set(0,a[1]+1,a[1]-1)}var b=this._field,x=_(v.mallocFloat(3*b[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)T(x.pick(o),b[o],\"mirror\");var M=_(v.mallocFloat(3*b[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(y=0;y<a[1]+2;++y){var A=x.get(0,o,y,0),k=x.get(0,o,y,1),E=x.get(1,o,y,0),S=x.get(1,o,y,1),L=x.get(2,o,y,0),C=x.get(2,o,y,1),D=E*C-S*L,I=L*k-C*A,z=A*S-k*E,O=Math.sqrt(D*D+I*I+z*z);O<1e-8?(O=Math.max(Math.abs(D),Math.abs(I),Math.abs(z)),O<1e-8?(z=1,I=D=0,O=1):O=1/O):O=1/Math.sqrt(O),M.set(o,y,0,D*O),M.set(o,y,1,I*O),M.set(o,y,2,z*O)}v.free(x.data);var R=[1/0,1/0,1/0],F=[-(1/0),-(1/0),-(1/0)],j=1/0,N=-(1/0),B=(a[0]-1)*(a[1]-1)*6,U=v.mallocFloat(d.nextPow2(10*B)),V=0,H=0;for(o=0;o<a[0]-1;++o)t:for(y=0;y<a[1]-1;++y){for(var q=0;q<2;++q)for(var G=0;G<2;++G)for(var Y=0;Y<3;++Y){var X=this._field[Y].get(1+o+q,1+y+G);if(isNaN(X)||!isFinite(X))continue t}for(Y=0;Y<6;++Y){var W=o+P[Y][0],Z=y+P[Y][1],J=this._field[0].get(W+1,Z+1),K=this._field[1].get(W+1,Z+1);X=this._field[2].get(W+1,Z+1);var Q=X;D=M.get(W+1,Z+1,0),I=M.get(W+1,Z+1,1),z=M.get(W+1,Z+1,2),t.intensity&&(Q=t.intensity.get(W,Z)),U[V++]=W,U[V++]=Z,U[V++]=J,U[V++]=K,U[V++]=X,U[V++]=0,U[V++]=Q,U[V++]=D,U[V++]=I,U[V++]=z,R[0]=Math.min(R[0],J),R[1]=Math.min(R[1],K),R[2]=Math.min(R[2],X),j=Math.min(j,Q),F[0]=Math.max(F[0],J),F[1]=Math.max(F[1],K),F[2]=Math.max(F[2],X),N=Math.max(N,Q),H+=1}}for(t.intensityBounds&&(j=+t.intensityBounds[0],N=+t.intensityBounds[1]),o=6;o<V;o+=10)U[o]=(U[o]-j)/(N-j);this._vertexCount=H,this._coordinateBuffer.update(U.subarray(0,V)),v.freeFloat(U),v.free(M.data),this.bounds=[R,F],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===j&&this.intensityBounds[1]===N||(r=!0),this.intensityBounds=[j,N]}if(\"levels\"in t){var $=t.levels;for($=Array.isArray($[0])?$.slice():[[],[],$],o=0;o<3;++o)$[o]=$[o].slice(),$.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if($[o].length!==this.contourLevels[o].length){r=!0;break}for(y=0;y<$[o].length;++y)if($[o][y]!==this.contourLevels[o][y]){r=!0;break t}}this.contourLevels=$}if(r){b=this._field,a=this.shape;for(var tt=[],et=0;et<3;++et){$=this.contourLevels[et];var rt=[],nt=[],it=[0,0,0];for(o=0;o<$.length;++o){var at=w(this._field[et],$[o]);rt.push(tt.length/5|0),H=0;t:for(y=0;y<at.cells.length;++y){var ot=at.cells[y];for(Y=0;Y<2;++Y){var st=at.positions[ot[Y]],lt=st[0],ut=0|Math.floor(lt),ct=lt-ut,ht=st[1],ft=0|Math.floor(ht),dt=ht-ft,pt=!1;e:for(var mt=0;mt<3;++mt){it[mt]=0;var gt=(et+mt+1)%3;for(q=0;q<2;++q){var vt=q?ct:1-ct;for(W=0|Math.min(Math.max(ut+q,0),a[0]),G=0;G<2;++G){var yt=G?dt:1-dt;if(Z=0|Math.min(Math.max(ft+G,0),a[1]),X=mt<2?this._field[gt].get(W,Z):(this.intensity.get(W,Z)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(X)||isNaN(X)){pt=!0;break e}var bt=vt*yt;it[mt]+=bt*X}}}if(pt){if(Y>0){for(var xt=0;xt<5;++xt)tt.pop();H-=1}continue t}tt.push(it[0],it[1],st[0],st[1],it[2]),H+=1}}nt.push(H)}this._contourOffsets[et]=rt,this._contourCounts[et]=nt}var _t=v.mallocFloat(tt.length);for(o=0;o<tt.length;++o)_t[o]=tt[o];this._contourBuffer.update(_t),v.freeFloat(_t)}t.colormap&&this._colorMap.setPixels(i(t.colormap))},F.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)v.freeFloat(this._field[t].data)},F.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=v.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,u=this._field[o],c=this._field[s],h=this._field[l],f=(this.intensity,w(u,r[o])),d=f.cells,p=f.positions;for(this._dynamicOffsets[o]=n,e=0;e<d.length;++e)for(var m=d[e],g=0;g<2;++g){var y=p[m[g]],b=+y[0],x=0|b,_=0|Math.min(x+1,i[0]),M=b-x,A=1-M,k=+y[1],T=0|k,E=0|Math.min(T+1,i[1]),S=k-T,L=1-S,C=A*L,D=A*S,I=M*L,z=M*S,P=C*c.get(x,T)+D*c.get(x,E)+I*c.get(_,T)+z*c.get(_,E),O=C*h.get(x,T)+D*h.get(x,E)+I*h.get(_,T)+z*h.get(_,E);if(isNaN(P)||isNaN(O)){g&&(n-=1);break}a[2*n+0]=P,a[2*n+1]=O,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),v.freeFloat(a)}}},{\"./lib/shaders\":247,\"binary-search-bounds\":56,\"bit-twiddle\":57,colormap:89,\"gl-buffer\":138,\"gl-mat4/invert\":162,\"gl-mat4/multiply\":164,\"gl-texture2d\":249,\"gl-vao\":253,ndarray:447,\"ndarray-gradient\":438,\"ndarray-ops\":441,\"ndarray-pack\":442,\"surface-nets\":509,\"typedarray-pool\":519}],249:[function(t,e,r){\"use strict\";function n(t){v=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],y=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],b=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function i(t){return\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&t instanceof ImageData}function a(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function o(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}function s(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function l(t,e,r,n,i,a,o,l){var u=l.dtype,c=l.shape.slice();if(c.length<2||c.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var h=0,f=0,d=s(c,l.stride.slice());\"float32\"===u?h=t.FLOAT:\"float64\"===u?(h=t.FLOAT,d=!1,u=\"float32\"):\"uint8\"===u?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,d=!1,u=\"uint8\");if(2===c.length)f=t.LUMINANCE,c=[c[0],c[1],1],l=p(l.data,c,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==c.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===c[2])f=t.ALPHA;else if(2===c[2])f=t.LUMINANCE_ALPHA;else if(3===c[2])f=t.RGB;else{if(4!==c[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");f=t.RGBA}c[2]}if(f!==t.LUMINANCE&&f!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(f=i),f!==i)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var v=l.size,y=o.indexOf(n)<0;if(y&&o.push(n),h===a&&d)0===l.offset&&l.data.length===v?y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data):y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data.subarray(l.offset,l.offset+v)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data.subarray(l.offset,l.offset+v));else{var b;b=a===t.FLOAT?g.mallocFloat32(v):g.mallocUint8(v);var _=p(b,c,[c[2],c[2]*c[0],1]);h===t.FLOAT&&a===t.UNSIGNED_BYTE?x(_,l):m.assign(_,l),y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,b.subarray(0,v)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,b.subarray(0,v)),a===t.FLOAT?g.freeFloat32(b):g.freeUint8(b)}}function u(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function c(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var s=u(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new o(t,s,e,r,n,i)}function h(t,e,r,n){var i=u(t);return t.texImage2D(t.TEXTURE_2D,0,r,r,n,e),new o(t,i,0|e.width,0|e.height,r,n)}function f(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]<0||n[0]>i||n[1]<0||n[1]>i)throw new Error(\"gl-texture2d: Invalid texture size\");var a=s(n,e.stride.slice()),l=0;\"float32\"===r?l=t.FLOAT:\"float64\"===r?(l=t.FLOAT,a=!1,r=\"float32\"):\"uint8\"===r?l=t.UNSIGNED_BYTE:(l=t.UNSIGNED_BYTE,a=!1,r=\"uint8\");var c=0;if(2===n.length)c=t.LUMINANCE,n=[n[0],n[1],1],e=p(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===n[2])c=t.ALPHA;else if(2===n[2])c=t.LUMINANCE_ALPHA;else if(3===n[2])c=t.RGB;else{if(4!==n[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");c=t.RGBA}}l!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(l=t.UNSIGNED_BYTE,a=!1);var h,f,d=e.size;if(a)h=0===e.offset&&e.data.length===d?e.data:e.data.subarray(e.offset,e.offset+d);else{var v=[n[2],n[2]*n[0],1];f=g.malloc(d,r);var y=p(f,n,v,0);\"float32\"!==r&&\"float64\"!==r||l!==t.UNSIGNED_BYTE?m.assign(y,e):x(y,e),h=f.subarray(0,d)}var b=u(t);return t.texImage2D(t.TEXTURE_2D,0,c,n[0],n[1],0,c,l,h),a||g.free(f),new o(t,b,n[0],n[1],c,l)}function d(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(v||n(t),\"number\"==typeof arguments[1])return c(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return c(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(\"object\"==typeof arguments[1]){var e=arguments[1];if(i(e))return h(t,e,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return f(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}var p=t(\"ndarray\"),m=t(\"ndarray-ops\"),g=t(\"typedarray-pool\");e.exports=d;var v=null,y=null,b=null,x=function(t,e){m.muls(t,e,255)},_=o.prototype;Object.defineProperties(_,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&v.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),y.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&v.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),y.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),b.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),b.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(b.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")\n}else t=[0|t,0|t];return a(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,a(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,a(this,this._shape[0],t),t}}}),_.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},_.dispose=function(){this.gl.deleteTexture(this.handle)},_.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},_.setPixels=function(t,e,r,n){var a=this.gl;if(this.bind(),Array.isArray(e)?(n=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),n=n||0,i(t)){this._mipLevels.indexOf(n)<0?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,t),this._mipLevels.push(n)):a.texSubImage2D(a.TEXTURE_2D,n,e,r,this.format,this.type,t)}else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>n||r+t.shape[0]>this._shape[0]>>>n||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");l(a,e,r,n,this.format,this.type,this._mipLevels,t)}}},{ndarray:447,\"ndarray-ops\":441,\"typedarray-pool\":519}],250:[function(t,e,r){\"use strict\";function n(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,u=!!a.normalized,c=a.stride||0,h=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,u,c,h)}else{if(\"number\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\"gl-vao: Invalid vertex attribute\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else{t.bindBuffer(t.ARRAY_BUFFER,null);for(var i=0;i<n;++i)t.disableVertexAttribArray(i)}}e.exports=n},{}],251:[function(t,e,r){\"use strict\";function n(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}function i(t){return new n(t)}var a=t(\"./do-bind.js\");n.prototype.bind=function(){a(this.gl,this._elements,this._attributes)},n.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},n.prototype.dispose=function(){},n.prototype.unbind=function(){},n.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=i},{\"./do-bind.js\":250}],252:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}function a(t,e){return new i(t,e,e.createVertexArrayOES())}var o=t(\"./do-bind.js\");n.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),o(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i<t.length;++i){var a=t[i];\"number\"==typeof a?this._attribs.push(new n(i,1,a)):Array.isArray(a)&&this._attribs.push(new n(i,a.length,a[0],a[1],a[2],a[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=a},{\"./do-bind.js\":250}],253:[function(t,e,r){\"use strict\";function n(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}function i(t,e,r,i){var s,l=t.createVertexArray?new n(t):t.getExtension(\"OES_vertex_array_object\");return s=l?a(t,l):o(t),s.update(e,r,i),s}var a=t(\"./lib/vao-native.js\"),o=t(\"./lib/vao-emulated.js\");e.exports=i},{\"./lib/vao-emulated.js\":251,\"./lib/vao-native.js\":252}],254:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}e.exports=n},{}],255:[function(t,e,r){function n(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}e.exports=n},{}],256:[function(t,e,r){function n(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}e.exports=n},{}],257:[function(t,e,r){function n(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}e.exports=n},{}],258:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}e.exports=n},{}],259:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}e.exports=n},{}],260:[function(t,e,r){function n(t,e,r,n){return i[0]=n,i[1]=r,i[2]=e,i[3]=t,a[0]}e.exports=n;var i=new Uint8Array(4),a=new Float32Array(i.buffer)},{}],261:[function(t,e,r){function n(t){for(var e=Array.isArray(t)?t:i(t),r=0;r<e.length;r++){var n=e[r];if(\"preprocessor\"===n.type){var o=n.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?a(l):l).trim()}}}}var i=t(\"glsl-tokenizer\"),a=t(\"atob-lite\");e.exports=n},{\"atob-lite\":38,\"glsl-tokenizer\":268}],262:[function(t,e,r){function n(t){function e(t){t.length&&V.push({type:M[B],data:t,position:G,line:H,column:q})}function r(t){j=0,W+=t,F=W.length;for(var e;O=W[j],j<F;){switch(e=j,B){case h:j=S();break;case f:j=E();break;case d:j=T();break;case p:j=L();break;case m:j=I();break;case w:j=D();break;case g:j=z();break;case c:j=P();break;case x:j=k();break;case u:j=A()}if(e!==j)switch(W[e]){case\"\\n\":q=0,++H;break;default:++q}}return N+=j,W=W.slice(j),V}function n(t){return U.length&&e(U.join(\"\")),B=_,e(\"(eof)\"),V}function A(){return U=U.length?[]:U,\"/\"===R&&\"*\"===O?(G=N+j-1,B=h,R=O,j+1):\"/\"===R&&\"/\"===O?(G=N+j-1,B=f,R=O,j+1):\"#\"===O?(B=d,G=N+j,j):/\\s/.test(O)?(B=x,G=N+j,j):(Y=/\\d/.test(O),X=/[^\\w_]/.test(O),G=N+j,B=Y?m:X?p:c,j)}function k(){return/[^\\s]/g.test(O)?(e(U.join(\"\")),B=u,j):(U.push(O),R=O,j+1)}function T(){return\"\\r\"!==O&&\"\\n\"!==O||\"\\\\\"===R?(U.push(O),R=O,j+1):(e(U.join(\"\")),B=u,j)}function E(){return T()}function S(){return\"/\"===O&&\"*\"===R?(U.push(O),e(U.join(\"\")),B=u,j+1):(U.push(O),R=O,j+1)}function L(){if(\".\"===R&&/\\d/.test(O))return B=g,j;if(\"/\"===R&&\"*\"===O)return B=h,j;if(\"/\"===R&&\"/\"===O)return B=f,j;if(\".\"===O&&U.length){for(;C(U););return B=g,j}if(\";\"===O||\")\"===O||\"(\"===O){if(U.length)for(;C(U););return e(O),B=u,j+1}var t=2===U.length&&\"=\"!==O;if(/[\\w_\\d\\s]/.test(O)||t){for(;C(U););return B=u,j}return U.push(O),R=O,j+1}function C(t){for(var r,n,i=0;;){if(r=a.indexOf(t.slice(0,t.length+i).join(\"\")),n=a[r],r===-1){if(i--+t.length>0)continue;n=t.slice(0,1).join(\"\")}return e(n),G+=n.length,U=U.slice(n.length),U.length}}function D(){return/[^a-fA-F0-9]/.test(O)?(e(U.join(\"\")),B=u,j):(U.push(O),R=O,j+1)}function I(){return\".\"===O?(U.push(O),B=g,R=O,j+1):/[eE]/.test(O)?(U.push(O),B=g,R=O,j+1):\"x\"===O&&1===U.length&&\"0\"===U[0]?(B=w,U.push(O),R=O,j+1):/[^\\d]/.test(O)?(e(U.join(\"\")),B=u,j):(U.push(O),R=O,j+1)}function z(){return\"f\"===O&&(U.push(O),R=O,j+=1),/[eE]/.test(O)?(U.push(O),R=O,j+1):\"-\"===O&&/[eE]/.test(R)?(U.push(O),R=O,j+1):/[^\\d]/.test(O)?(e(U.join(\"\")),B=u,j):(U.push(O),R=O,j+1)}function P(){if(/[^\\d\\w_]/.test(O)){var t=U.join(\"\");return B=J.indexOf(t)>-1?b:Z.indexOf(t)>-1?y:v,e(U.join(\"\")),B=u,j}return U.push(O),R=O,j+1}var O,R,F,j=0,N=0,B=u,U=[],V=[],H=1,q=0,G=0,Y=!1,X=!1,W=\"\";t=t||{};var Z=o,J=i;return\"300 es\"===t.version&&(Z=l,J=s),function(t){return V=[],null!==t?r(t.replace?t.replace(/\\r\\n/g,\"\\n\"):t):n()}}e.exports=n;var i=t(\"./lib/literals\"),a=t(\"./lib/operators\"),o=t(\"./lib/builtins\"),s=t(\"./lib/literals-300es\"),l=t(\"./lib/builtins-300es\"),u=999,c=9999,h=0,f=1,d=2,p=3,m=4,g=5,v=6,y=7,b=8,x=9,_=10,w=11,M=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},{\"./lib/builtins\":264,\"./lib/builtins-300es\":263,\"./lib/literals\":266,\"./lib/literals-300es\":265,\"./lib/operators\":267}],263:[function(t,e,r){var n=t(\"./builtins\");n=n.slice().filter(function(t){return!/^(gl\\_|texture)/.test(t)}),e.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},{\"./builtins\":264}],264:[function(t,e,r){e.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},{}],265:[function(t,e,r){var n=t(\"./literals\");e.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},{\"./literals\":266}],266:[function(t,e,r){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},{}],267:[function(t,e,r){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},{}],268:[function(t,e,r){function n(t,e){var r=i(e),n=[];return n=n.concat(r(t)),n=n.concat(r(null))}var i=t(\"./index\");e.exports=n},{\"./index\":262}],269:[function(t,e,r){\"use strict\";function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o<this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var u=a[i+n.length],c=a[i+n.length+1];this.keys=a.subarray(u,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var h=0;h<this.d*this.d;h++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}e.exports=n;var i=3;n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[],s={};return this._forEachCell(t,e,r,n,this._queryCell,o,s),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,u=this.bboxes,c=0;c<s.length;c++){var h=s[c];if(void 0===o[h]){var f=4*h;t<=u[f+2]&&e<=u[f+3]&&r>=u[f+0]&&n>=u[f+1]?(o[h]=!0,a.push(l[h])):o[h]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),u=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var d=this.d*f+h;if(i.call(this,t,e,r,n,d,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var o=e,s=0;s<t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],270:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,d=t[e+h];for(h+=f,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,n),a-=u}return(d?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),e+=o+h>=1?f/l:f*Math.pow(2,1-h),e*l>=2&&(o++,l/=2),o+h>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+d]=255&s,d+=p,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+d]=255&o,d+=p,o/=256,u-=8);t[r+d-p]|=128*m}},{}],271:[function(t,e,r){\"use strict\";function n(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function i(t,e,r){this.vertices=t,this.cell=e,this.index=r}function a(t,e){return c(t.vertices,e.vertices)}function o(t){for(var e=[\"function orient(){var tuple=this.tuple;return test(\"],r=0;r<=t;++r)r>0&&e.push(\",\"),e.push(\"tuple[\",r,\"]\");e.push(\")}return orient\");var n=new Function(\"test\",e.join(\"\")),i=u[t+1];return i||(i=u),n(i)}function s(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter(function(t){return!t.boundary}),this.tuple=new Array(t+1);for(var n=0;n<=t;++n)this.tuple[n]=this.vertices[n];var i=h[t];i||(i=h[t]=o(t)),this.orient=i}function l(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var i=t[0].length;if(r<=i)throw new Error(\"Must input at least d+1 points\");var a=t.slice(0,i+1),o=u.apply(void 0,a);if(0===o)throw new Error(\"Input not in general position\");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;o<0&&(l[0]=1,l[1]=0);for(var h=new n(l,new Array(i+1),!1),f=h.adjacent,d=new Array(i+2),c=0;c<=i;++c){for(var p=l.slice(),m=0;m<=i;++m)m===c&&(p[m]=-1);var g=p[0];p[0]=p[1],p[1]=g;var v=new n(p,new Array(i+1),!0);f[c]=v,d[c]=v}d[i+1]=h;for(var c=0;c<=i;++c)for(var p=f[c].vertices,y=f[c].adjacent,m=0;m<=i;++m){var b=p[m];if(b<0)y[m]=h;else for(var x=0;x<=i;++x)f[x].vertices.indexOf(b)<0&&(y[m]=f[x])}for(var _=new s(i,a,d),w=!!e,c=i+1;c<r;++c)_.insert(t[c],w);return _.boundary()}e.exports=l;var u=t(\"robust-orientation\"),c=t(\"simplicial-complex\").compareCells;n.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var h=[],f=s.prototype;f.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){t=o.pop();for(var s=(t.vertices,t.adjacent),l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,h=0;h<=r;++h){var f=c[h];i[h]=f<0?e:a[f]}var d=this.orient();if(d>0)return u;u.lastVisited=-n,0===d&&o.push(u)}}}return null},f.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];s.lastVisited=r;for(var c=0;c<=n;++c){var h=u[c];if(!(h.lastVisited>=r)){var f=a[c];a[c]=t;var d=this.orient();if(a[c]=f,d<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},f.addPeaks=function(t,e){var r=this.vertices.length-1,o=this.dimension,s=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var f=[];h.length>0;){var e=h.pop(),d=e.vertices,p=e.adjacent,m=d.indexOf(r);if(!(m<0))for(var g=0;g<=o;++g)if(g!==m){var v=p[g];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var b=0,x=0;x<=o;++x)y[x]<0?(b=x,l[x]=t):l[x]=s[y[x]];var _=this.orient();if(_>0){y[b]=r,v.boundary=!1,u.push(v),h.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var w=v.adjacent,M=d.slice(),A=p.slice(),k=new n(M,A,!0);c.push(k);var T=w.indexOf(e);if(!(T<0)){w[T]=k,A[m]=v,M[g]=-1,A[g]=e,p[g]=k,k.flip();for(var x=0;x<=o;++x){var E=M[x];if(!(E<0||E===r)){for(var S=new Array(o-1),L=0,C=0;C<=o;++C){var D=M[C];D<0||C===x||(S[L++]=D)}f.push(new i(S,k,x))}}}}}}f.sort(a);for(var g=0;g+1<f.length;g+=2){var I=f[g],z=f[g+1],P=I.index,O=z.index;P<0||O<0||(I.cell.adjacent[I.index]=z.cell,z.cell.adjacent[z.index]=I.cell)}},f.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},f.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,u=0,c=0;c<=t;++c)s[c]>=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{\"robust-orientation\":487,\"simplicial-complex\":498}],272:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}function i(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function a(t,e){var r=p(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function o(t,e){var r=t.intervals([]);r.push(e),a(t,r)}function s(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?y:(r.splice(n,1),a(t,r),b)}function l(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function u(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function c(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function h(t,e){return t-e}function f(t,e){var r=t[0]-e[0];return r?r:t[1]-e[1]}function d(t,e){var r=t[1]-e[1];return r?r:t[0]-e[0]}function p(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(h);for(var i=e[e.length>>1],a=[],o=[],s=[],r=0;r<t.length;++r){var l=t[r];l[1]<i?a.push(l):i<l[0]?o.push(l):s.push(l)}var u=s,c=s.slice();return u.sort(f),c.sort(d),new n(i,p(a),p(o),u,c)}function m(t){this.root=t}function g(t){return new m(t&&0!==t.length?p(t):null)}var v=t(\"binary-search-bounds\"),y=0,b=1;e.exports=g;var x=n.prototype;x.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},x.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?o(this,t):this.left.insert(t):this.left=p([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?o(this,t):this.right.insert(t):this.right=p([t]);else{var r=v.ge(this.leftPoints,t,f),n=v.ge(this.rightPoints,t,d);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},x.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){if(!this.left)return y;if(4*(this.right?this.right.count:0)>3*(e-1))return s(this,t);var r=this.left.remove(t);return 2===r?(this.left=null,this.count-=1,b):(r===b&&(this.count-=1),r)}if(t[0]>this.mid){if(!this.right)return y;if(4*(this.left?this.left.count:0)>3*(e-1))return s(this,t);var r=this.right.remove(t);return 2===r?(this.right=null,this.count-=1,b):(r===b&&(this.count-=1),r)}if(1===this.count)return this.leftPoints[0]===t?2:y;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var n=this,a=this.left;a.right;)n=a,a=a.right;if(n===this)a.right=this.right;else{var o=this.left,r=this.right;n.count-=a.count,n.right=a.left,a.left=o,a.right=r}i(this,a),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?i(this,this.left):i(this,this.right);return b}for(var o=v.ge(this.leftPoints,t,f);o<this.leftPoints.length&&this.leftPoints[o][0]===t[0];++o)if(this.leftPoints[o]===t){this.count-=1,this.leftPoints.splice(o,1);for(var r=v.ge(this.rightPoints,t,d);r<this.rightPoints.length&&this.rightPoints[r][1]===t[1];++r)if(this.rightPoints[r]===t)return this.rightPoints.splice(r,1),b}return y},x.queryPoint=function(t,e){if(t<this.mid){if(this.left){var r=this.left.queryPoint(t,e);if(r)return r}return l(this.leftPoints,t,e)}if(t>this.mid){if(this.right){var r=this.right.queryPoint(t,e);if(r)return r}return u(this.rightPoints,t,e)}return c(this.leftPoints,e)},x.queryInterval=function(t,e,r){if(t<this.mid&&this.left){var n=this.left.queryInterval(t,e,r);if(n)return n}if(e>this.mid&&this.right){var n=this.right.queryInterval(t,e,r);if(n)return n}return e<this.mid?l(this.leftPoints,e,r):t>this.mid?u(this.rightPoints,t,r):c(this.leftPoints,r)};var _=m.prototype;_.insert=function(t){this.root?this.root.insert(t):this.root=new n(t[0],null,null,[t],[t])},_.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==y}return!1},_.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},_.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(_,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(_,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\"binary-search-bounds\":56}],273:[function(t,e,r){\"use strict\";function n(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}e.exports=n},{}],274:[function(t,e,r){\"use strict\";function n(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}e.exports=n},{}],275:[function(t,e,r){function n(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function i(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}e.exports=function(t){return null!=t&&(n(t)||i(t)||!!t._isBuffer)}},{}],276:[function(t,e,r){function n(t){return t||\"undefined\"==typeof navigator||(t=navigator.userAgent),t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]),\"string\"==typeof t&&(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(t.substr(0,4)))}e.exports=n},{}],277:[function(t,e,r){\"use strict\";var n=Object.prototype.toString;e.exports=function(t){var e;return\"[object Object]\"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],278:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){return new i(t,e,r,n,a)}function i(t,e,r,n,i){e=e||a,r=r||o,i=i||Array,this.nodeSize=n||64,this.points=t,this.ids=new i(t.length),this.coords=new i(2*t.length);for(var l=0;l<t.length;l++)this.ids[l]=l,this.coords[2*l]=e(t[l]),this.coords[2*l+1]=r(t[l]);s(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function a(t){return t[0]}function o(t){return t[1]}var s=t(\"./sort\"),l=t(\"./range\"),u=t(\"./within\");e.exports=n,i.prototype={range:function(t,e,r,n){return l(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return u(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\"./range\":279,\"./sort\":280,\"./within\":281}],279:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){for(var s,l,u=[0,t.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),d=u.pop();if(f-d<=o)for(var p=d;p<=f;p++)s=e[2*p],l=e[2*p+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[p]);else{var m=Math.floor((d+f)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[m]);var g=(h+1)%2;(0===h?r<=s:n<=l)&&(u.push(d),u.push(m-1),u.push(g)),(0===h?i>=s:a>=l)&&(u.push(m+1),u.push(f),u.push(g))}}return c}e.exports=n},{}],280:[function(t,e,r){\"use strict\";function n(t,e,r,a,o,s){if(!(o-a<=r)){var l=Math.floor((a+o)/2);i(t,e,l,a,o,s%2),n(t,e,r,a,l-1,s+1),n(t,e,r,l+1,o,s+1)}}function i(t,e,r,n,o,s){for(;o>n;){if(o-n>600){var l=o-n+1,u=r-n+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);i(t,e,r,Math.max(n,Math.floor(r-u*h/l+f)),Math.min(o,Math.floor(r+(l-u)*h/l+f)),s)}var d=e[2*r+s],p=n,m=o;for(a(t,e,n,r),e[2*o+s]>d&&a(t,e,n,o);p<m;){for(a(t,e,p,m),p++,m--;e[2*p+s]<d;)p++;for(;e[2*m+s]>d;)m--}e[2*n+s]===d?a(t,e,n,m):(m++,a(t,e,m,o)),m<=r&&(n=m+1),r<=m&&(o=m-1)}}function a(t,e,r,n){o(t,r,n),o(e,2*r,2*n),o(e,2*r+1,2*n+1)}function o(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],281:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,o){for(var s=[0,t.length-1,0],l=[],u=a*a;s.length;){\nvar c=s.pop(),h=s.pop(),f=s.pop();if(h-f<=o)for(var d=f;d<=h;d++)i(e[2*d],e[2*d+1],r,n)<=u&&l.push(t[d]);else{var p=Math.floor((f+h)/2),m=e[2*p],g=e[2*p+1];i(m,g,r,n)<=u&&l.push(t[p]);var v=(c+1)%2;(0===c?r-a<=m:n-a<=g)&&(s.push(f),s.push(p-1),s.push(v)),(0===c?r+a>=m:n+a>=g)&&(s.push(p+1),s.push(h),s.push(v))}}return l}function i(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=n},{}],282:[function(t,e,r){\"use strict\";function n(t,e){var r;if(h(t)){var l,u=t.stops&&\"object\"==typeof t.stops[0][0],c=u||void 0!==t.property,f=u||!c,d=t.type||e||\"exponential\";if(\"exponential\"===d)l=o;else if(\"interval\"===d)l=a;else if(\"categorical\"===d)l=i;else{if(\"identity\"!==d)throw new Error('Unknown function type \"'+d+'\"');l=s}if(u){for(var p={},m=[],g=0;g<t.stops.length;g++){var v=t.stops[g];void 0===p[v[0].zoom]&&(p[v[0].zoom]={zoom:v[0].zoom,type:t.type,property:t.property,stops:[]}),p[v[0].zoom].stops.push([v[0].value,v[1]])}for(var y in p)m.push([p[y].zoom,n(p[y])]);r=function(e,r){return o({stops:m,base:t.base},e)(e,r)},r.isFeatureConstant=!1,r.isZoomConstant=!1}else f?(r=function(e){return l(t,e)},r.isFeatureConstant=!0,r.isZoomConstant=!1):(r=function(e,r){return l(t,r[t.property])},r.isFeatureConstant=!1,r.isZoomConstant=!0)}else r=function(){return t},r.isFeatureConstant=!0,r.isZoomConstant=!0;return r}function i(t,e){for(var r=0;r<t.stops.length;r++)if(e===t.stops[r][0])return t.stops[r][1];return t.stops[0][1]}function a(t,e){for(var r=0;r<t.stops.length&&!(e<t.stops[r][0]);r++);return t.stops[Math.max(r-1,0)][1]}function o(t,e){for(var r=void 0!==t.base?t.base:1,n=0;;){if(n>=t.stops.length)break;if(e<=t.stops[n][0])break;n++}return 0===n?t.stops[n][1]:n===t.stops.length?t.stops[n-1][1]:l(e,r,t.stops[n-1][0],t.stops[n][0],t.stops[n-1][1],t.stops[n][1])}function s(t,e){return e}function l(t,e,r,n,i,a){return\"function\"==typeof i?function(){return l(t,e,r,n,i.apply(void 0,arguments),a.apply(void 0,arguments))}:i.length?c(t,e,r,n,i,a):u(t,e,r,n,i,a)}function u(t,e,r,n,i,a){var o,s=n-r,l=t-r;return o=1===e?l/s:(Math.pow(e,l)-1)/(Math.pow(e,s)-1),i*(1-o)+a*o}function c(t,e,r,n,i,a){for(var o=[],s=0;s<i.length;s++)o[s]=u(t,e,r,n,i[s],a[s]);return o}function h(t){return\"object\"==typeof t&&(t.stops||\"identity\"===t.type)}e.exports.isFunctionDefinition=h,e.exports.interpolated=function(t){return n(t,\"exponential\")},e.exports[\"piecewise-constant\"]=function(t){return n(t,\"interval\")}},{}],283:[function(t,e,r){t(\"path\");e.exports={debug:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform lowp vec4 u_color;\\n\\nvoid main() {\\n    gl_FragColor = u_color;\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},circle:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    float t = smoothstep(1.0 - max(blur, v_antialiasblur), 1.0, length(v_extrude));\\n    gl_FragColor = color * (1.0 - t) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\nuniform float u_devicepixelratio;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize lowp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n    if (u_scale_with_map) {\\n        gl_Position.xy += extrude;\\n    } else {\\n        gl_Position.xy += extrude * gl_Position.w;\\n    }\\n\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\n    // to keep the blur at roughly 1px, the two are inversely related.\\n    v_antialiasblur = 1.0 / u_devicepixelratio / radius;\\n}\\n\"},line:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform lowp vec4 u_color;\\nuniform lowp float u_opacity;\\nuniform float u_blur;\\n\\nvarying vec2 v_linewidth;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_linewidth.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\n    // (v_linewidth.s)\\n    float blur = u_blur * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\n\\n    gl_FragColor = u_color * (alpha * u_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_linewidth;\\nuniform mediump float u_gapwidth;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_extra;\\nuniform mat2 u_antialiasingmatrix;\\nuniform mediump float u_offset;\\nuniform mediump float u_blur;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n    // We store the texture normals in the most insignificant bit\\n    // transform y so that 0 => -1 and 1 => 1\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = mod(a_pos, 2.0);\\n    normal.y = sign(normal.y - 0.5);\\n    v_normal = normal;\\n\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    // Remove the texture normal bit of the position before scaling it with the\\n    // model/view matrix.\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\n\\n    // position of y on the screen\\n    float y = gl_Position.y / gl_Position.w;\\n\\n    // how much features are squished in the y direction by the tilt\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\n\\n    // how much features are squished in all directions by the perspectiveness\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\n\\n    v_linewidth = vec2(outset, inset);\\n    v_gamma_scale = perspective_scale * squish_scale;\\n}\\n\"},linepattern:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_blur;\\n\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\nuniform float u_opacity;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_linewidth.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\n    // (v_linewidth.s)\\n    float blur = u_blur * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\n\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n    float y_a = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_a.y);\\n    float y_b = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_b.y);\\n    vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n    vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n    alpha *= u_opacity;\\n\\n    gl_FragColor = color * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_linewidth;\\nuniform mediump float u_gapwidth;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_extra;\\nuniform mat2 u_antialiasingmatrix;\\nuniform mediump float u_offset;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n    // We store the texture normals in the most insignificant bit\\n    // transform y so that 0 => -1 and 1 => 1\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = mod(a_pos, 2.0);\\n    normal.y = sign(normal.y - 0.5);\\n    v_normal = normal;\\n\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    // Remove the texture normal bit of the position before scaling it with the\\n    // model/view matrix.\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\n    v_linesofar = a_linesofar;\\n\\n    // position of y on the screen\\n    float y = gl_Position.y / gl_Position.w;\\n\\n    // how much features are squished in the y direction by the tilt\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\n\\n    // how much features are squished in all directions by the perspectiveness\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\n\\n    v_linewidth = vec2(outset, inset);\\n    v_gamma_scale = perspective_scale * squish_scale;\\n}\\n\"},linesdfpattern:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform lowp vec4 u_color;\\nuniform lowp float u_opacity;\\n\\nuniform float u_blur;\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_linewidth.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\n    // (v_linewidth.s)\\n    float blur = u_blur * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\n\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n    alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n    gl_FragColor = u_color * (alpha * u_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_linewidth;\\nuniform mediump float u_gapwidth;\\nuniform mediump float u_antialiasing;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform float u_extra;\\nuniform mat2 u_antialiasingmatrix;\\nuniform mediump float u_offset;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_linewidth;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n    // We store the texture normals in the most insignificant bit\\n    // transform y so that 0 => -1 and 1 => 1\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = mod(a_pos, 2.0);\\n    normal.y = sign(normal.y - 0.5);\\n    v_normal = normal;\\n\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    // Remove the texture normal bit of the position before scaling it with the\\n    // model/view matrix.\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\n\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n    // position of y on the screen\\n    float y = gl_Position.y / gl_Position.w;\\n\\n    // how much features are squished in the y direction by the tilt\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\n\\n    // how much features are squished in all directions by the perspectiveness\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\n\\n    v_linewidth = vec2(outset, inset);\\n    v_gamma_scale = perspective_scale * squish_scale;\\n}\\n\"},outline:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = smoothstep(1.0, 0.0, dist);\\n    gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},outlinepattern:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_opacity;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    // find distance to outline for alpha interpolation\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = smoothstep(1.0, 0.0, dist);\\n    \\n\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\\n\\n    // the correct offset needs to be calculated.\\n    //\\n    // The offset depends on how many pixels are between the world origin and\\n    // the edge of the tile:\\n    // vec2 offset = mod(pixel_coord, size)\\n    //\\n    // At high zoom levels there are a ton of pixels between the world origin\\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\\n    // precision for highp floats. We need more than that.\\n    //\\n    // The pixel_coord is passed in as two 16 bit values:\\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\\n    //\\n    // The offset is calculated in a series of steps that should preserve this precision:\\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\\n\\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\\n\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},pattern:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_opacity;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\\n\\n    // the correct offset needs to be calculated.\\n    //\\n    // The offset depends on how many pixels are between the world origin and\\n    // the edge of the tile:\\n    // vec2 offset = mod(pixel_coord, size)\\n    //\\n    // At high zoom levels there are a ton of pixels between the world origin\\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\\n    // precision for highp floats. We need more than that.\\n    //\\n    // The pixel_coord is passed in as two 16 bit values:\\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\\n    //\\n    // The offset is calculated in a series of steps that should preserve this precision:\\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\\n\\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\\n}\\n\"},raster:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_opacity0;\\nuniform float u_opacity1;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n    // read and cross-fade colors from the main and parent tiles\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\n    vec4 color = color0 * u_opacity0 + color1 * u_opacity1;\\n    vec3 rgb = color.rgb;\\n\\n    // spin\\n    rgb = vec3(\\n        dot(rgb, u_spin_weights.xyz),\\n        dot(rgb, u_spin_weights.zxy),\\n        dot(rgb, u_spin_weights.yzx));\\n\\n    // saturation\\n    float average = (color.r + color.g + color.b) / 3.0;\\n    rgb += (average - rgb) * u_saturation_factor;\\n\\n    // contrast\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n    // brightness\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb), color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},icon:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp float u_opacity;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n    lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * u_opacity;\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n    vec2 a_tex = a_texture_pos.xy;\\n    mediump float a_labelminzoom = a_data[0];\\n    mediump vec2 a_zoom = a_data.pq;\\n    mediump float a_minzoom = a_zoom[0];\\n    mediump float a_maxzoom = a_zoom[1];\\n\\n    // u_zoom is the current zoom level adjusted for the change in font size\\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n    vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n    if (u_rotate_with_map) {\\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n        gl_Position.z += z * gl_Position.w;\\n    } else {\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n    }\\n\\n    v_tex = a_tex / u_texsize;\\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},sdf:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp vec4 u_color;\\nuniform lowp float u_opacity;\\nuniform lowp float u_buffer;\\nuniform lowp float u_gamma;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    lowp float dist = texture2D(u_texture, v_tex).a;\\n    lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n    lowp float gamma = u_gamma * v_gamma_scale;\\n    lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha;\\n\\n    gl_FragColor = u_color * (alpha * u_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",\nvertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nconst float PI = 3.141592653589793;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    vec2 a_tex = a_texture_pos.xy;\\n    mediump float a_labelminzoom = a_data[0];\\n    mediump vec2 a_zoom = a_data.pq;\\n    mediump float a_minzoom = a_zoom[0];\\n    mediump float a_maxzoom = a_zoom[1];\\n\\n    // u_zoom is the current zoom level adjusted for the change in font size\\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n    // pitch-alignment: map\\n    // rotation-alignment: map | viewport\\n    if (u_pitch_with_map) {\\n        lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\n        lowp float asin = sin(angle);\\n        lowp float acos = cos(angle);\\n        mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n        vec2 offset = RotationMatrix * a_offset;\\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n        gl_Position.z += z * gl_Position.w;\\n    // pitch-alignment: viewport\\n    // rotation-alignment: map\\n    } else if (u_rotate_with_map) {\\n        // foreshortening factor to apply on pitched maps\\n        // as a label goes from horizontal <=> vertical in angle\\n        // it goes from 0% foreshortening to up to around 70% foreshortening\\n        lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n        lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\n\\n        // use the lineangle to position points a,b along the line\\n        // project the points and calculate the label angle in projected space\\n        // this calculation allows labels to be rendered unskewed on pitched maps\\n        vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n        vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n        lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n        lowp float asin = sin(angle);\\n        lowp float acos = cos(angle);\\n        mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n        vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n        gl_Position.z += z * gl_Position.w;\\n    // pitch-alignment: viewport\\n    // rotation-alignment: viewport\\n    } else {\\n        vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n    }\\n\\n    v_gamma_scale = (gl_Position.w - 0.5);\\n\\n    v_tex = a_tex / u_texsize;\\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},collisionbox:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nuniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n    float alpha = 0.5;\\n\\n    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n    if (v_placement_zoom > u_zoom) {\\n        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n    }\\n\\n    if (u_zoom >= v_max_zoom) {\\n        gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n    }\\n\\n    if (v_placement_zoom >= u_maxzoom) {\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n    }\\n}\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#define lowp\\n#define mediump\\n#define highp\\n#endif\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n    v_max_zoom = a_data.x;\\n    v_placement_zoom = a_data.y;\\n}\\n\"}},e.exports.util=\"float evaluate_zoom_function_1(const vec4 values, const float t) {\\n    if (t < 1.0) {\\n        return mix(values[0], values[1], t);\\n    } else if (t < 2.0) {\\n        return mix(values[1], values[2], t - 1.0);\\n    } else {\\n        return mix(values[2], values[3], t - 2.0);\\n    }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n    if (t < 1.0) {\\n        return mix(value0, value1, t);\\n    } else if (t < 2.0) {\\n        return mix(value1, value2, t - 1.0);\\n    } else {\\n        return mix(value2, value3, t - 2.0);\\n    }\\n}\\n\"},{path:455}],284:[function(t,e,r){\"use strict\";function n(t,e){this.message=(t?t+\": \":\"\")+i.apply(i,Array.prototype.slice.call(arguments,2)),null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}var i=t(\"util\").format;e.exports=n},{util:527}],285:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}},{}],286:[function(t,e,r){\"use strict\";e.exports=function(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}},{}],287:[function(t,e,r){\"use strict\";e.exports=function(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}},{}],288:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"../util/extend\");e.exports=function(e){var r=t(\"./validate_function\"),o=t(\"./validate_object\"),s={\"*\":function(){return[]},array:t(\"./validate_array\"),boolean:t(\"./validate_boolean\"),number:t(\"./validate_number\"),color:t(\"./validate_color\"),constants:t(\"./validate_constants\"),enum:t(\"./validate_enum\"),filter:t(\"./validate_filter\"),function:t(\"./validate_function\"),layer:t(\"./validate_layer\"),object:t(\"./validate_object\"),source:t(\"./validate_source\"),string:t(\"./validate_string\")},l=e.value,u=e.valueSpec,c=e.key,h=e.styleSpec,f=e.style;if(\"string\"===i(l)&&\"@\"===l[0]){if(h.$version>7)return[new n(c,l,\"constants have been deprecated as of v8\")];if(!(l in f.constants))return[new n(c,l,'constant \"%s\" not found',l)];e=a({},e,{value:f.constants[l]})}return u.function&&\"object\"===i(l)?r(e):u.type&&s[u.type]?s[u.type](e):o(a({},e,{valueSpec:u.type?h[u.type]:u}))}},{\"../error/validation_error\":284,\"../util/extend\":285,\"../util/get_type\":286,\"./validate_array\":289,\"./validate_boolean\":290,\"./validate_color\":291,\"./validate_constants\":292,\"./validate_enum\":293,\"./validate_filter\":294,\"./validate_function\":295,\"./validate_layer\":297,\"./validate_number\":299,\"./validate_object\":300,\"./validate_source\":302,\"./validate_string\":303}],289:[function(t,e,r){\"use strict\";var n=t(\"../util/get_type\"),i=t(\"./validate\"),a=t(\"../error/validation_error\");e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,u=t.arrayElementValidator||i;if(\"array\"!==n(e))return[new a(l,e,\"array expected, %s found\",n(e))];if(r.length&&e.length!==r.length)return[new a(l,e,\"array length %d expected, length %d found\",r.length,e.length)];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return[new a(l,e,\"array length at least %d expected, length %d found\",r[\"min-length\"],e.length)];var c={type:r.value};s.$version<7&&(c.function=r.function),\"object\"===n(r.value)&&(c=r.value);for(var h=[],f=0;f<e.length;f++)h=h.concat(u({array:e,arrayIndex:f,value:e[f],valueSpec:c,style:o,styleSpec:s,key:l+\"[\"+f+\"]\"}));return h}},{\"../error/validation_error\":284,\"../util/get_type\":286,\"./validate\":288}],290:[function(t,e,r){\"use strict\";var n=t(\"../util/get_type\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\"boolean\"!==a?[new i(r,e,\"boolean expected, %s found\",a)]:[]}},{\"../error/validation_error\":284,\"../util/get_type\":286}],291:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"csscolorparser\").parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return\"string\"!==o?[new n(e,r,\"color expected, %s found\",o)]:null===a(r)?[new n(e,r,'color expected, \"%s\" found',r)]:[]}},{\"../error/validation_error\":284,\"../util/get_type\":286,csscolorparser:98}],292:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\");e.exports=function(t){var e=t.key,r=t.value;if(t.styleSpec.$version>7)return r?[new n(e,r,\"constants have been deprecated as of v8\")]:[];var a=i(r);if(\"object\"!==a)return[new n(e,r,\"object expected, %s found\",a)];var o=[];for(var s in r)\"@\"!==s[0]&&o.push(new n(e+\".\"+s,r[s],'constants must start with \"@\"'));return o}},{\"../error/validation_error\":284,\"../util/get_type\":286}],293:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/unbundle_jsonlint\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return a.values.indexOf(i(r))===-1&&o.push(new n(e,r,\"expected one of [%s], %s found\",a.values.join(\", \"),r)),o}},{\"../error/validation_error\":284,\"../util/unbundle_jsonlint\":287}],294:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"./validate_enum\"),a=t(\"../util/get_type\"),o=t(\"../util/unbundle_jsonlint\");e.exports=function t(e){var r,s=e.value,l=e.key,u=e.styleSpec,c=[];if(\"array\"!==a(s))return[new n(l,s,\"array expected, %s found\",a(s))];if(s.length<1)return[new n(l,s,\"filter array must have at least 1 element\")];switch(c=c.concat(i({key:l+\"[0]\",value:s[0],valueSpec:u.filter_operator,style:e.style,styleSpec:e.styleSpec})),o(s[0])){case\"<\":case\"<=\":case\">\":case\">=\":s.length>=2&&\"$type\"==s[1]&&c.push(new n(l,s,'\"$type\" cannot be use with operator \"%s\"',s[0]));case\"==\":case\"!=\":3!=s.length&&c.push(new n(l,s,'filter array for operator \"%s\" must have 3 elements',s[0]));case\"in\":case\"!in\":s.length>=2&&(r=a(s[1]),\"string\"!==r?c.push(new n(l+\"[1]\",s[1],\"string expected, %s found\",r)):\"@\"===s[1][0]&&c.push(new n(l+\"[1]\",s[1],\"filter key cannot be a constant\")));for(var h=2;h<s.length;h++)r=a(s[h]),\"$type\"==s[1]?c=c.concat(i({key:l+\"[\"+h+\"]\",value:s[h],valueSpec:u.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"===r&&\"@\"===s[h][0]?c.push(new n(l+\"[\"+h+\"]\",s[h],\"filter value cannot be a constant\")):\"string\"!==r&&\"number\"!==r&&\"boolean\"!==r&&c.push(new n(l+\"[\"+h+\"]\",s[h],\"string, number, or boolean expected, %s found\",r));break;case\"any\":case\"all\":case\"none\":for(h=1;h<s.length;h++)c=c.concat(t({key:l+\"[\"+h+\"]\",value:s[h],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":r=a(s[1]),2!==s.length?c.push(new n(l,s,'filter array for \"%s\" operator must have 2 elements',s[0])):\"string\"!==r?c.push(new n(l+\"[1]\",s[1],\"string expected, %s found\",r)):\"@\"===s[1][0]&&c.push(new n(l+\"[1]\",s[1],\"filter key cannot be a constant\"))}return c}},{\"../error/validation_error\":284,\"../util/get_type\":286,\"../util/unbundle_jsonlint\":287,\"./validate_enum\":293}],295:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"./validate\"),o=t(\"./validate_object\"),s=t(\"./validate_array\"),l=t(\"./validate_number\");e.exports=function(t){function e(t){var e=[],a=t.value;return e=e.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:r})),\"array\"===i(a)&&0===a.length&&e.push(new n(t.key,a,\"array must have at least one stop\")),e}function r(t){var e=[],r=t.value,s=t.key;if(\"array\"!==i(r))return[new n(s,r,\"array expected, %s found\",i(r))];if(2!==r.length)return[new n(s,r,\"array length %d expected, length %d found\",2,r.length)];var f=i(r[0]);if(c||(c=f),f!==c)return[new n(s,r,\"%s stop key type must match previous stop key type %s\",f,c)];if(\"object\"===f){if(void 0===r[0].zoom)return[new n(s,r,\"object stop key must have zoom\")];if(void 0===r[0].value)return[new n(s,r,\"object stop key must have value\")];e=e.concat(o({key:s+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:u}}))}else e=e.concat((d?l:u)({key:s+\"[0]\",value:r[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec}));return e=e.concat(a({key:s+\"[1]\",value:r[1],valueSpec:h,style:t.style,styleSpec:t.styleSpec})),\"number\"===i(r[0])&&(\"piecewise-constant\"===h.function&&r[0]%1!=0&&e.push(new n(s+\"[0]\",r[0],\"zoom level for piecewise-constant functions must be an integer\")),0!==t.arrayIndex&&r[0]<t.array[t.arrayIndex-1][0]&&e.push(new n(s+\"[0]\",r[0],\"array stops must appear in ascending order\"))),e}function u(t){var e=[],r=i(t.value);return\"number\"!==r&&\"string\"!==r&&\"array\"!==r&&e.push(new n(t.key,t.value,\"property value must be a number, string or array\")),e}var c,h=t.valueSpec,f=void 0!==t.value.property||\"object\"===c,d=void 0===t.value.property||\"object\"===c,p=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:e}});return t.styleSpec.$version>=8&&(f&&!t.valueSpec[\"property-function\"]?p.push(new n(t.key,t.value,\"property functions not supported\")):d&&!t.valueSpec[\"zoom-function\"]&&p.push(new n(t.key,t.value,\"zoom functions not supported\"))),p}},{\"../error/validation_error\":284,\"../util/get_type\":286,\"./validate\":288,\"./validate_array\":289,\"./validate_number\":299,\"./validate_object\":300}],296:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"./validate_string\");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new n(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new n(r,e,'\"glyphs\" url must include a \"{range}\" token')),a)}},{\"../error/validation_error\":284,\"./validate_string\":303}],297:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/unbundle_jsonlint\"),a=t(\"./validate_object\"),o=t(\"./validate_filter\"),s=t(\"./validate_paint_property\"),l=t(\"./validate_layout_property\"),u=t(\"../util/extend\");e.exports=function(t){var e=[],r=t.value,c=t.key,h=t.style,f=t.styleSpec;r.type||r.ref||e.push(new n(c,r,'either \"type\" or \"ref\" is required'));var d=i(r.type),p=i(r.ref);if(r.id)for(var m=0;m<t.arrayIndex;m++){var g=h.layers[m];i(g.id)===i(r.id)&&e.push(new n(c,r.id,'duplicate layer id \"%s\", previously used at line %d',r.id,g.id.__line__))}if(\"ref\"in r){[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(t){t in r&&e.push(new n(c,r[t],'\"%s\" is prohibited for ref layers',t))});var v;h.layers.forEach(function(t){t.id==p&&(v=t)}),v?v.ref?e.push(new n(c,r.ref,\"ref cannot reference another ref layer\")):d=i(v.type):e.push(new n(c,r.ref,'ref layer \"%s\" not found',p))}else if(\"background\"!==d)if(r.source){var y=h.sources&&h.sources[r.source];y?\"vector\"==y.type&&\"raster\"==d?e.push(new n(c,r.source,'layer \"%s\" requires a raster source',r.id)):\"raster\"==y.type&&\"raster\"!=d?e.push(new n(c,r.source,'layer \"%s\" requires a vector source',r.id)):\"vector\"!=y.type||r[\"source-layer\"]||e.push(new n(c,r,'layer \"%s\" must specify a \"source-layer\"',r.id)):e.push(new n(c,r.source,'source \"%s\" not found',r.source))}else e.push(new n(c,r,'missing required property \"source\"'));return e=e.concat(a({key:c,value:r,valueSpec:f.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return l(u({layerType:d},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return s(u({layerType:d},t))}}})}}}))}},{\"../error/validation_error\":284,\"../util/extend\":285,\"../util/unbundle_jsonlint\":287,\"./validate_filter\":294,\"./validate_layout_property\":298,\"./validate_object\":300,\"./validate_paint_property\":301}],298:[function(t,e,r){\"use strict\";var n=t(\"./validate\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[\"layout_\"+t.layerType];if(t.valueSpec||l[s]){var u=[];return\"symbol\"===t.layerType&&(\"icon-image\"===s&&r&&!r.sprite?u.push(new i(e,o,'use of \"icon-image\" requires a style \"sprite\" property')):\"text-field\"===s&&r&&!r.glyphs&&u.push(new i(e,o,'use of \"text-field\" requires a style \"glyphs\" property'))),u.concat(n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}))}return[new i(e,o,'unknown property \"%s\"',s)]}},{\"../error/validation_error\":284,\"./validate\":288}],299:[function(t,e,r){\"use strict\";var n=t(\"../util/get_type\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return\"number\"!==o?[new i(e,r,\"number expected, %s found\",o)]:\"minimum\"in a&&r<a.minimum?[new i(e,r,\"%s is less than the minimum value %s\",r,a.minimum)]:\"maximum\"in a&&r>a.maximum?[new i(e,r,\"%s is greater than the maximum value %s\",r,a.maximum)]:[]}},{\"../error/validation_error\":284,\"../util/get_type\":286}],300:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"./validate\");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec,s=t.objectElementValidators||{},l=t.style,u=t.styleSpec,c=[],h=i(r);if(\"object\"!==h)return[new n(e,r,\"object expected, %s found\",h)];for(var f in r){var d=f.split(\".\")[0],p=o&&(o[d]||o[\"*\"]),m=s[d]||s[\"*\"];p||m?c=c.concat((m||a)({key:(e?e+\".\":e)+f,value:r[f],valueSpec:p,style:l,styleSpec:u,object:r,objectKey:f})):\"\"!==e&&1!==e.split(\".\").length&&c.push(new n(e,r[f],'unknown property \"%s\"',f))}for(d in o)o[d].required&&void 0===o[d].default&&void 0===r[d]&&c.push(new n(e,r,'missing required property \"%s\"',d));return c}},{\"../error/validation_error\":284,\"../util/get_type\":286,\"./validate\":288}],301:[function(t,e,r){\"use strict\";var n=t(\"./validate\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[\"paint_\"+t.layerType],u=s.match(/^(.*)-transition$/);return u&&l[u[1]]&&l[u[1]].transition?n({key:e,value:o,valueSpec:a.transition,style:r,styleSpec:a}):t.valueSpec||l[s]?n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}):[new i(e,o,'unknown property \"%s\"',s)]}},{\"../error/validation_error\":284,\"./validate\":288}],302:[function(t,e,r){\"use strict\";var n=t(\"../error/validation_error\"),i=t(\"../util/unbundle_jsonlint\"),a=t(\"./validate_object\"),o=t(\"./validate_enum\");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'\"type\" is required')];switch(i(e.type)){case\"vector\":case\"raster\":var u=[];if(u=u.concat(a({key:r,value:e,valueSpec:s.source_tile,style:t.style,styleSpec:s})),\"url\"in e)for(var c in e)[\"type\",\"url\",\"tileSize\"].indexOf(c)<0&&u.push(new n(r+\".\"+c,e[c],'a source with a \"url\" property may not include a \"%s\" property',c));return u;case\"geojson\":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case\"video\":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case\"image\":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});default:return o({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"]},style:l,styleSpec:s})}}},{\"../error/validation_error\":284,\"../util/unbundle_jsonlint\":287,\"./validate_enum\":293,\"./validate_object\":300}],303:[function(t,e,r){\"use strict\";var n=t(\"../util/get_type\"),i=t(\"../error/validation_error\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\"string\"!==a?[new i(r,e,\"string expected, %s found\",a)]:[]}},{\"../error/validation_error\":284,\"../util/get_type\":286}],304:[function(t,e,r){\"use strict\";function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:u}})),e.$version>7&&t.constants&&(r=r.concat(o({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(\"./validate/validate_constants\"),s=t(\"./validate/validate\"),l=t(\"../reference/latest.min\"),u=t(\"./validate/validate_glyphs_url\");n.source=a(t(\"./validate/validate_source\")),n.layer=a(t(\"./validate/validate_layer\")),n.filter=a(t(\"./validate/validate_filter\")),n.paintProperty=a(t(\"./validate/validate_paint_property\")),n.layoutProperty=a(t(\"./validate/validate_layout_property\")),e.exports=n},{\"../reference/latest.min\":305,\"./validate/validate\":288,\"./validate/validate_constants\":292,\"./validate/validate_filter\":294,\"./validate/validate_glyphs_url\":296,\"./validate/validate_layer\":297,\"./validate/validate_layout_property\":298,\"./validate/validate_paint_property\":301,\"./validate/validate_source\":302}],305:[function(t,e,r){e.exports=t(\"./v8.min.json\")},{\"./v8.min.json\":306}],306:[function(t,e,r){e.exports={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_tile\",\"source_geojson\",\"source_video\",\"source_image\"],source_tile:{type:{required:!0,type:\"enum\",values:[\"vector\",\"raster\"]},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:[\"geojson\"]},data:{type:\"*\"},maxzoom:{type:\"number\",default:14},buffer:{type:\"number\",default:64},tolerance:{type:\"number\",default:3},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:400},clusterMaxZoom:{type:\"number\"}},source_video:{type:{required:!0,type:\"enum\",values:[\"video\"]},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:[\"image\"]},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:[\"fill\",\"line\",\"symbol\",\"circle\",\"raster\",\"background\"]},metadata:{type:\"*\"},ref:{type:\"string\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:22},maxzoom:{type:\"number\",minimum:0,maximum:22},interactive:{type:\"boolean\",default:!1},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"},\"paint.*\":{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_symbol\",\"layout_raster\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_fill:{visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_circle:{visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_line:{\"line-cap\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"butt\",\"round\",\"square\"],default:\"butt\"},\"line-join\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"bevel\",\"round\",\"miter\"],default:\"miter\"},\"line-miter-limit\":{type:\"number\",default:2,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[{\"line-join\":\"miter\"}]},\"line-round-limit\":{type:\"number\",default:1.05,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[{\"line-join\":\"round\"}]},visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"point\",\"line\"],default:\"point\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}]},\"symbol-avoid-edges\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1},\"icon-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"icon-image\",\"text-field\"]},\"icon-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"viewport\",requires:[\"icon-image\"]},\"icon-size\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"icon-image\"]},\"icon-text-fit\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!1,values:[\"none\",\"both\",\"width\",\"height\"],default:\"none\",requires:[\"icon-image\",\"text-field\"]},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"icon-image\",\"icon-text-fit\",\"text-field\"]},\"icon-image\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,tokens:!0},\"icon-rotate\":{type:\"number\",default:0,period:360,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"degrees\",requires:[\"icon-image\"]},\"icon-padding\":{type:\"number\",default:2,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":\"line\"}]},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"icon-image\"]},\"text-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],requires:[\"text-field\"]},\"text-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"viewport\",requires:[\"text-field\"]},\"text-field\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:\"\",tokens:!0},\"text-font\":{type:\"array\",value:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"]},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"em\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-line-height\":{type:\"number\",default:1.2,units:\"em\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-letter-spacing\":{type:\"number\",default:0,units:\"em\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-justify\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"left\",\"center\",\"right\"],default:\"center\",requires:[\"text-field\"]},\"text-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:\"center\",requires:[\"text-field\"]},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\",{\"symbol-placement\":\"line\"}]},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":\"line\"}]},\"text-transform\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"none\",\"uppercase\",\"lowercase\"],default:\"none\",requires:[\"text-field\"]},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,length:2,default:[0,0],requires:[\"text-field\"]},\"text-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"text-field\"]},\"text-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"text-field\"]},\"text-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!1,requires:[\"text-field\",\"icon-image\"]},visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},layout_raster:{visibility:{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:[\"visible\",\"none\"],default:\"visible\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:[\"==\",\"!=\",\">\",\">=\",\"<\",\"<=\",\"in\",\"!in\",\"all\",\"any\",\"none\",\"has\",\"!has\"]},geometry_type:{type:\"enum\",values:[\"Point\",\"LineString\",\"Polygon\"]},color_operation:{type:\"enum\",values:[\"lighten\",\"saturate\",\"spin\",\"fade\",\"mix\"]},function:{stops:{type:\"array\",required:!0,value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:[\"exponential\",\"interval\",\"categorical\"],default:\"exponential\"}},function_stop:{type:\"array\",minimum:0,maximum:22,value:[\"number\",\"color\"],length:2},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:!0},\"fill-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"fill-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{type:\"color\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}]},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"fill-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"fill-translate\"]},\"fill-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,transition:!0}},paint_line:{\"line-opacity\":{\ntype:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"line-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"line-pattern\"}]},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"line-translate\"]},\"line-width\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-offset\":{type:\"number\",default:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-dasharray\":{type:\"array\",value:\"number\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}]},\"line-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,transition:!0}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-blur\":{type:\"number\",default:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"circle-translate\"]},\"circle-pitch-scale\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-halo-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:[\"map\",\"viewport\"],default:\"map\",requires:[\"text-field\",\"text-translate\"]}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"degrees\"},\"raster-brightness-min\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,default:0,minimum:0,maximum:1,transition:!0},\"raster-brightness-max\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"milliseconds\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0,requires:[{\"!\":\"background-pattern\"}]},\"background-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}}}},{}],307:[function(t,e,r){\"use strict\";function n(t){return!!(i()&&a()&&o()&&s()&&l()&&u()&&c()&&h(t&&t.failIfMajorPerformanceCaveat))}function i(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function a(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function o(){return Function.prototype&&Function.prototype.bind}function s(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function l(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function u(){return\"Worker\"in window}function c(){return\"Uint8ClampedArray\"in window}function h(t){return void 0===d[t]&&(d[t]=f(t)),d[t]}function f(t){var e=document.createElement(\"canvas\"),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(\"webgl\",r)||e.probablySupportsContext(\"experimental-webgl\",r):e.supportsContext?e.supportsContext(\"webgl\",r)||e.supportsContext(\"experimental-webgl\",r):e.getContext(\"webgl\",r)||e.getContext(\"experimental-webgl\",r)}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var d={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],308:[function(t,e,r){\"use strict\";function n(t){var e=t.layoutVertexArrayType;this.layoutVertexArray=new e;var r=t.elementArrayType;r&&(this.elementArray=new r);var n=t.elementArrayType2;n&&(this.elementArray2=new n),this.paintVertexArrays=i.mapObject(t.paintVertexArrayTypes,function(t){return new t})}var i=t(\"../util/util\");e.exports=n,n.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,n.prototype.hasCapacityFor=function(t){return this.layoutVertexArray.length+t<=n.MAX_VERTEX_ARRAY_LENGTH},n.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},n.prototype.trim=function(){this.layoutVertexArray.trim(),this.elementArray&&this.elementArray.trim(),this.elementArray2&&this.elementArray2.trim();for(var t in this.paintVertexArrays)this.paintVertexArrays[t].trim()},n.prototype.serialize=function(){return{layoutVertexArray:this.layoutVertexArray.serialize(),elementArray:this.elementArray&&this.elementArray.serialize(),elementArray2:this.elementArray2&&this.elementArray2.serialize(),paintVertexArrays:i.mapObject(this.paintVertexArrays,function(t){return t.serialize()})}},n.prototype.getTransferables=function(t){t.push(this.layoutVertexArray.arrayBuffer),this.elementArray&&t.push(this.elementArray.arrayBuffer),this.elementArray2&&t.push(this.elementArray2.arrayBuffer);for(var e in this.paintVertexArrays)t.push(this.paintVertexArrays[e].arrayBuffer)}},{\"../util/util\":422}],309:[function(t,e,r){\"use strict\";function n(t){if(this.zoom=t.zoom,this.overscaling=t.overscaling,this.layer=t.layer,this.childLayers=t.childLayers,this.type=this.layer.type,this.features=[],this.id=this.layer.id,this.index=t.index,this.sourceLayer=this.layer.sourceLayer,this.sourceLayerIndex=t.sourceLayerIndex,this.minZoom=this.layer.minzoom,this.maxZoom=this.layer.maxzoom,this.paintAttributes=i(this),t.arrays){var e=this.programInterfaces;this.bufferGroups=c.mapObject(t.arrays,function(r,n){var i=e[n],a=t.paintVertexArrayTypes[n];return r.map(function(t){return new u(t,{layoutVertexArrayType:i.layoutVertexArrayType.serialize(),elementArrayType:i.elementArrayType&&i.elementArrayType.serialize(),elementArrayType2:i.elementArrayType2&&i.elementArrayType2.serialize(),paintVertexArrayTypes:a})})})}}function i(t){var e={};for(var r in t.programInterfaces){for(var n=e[r]={},i=0;i<t.childLayers.length;i++){n[t.childLayers[i].id]={attributes:[],uniforms:[],defines:[],vertexPragmas:{define:{},initialize:{}},fragmentPragmas:{define:{},initialize:{}}}}var s=t.programInterfaces[r];if(s.paintAttributes)for(var l=0;l<s.paintAttributes.length;l++){var u=s.paintAttributes[l];u.multiplier=u.multiplier||1;for(var h=0;h<t.childLayers.length;h++){var d=t.childLayers[h],p=n[d.id],m=u.name;f(\"a_\"===u.name.slice(0,2));var g,v=u.name.slice(2);if(p.fragmentPragmas.initialize[v]=\"\",d.isPaintValueFeatureConstant(u.paintProperty))p.uniforms.push(u),p.fragmentPragmas.define[v]=p.vertexPragmas.define[v]=[\"uniform\",\"{precision}\",\"{type}\",m].join(\" \")+\";\",p.fragmentPragmas.initialize[v]=p.vertexPragmas.initialize[v]=[\"{precision}\",\"{type}\",v,\"=\",m].join(\" \")+\";\\n\";else if(d.isPaintValueZoomConstant(u.paintProperty)){p.attributes.push(c.extend({},u,{name:m})),g=[\"varying\",\"{precision}\",\"{type}\",v].join(\" \")+\";\\n\";var y=[p.fragmentPragmas.define[v],\"attribute\",\"{precision}\",\"{type}\",m].join(\" \")+\";\\n\";p.fragmentPragmas.define[v]=g,p.vertexPragmas.define[v]=g+y,p.vertexPragmas.initialize[v]=[v,\"=\",m,\"/\",u.multiplier.toFixed(1)].join(\" \")+\";\\n\"}else{for(var b=\"u_\"+m.slice(2)+\"_t\",x=d.getPaintValueStopZoomLevels(u.paintProperty),_=0;_<x.length&&x[_]<t.zoom;)_++;for(var w=Math.max(0,Math.min(x.length-4,_-2)),M=[],A=0;A<4;A++)M.push(x[Math.min(w+A,x.length-1)]);g=[\"varying\",\"{precision}\",\"{type}\",v].join(\" \")+\";\\n\",p.vertexPragmas.define[v]=g+[\"uniform\",\"lowp\",\"float\",b].join(\" \")+\";\\n\",p.fragmentPragmas.define[v]=g,p.uniforms.push(c.extend({},u,{name:b,getValue:o(u,w),components:1}));var k=u.components;if(1===k)p.attributes.push(c.extend({},u,{getValue:a(u,M),isFunction:!0,components:4*k})),p.vertexPragmas.define[v]+=[\"attribute\",\"{precision}\",\"vec4\",m].join(\" \")+\";\\n\",p.vertexPragmas.initialize[v]=[v,\"=\",\"evaluate_zoom_function_1(\"+m+\", \"+b+\")\",\"/\",u.multiplier.toFixed(1)].join(\" \")+\";\\n\";else{for(var T=[],E=0;E<4;E++)T.push(m+E),p.attributes.push(c.extend({},u,{getValue:a(u,[M[E]]),isFunction:!0,name:m+E})),p.vertexPragmas.define[v]+=[\"attribute\",\"{precision}\",\"{type}\",m+E].join(\" \")+\";\\n\";p.vertexPragmas.initialize[v]=[v,\" = \",\"evaluate_zoom_function_4(\"+T.join(\", \")+\", \"+b+\")\",\"/\",u.multiplier.toFixed(1)].join(\" \")+\";\\n\"}}}}}return e}function a(t,e){return function(r,n,i){if(1===e.length)return t.getValue(r,c.extend({},n,{zoom:e[0]}),i);for(var a=[],o=0;o<e.length;o++){var s=e[o];a.push(t.getValue(r,c.extend({},n,{zoom:s}),i)[0])}return a}}function o(t,e){return function(r,n){var i=r.getPaintInterpolationT(t.paintProperty,n.zoom);return[Math.max(0,Math.min(4,i-e))]}}var s=t(\"feature-filter\"),l=t(\"./array_group\"),u=t(\"./buffer_group\"),c=t(\"../util/util\"),h=t(\"../util/struct_array\"),f=t(\"assert\");e.exports=n,n.create=function(e){return new({fill:t(\"./bucket/fill_bucket\"),line:t(\"./bucket/line_bucket\"),circle:t(\"./bucket/circle_bucket\"),symbol:t(\"./bucket/symbol_bucket\")}[e.layer.type])(e)},n.EXTENT=8192,n.prototype.populateArrays=function(){this.createArrays(),this.recalculateStyleLayers();for(var t=0;t<this.features.length;t++)this.addFeature(this.features[t]);this.trimArrays()},n.prototype.prepareArrayGroup=function(t,e){var r=this.arrayGroups[t],n=r.length&&r[r.length-1];return n&&n.hasCapacityFor(e)||(n=new l({layoutVertexArrayType:this.programInterfaces[t].layoutVertexArrayType,elementArrayType:this.programInterfaces[t].elementArrayType,elementArrayType2:this.programInterfaces[t].elementArrayType2,paintVertexArrayTypes:this.paintVertexArrayTypes[t]}),n.index=r.length,r.push(n)),n},n.prototype.createArrays=function(){this.arrayGroups={},this.paintVertexArrayTypes={};for(var t in this.programInterfaces){this.arrayGroups[t]=[];var e=this.paintVertexArrayTypes[t]={},r=this.paintAttributes[t];for(var i in r)e[i]=new n.VertexArrayType(r[i].attributes)}},n.prototype.destroy=function(t){for(var e in this.bufferGroups)for(var r=this.bufferGroups[e],n=0;n<r.length;n++)r[n].destroy(t)},n.prototype.trimArrays=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r<e.length;r++)e[r].trim()},n.prototype.isEmpty=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r<e.length;r++)if(!e[r].isEmpty())return!1;return!0},n.prototype.getTransferables=function(t){for(var e in this.arrayGroups)for(var r=this.arrayGroups[e],n=0;n<r.length;n++)r[n].getTransferables(t)},n.prototype.setUniforms=function(t,e,r,n,i){for(var a=this.paintAttributes[e][n.id].uniforms,o=0;o<a.length;o++){var s=a[o],l=r[s.name];t[\"uniform\"+s.components+\"fv\"](l,s.getValue(n,i))}},n.prototype.serialize=function(){return{layerId:this.layer.id,zoom:this.zoom,arrays:c.mapObject(this.arrayGroups,function(t){return t.map(function(t){return t.serialize()})}),paintVertexArrayTypes:c.mapObject(this.paintVertexArrayTypes,function(t){return c.mapObject(t,function(t){return t.serialize()})}),childLayerIds:this.childLayers.map(function(t){return t.id})}},n.prototype.createFilter=function(){this.filter||(this.filter=s(this.layer.filter))};var d={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};n.prototype.recalculateStyleLayers=function(){for(var t=0;t<this.childLayers.length;t++)this.childLayers[t].recalculate(this.zoom,d)},n.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a=0;a<this.childLayers.length;a++)for(var o=this.childLayers[a],s=this.arrayGroups[t],l=n.index;l<s.length;l++){var u=s[l],c=u.layoutVertexArray.length,h=u.paintVertexArrays[o.id];h.resize(c);for(var f=this.paintAttributes[t][o.id].attributes,d=0;d<f.length;d++)for(var p=f[d],m=p.getValue(o,e,r),g=p.multiplier||1,v=p.components||1,y=l===n.index?i:0,b=y;b<c;b++)for(var x=h.get(b),_=0;_<v;_++){var w=v>1?p.name+_:p.name;x[w]=m[_]*g}}},n.VertexArrayType=function(t){return new h({members:t,alignment:4})},n.ElementArrayType=function(t){return new h({members:[{type:\"Uint16\",name:\"vertices\",components:t||3}]})}},{\"../util/struct_array\":420,\"../util/util\":422,\"./array_group\":308,\"./bucket/circle_bucket\":310,\"./bucket/fill_bucket\":311,\"./bucket/line_bucket\":312,\"./bucket/symbol_bucket\":313,\"./buffer_group\":315,assert:37,\"feature-filter\":114}],310:[function(t,e,r){\"use strict\";function n(){i.apply(this,arguments)}var i=t(\"../bucket\"),a=t(\"../../util/util\"),o=t(\"../load_geometry\"),s=i.EXTENT;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.addCircleVertex=function(t,e,r,n,i){return t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)},n.prototype.programInterfaces={circle:{layoutVertexArrayType:new i.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:new i.ElementArrayType,paintAttributes:[{name:\"a_color\",components:4,type:\"Uint8\",getValue:function(t,e,r){return t.getPaintValue(\"circle-color\",e,r)},multiplier:255,paintProperty:\"circle-color\"},{name:\"a_radius\",components:1,type:\"Uint16\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\"circle-radius\",e,r)]},multiplier:10,paintProperty:\"circle-radius\"},{name:\"a_blur\",components:1,type:\"Uint16\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\"circle-blur\",e,r)]},multiplier:10,paintProperty:\"circle-blur\"},{name:\"a_opacity\",components:1,type:\"Uint16\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\"circle-opacity\",e,r)]},multiplier:255,paintProperty:\"circle-opacity\"}]}},n.prototype.addFeature=function(t){for(var e={zoom:this.zoom},r=o(t),n=this.prepareArrayGroup(\"circle\",0),i=n.layoutVertexArray.length,a=0;a<r.length;a++)for(var l=0;l<r[a].length;l++){var u=r[a][l].x,c=r[a][l].y;if(!(u<0||u>=s||c<0||c>=s)){var h=this.prepareArrayGroup(\"circle\",4),f=h.layoutVertexArray,d=this.addCircleVertex(f,u,c,-1,-1);this.addCircleVertex(f,u,c,1,-1),this.addCircleVertex(f,u,c,1,1),this.addCircleVertex(f,u,c,-1,1),h.elementArray.emplaceBack(d,d+1,d+2),h.elementArray.emplaceBack(d,d+3,d+2)}}this.populatePaintArrays(\"circle\",e,t.properties,n,i)}},{\"../../util/util\":422,\"../bucket\":309,\"../load_geometry\":317}],311:[function(t,e,r){\"use strict\";function n(){i.apply(this,arguments)}var i=t(\"../bucket\"),a=t(\"../../util/util\"),o=t(\"../load_geometry\"),s=t(\"earcut\"),l=t(\"../../util/classify_rings\");e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.programInterfaces={fill:{layoutVertexArrayType:new i.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:new i.ElementArrayType(1),elementArrayType2:new i.ElementArrayType(2),paintAttributes:[{name:\"a_color\",components:4,type:\"Uint8\",getValue:function(t,e,r){return t.getPaintValue(\"fill-color\",e,r)},multiplier:255,paintProperty:\"fill-color\"},{name:\"a_outline_color\",components:4,type:\"Uint8\",getValue:function(t,e,r){return t.getPaintValue(\"fill-outline-color\",e,r)},multiplier:255,paintProperty:\"fill-outline-color\"},{name:\"a_opacity\",components:1,type:\"Uint8\",getValue:function(t,e,r){return[t.getPaintValue(\"fill-opacity\",e,r)]},multiplier:255,paintProperty:\"fill-opacity\"}]}},n.prototype.addFeature=function(t){for(var e=o(t),r=l(e,500),n=this.prepareArrayGroup(\"fill\",0),i=n.layoutVertexArray.length,a=0;a<r.length;a++)this.addPolygon(r[a]);this.populatePaintArrays(\"fill\",{zoom:this.zoom},t.properties,n,i)},n.prototype.addPolygon=function(t){for(var e=0,r=0;r<t.length;r++)e+=t[r].length;for(var n=this.prepareArrayGroup(\"fill\",e),i=[],a=[],o=n.layoutVertexArray.length,l=0;l<t.length;l++){var u=t[l];l>0&&a.push(i.length/2);for(var c=0;c<u.length;c++){var h=u[c],f=n.layoutVertexArray.emplaceBack(h.x,h.y);c>=1&&n.elementArray2.emplaceBack(f-1,f),i.push(h.x),i.push(h.y)}}for(var d=s(i,a),p=0;p<d.length;p++)n.elementArray.emplaceBack(d[p]+o)}},{\"../../util/classify_rings\":410,\"../../util/util\":422,\"../bucket\":309,\"../load_geometry\":317,earcut:108}],312:[function(t,e,r){\"use strict\";function n(){i.apply(this,arguments)}var i=t(\"../bucket\"),a=t(\"../../util/util\"),o=t(\"../load_geometry\"),s=i.EXTENT,l=Math.cos(Math.PI/180*37.5),u=Math.pow(2,14)/.5;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.addLineVertex=function(t,e,r,n,i,a,o){return t.emplaceBack(e.x<<1|n,e.y<<1|i,Math.round(63*r.x)+128,Math.round(63*r.y)+128,1+(0===a?0:a<0?-1:1)|(.5*o&63)<<2,.5*o>>6)},n.prototype.programInterfaces={line:{layoutVertexArrayType:new i.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),elementArrayType:new i.ElementArrayType}},n.prototype.addFeature=function(t){for(var e=o(t,15),r=0;r<e.length;r++)this.addLine(e[r],this.layer.layout[\"line-join\"],this.layer.layout[\"line-cap\"],this.layer.layout[\"line-miter-limit\"],this.layer.layout[\"line-round-limit\"])},n.prototype.addLine=function(t,e,r,n,i){for(var a=t.length;a>2&&t[a-1].equals(t[a-2]);)a--;if(!(t.length<2)){\"bevel\"===e&&(n=1.05);var o=s/(512*this.overscaling)*15,u=t[0],c=t[a-1],h=u.equals(c);if(this.prepareArrayGroup(\"line\",10*a),2!==a||!h){this.distance=0;var f,d,p,m,g,v,y,b=r,x=h?\"butt\":r,_=!0;this.e1=this.e2=this.e3=-1,h&&(f=t[a-2],g=u.sub(f)._unit()._perp());for(var w=0;w<a;w++)if(!(p=h&&w===a-1?t[1]:t[w+1])||!t[w].equals(p)){g&&(m=g),f&&(d=f),f=t[w],g=p?p.sub(f)._unit()._perp():m,m=m||g;var M=m.add(g)._unit(),A=M.x*g.x+M.y*g.y,k=1/A,T=A<l&&d&&p;if(T&&w>0){var E=f.dist(d);if(E>2*o){var S=f.sub(f.sub(d)._mult(o/E)._round());this.distance+=S.dist(d),this.addCurrentVertex(S,this.distance,m.mult(1),0,0,!1),d=S}}var L=d&&p,C=L?e:p?b:x;if(L&&\"round\"===C&&(k<i?C=\"miter\":k<=2&&(C=\"fakeround\")),\"miter\"===C&&k>n&&(C=\"bevel\"),\"bevel\"===C&&(k>2&&(C=\"flipbevel\"),k<n&&(C=\"miter\")),d&&(this.distance+=f.dist(d)),\"miter\"===C)M._mult(k),this.addCurrentVertex(f,this.distance,M,0,0,!1);else if(\"flipbevel\"===C){if(k>100)M=g.clone();else{var D=m.x*g.y-m.y*g.x>0?-1:1,I=k*m.add(g).mag()/m.sub(g).mag();M._perp()._mult(I*D)}this.addCurrentVertex(f,this.distance,M,0,0,!1),this.addCurrentVertex(f,this.distance,M.mult(-1),0,0,!1)}else if(\"bevel\"===C||\"fakeround\"===C){var z=m.x*g.y-m.y*g.x>0,P=-Math.sqrt(k*k-1);if(z?(y=0,v=P):(v=0,y=P),_||this.addCurrentVertex(f,this.distance,m,v,y,!1),\"fakeround\"===C){for(var O,R=Math.floor(8*(.5-(A-.5))),F=0;F<R;F++)O=g.mult((F+1)/(R+1))._add(m)._unit(),this.addPieSliceVertex(f,this.distance,O,z);this.addPieSliceVertex(f,this.distance,M,z);for(var j=R-1;j>=0;j--)O=m.mult((j+1)/(R+1))._add(g)._unit(),this.addPieSliceVertex(f,this.distance,O,z)}p&&this.addCurrentVertex(f,this.distance,g,-v,-y,!1)}else\"butt\"===C?(_||this.addCurrentVertex(f,this.distance,m,0,0,!1),p&&this.addCurrentVertex(f,this.distance,g,0,0,!1)):\"square\"===C?(_||(this.addCurrentVertex(f,this.distance,m,1,1,!1),this.e1=this.e2=-1),p&&this.addCurrentVertex(f,this.distance,g,-1,-1,!1)):\"round\"===C&&(_||(this.addCurrentVertex(f,this.distance,m,0,0,!1),this.addCurrentVertex(f,this.distance,m,1,1,!0),this.e1=this.e2=-1),p&&(this.addCurrentVertex(f,this.distance,g,-1,-1,!0),this.addCurrentVertex(f,this.distance,g,0,0,!1)));if(T&&w<a-1){var N=f.dist(p);if(N>2*o){var B=f.add(p.sub(f)._mult(o/N)._round());this.distance+=B.dist(f),this.addCurrentVertex(B,this.distance,g.mult(1),0,0,!1),f=B}}_=!1}}}},n.prototype.addCurrentVertex=function(t,e,r,n,i,a){var o,s=a?1:0,l=this.arrayGroups.line[this.arrayGroups.line.length-1],c=l.layoutVertexArray,h=l.elementArray;o=r.clone(),n&&o._sub(r.perp()._mult(n)),this.e3=this.addLineVertex(c,t,o,s,0,n,e),this.e1>=0&&this.e2>=0&&h.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),i&&o._sub(r.perp()._mult(i)),this.e3=this.addLineVertex(c,t,o,s,1,-i,e),this.e1>=0&&this.e2>=0&&h.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,e>u/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a))},n.prototype.addPieSliceVertex=function(t,e,r,n){var i=n?1:0;r=r.mult(n?-1:1);var a=this.arrayGroups.line[this.arrayGroups.line.length-1],o=a.layoutVertexArray,s=a.elementArray;this.e3=this.addLineVertex(o,t,r,0,i,0,e),this.e1>=0&&this.e2>=0&&s.emplaceBack(this.e1,this.e2,this.e3),n?this.e2=this.e3:this.e1=this.e3}},{\"../../util/util\":422,\"../bucket\":309,\"../load_geometry\":317}],313:[function(t,e,r){\"use strict\";function n(t){o.apply(this,arguments),this.showCollisionBoxes=t.showCollisionBoxes,this.overscaling=t.overscaling,this.collisionBoxArray=t.collisionBoxArray,this.symbolQuadsArray=t.symbolQuadsArray,this.symbolInstancesArray=t.symbolInstancesArray,this.sdfIcons=t.sdfIcons,this.iconsNeedLinear=t.iconsNeedLinear,this.adjustedTextSize=t.adjustedTextSize,this.adjustedIconSize=t.adjustedIconSize,this.fontstack=t.fontstack}function i(t,e,r,n,i,a,o,s,l,u,c){return t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a/4,o/4,10*(u||0),c,10*(s||0),10*Math.min(l||25,25))}var a=t(\"point-geometry\"),o=t(\"../bucket\"),s=t(\"../../symbol/anchor\"),l=t(\"../../symbol/get_anchors\"),u=t(\"../../util/token\"),c=t(\"../../symbol/quads\"),h=t(\"../../symbol/shaping\"),f=t(\"../../symbol/resolve_text\"),d=t(\"../../symbol/mergelines\"),p=t(\"../../symbol/clip_line\"),m=t(\"../../util/util\"),g=t(\"../load_geometry\"),v=t(\"../../symbol/collision_feature\"),y=h.shapeText,b=h.shapeIcon,x=c.getGlyphQuads,_=c.getIconQuads,w=o.EXTENT;e.exports=n,n.MAX_QUADS=65535,n.prototype=m.inherit(o,{}),n.prototype.serialize=function(){var t=o.prototype.serialize.apply(this);return t.sdfIcons=this.sdfIcons,t.iconsNeedLinear=this.iconsNeedLinear,t.adjustedTextSize=this.adjustedTextSize,t.adjustedIconSize=this.adjustedIconSize,t.fontstack=this.fontstack,t};var M=new o.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_offset\",components:2,type:\"Int16\"},{name:\"a_texture_pos\",components:2,type:\"Uint16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),A=new o.ElementArrayType;n.prototype.addCollisionBoxVertex=function(t,e,r,n,i){return t.emplaceBack(e.x,e.y,Math.round(r.x),Math.round(r.y),10*n,10*i)},n.prototype.programInterfaces={glyph:{layoutVertexArrayType:M,elementArrayType:A},icon:{layoutVertexArrayType:M,elementArrayType:A},collisionBox:{layoutVertexArrayType:new o.VertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}])}},n.prototype.populateArrays=function(t,e,r){var n={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};this.adjustedTextMaxSize=this.layer.getLayoutValue(\"text-size\",{zoom:18,zoomHistory:n}),this.adjustedTextSize=this.layer.getLayoutValue(\"text-size\",{zoom:this.zoom+1,zoomHistory:n}),this.adjustedIconMaxSize=this.layer.getLayoutValue(\"icon-size\",{zoom:18,zoomHistory:n}),this.adjustedIconSize=this.layer.getLayoutValue(\"icon-size\",{zoom:this.zoom+1,zoomHistory:n});var i=512*this.overscaling;this.tilePixelRatio=w/i,this.compareText={},this.iconsNeedLinear=!1,this.symbolInstancesStartIndex=this.symbolInstancesArray.length;var a=this.layer.layout,o=this.features,s=this.textFeatures,l=.5,c=.5;switch(a[\"text-anchor\"]){case\"right\":case\"top-right\":case\"bottom-right\":l=1;break;case\"left\":case\"top-left\":case\"bottom-left\":l=0}switch(a[\"text-anchor\"]){case\"bottom\":case\"bottom-right\":case\"bottom-left\":c=1;break;case\"top\":case\"top-right\":case\"top-left\":c=0}for(var h=\"right\"===a[\"text-justify\"]?1:\"left\"===a[\"text-justify\"]?0:.5,f=24*a[\"text-line-height\"],p=\"line\"!==a[\"symbol-placement\"]?24*a[\"text-max-width\"]:0,v=24*a[\"text-letter-spacing\"],x=[24*a[\"text-offset\"][0],24*a[\"text-offset\"][1]],_=this.fontstack=a[\"text-font\"].join(\",\"),M=[],A=0;A<o.length;A++)M.push(g(o[A]));if(\"line\"===a[\"symbol-placement\"]){var k=d(o,s,M);M=k.geometries,o=k.features,s=k.textFeatures}for(var T,E,S=0;S<o.length;S++)if(M[S]){if(T=s[S]?y(s[S],e[_],p,f,l,c,h,v,x):null,a[\"icon-image\"]){var L=u(o[S].properties,a[\"icon-image\"]),C=r[L];E=b(C,a),C&&(void 0===this.sdfIcons?this.sdfIcons=C.sdf:this.sdfIcons!==C.sdf&&m.warnOnce(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),1!==C.pixelRatio?this.iconsNeedLinear=!0:0===a[\"icon-rotate\"]&&this.layer.isLayoutValueFeatureConstant(\"icon-rotate\")||(this.iconsNeedLinear=!0))}else E=null;(T||E)&&this.addFeature(M[S],T,E,o[S])}this.symbolInstancesEndIndex=this.symbolInstancesArray.length,this.placeFeatures(t,this.showCollisionBoxes),this.trimArrays()},n.prototype.addFeature=function(t,e,r,n){var i=this.layer.layout,a=this.adjustedTextSize/24,o=void 0!==this.adjustedTextMaxSize?this.adjustedTextMaxSize:this.adjustedTextSize,u=this.tilePixelRatio*a,c=this.tilePixelRatio*o/24,h=this.tilePixelRatio*this.adjustedIconSize,f=this.tilePixelRatio*i[\"symbol-spacing\"],d=i[\"symbol-avoid-edges\"],m=i[\"text-padding\"]*this.tilePixelRatio,g=i[\"icon-padding\"]*this.tilePixelRatio,v=i[\"text-max-angle\"]/180*Math.PI,y=\"map\"===i[\"text-rotation-alignment\"]&&\"line\"===i[\"symbol-placement\"],b=\"map\"===i[\"icon-rotation-alignment\"]&&\"line\"===i[\"symbol-placement\"],x=i[\"text-allow-overlap\"]||i[\"icon-allow-overlap\"]||i[\"text-ignore-placement\"]||i[\"icon-ignore-placement\"],_=\"line\"===i[\"symbol-placement\"],M=f/2;_&&(t=p(t,0,0,w,w));for(var A=0;A<t.length;A++){var k,T=t[A];k=_?l(T,f,v,e,r,24,c,this.overscaling,w):[new s(T[0].x,T[0].y,0)];for(var E=0,S=k.length;E<S;E++){var L=k[E];if(!(e&&_&&this.anchorIsTooClose(e.text,M,L))){var C=!(L.x<0||L.x>w||L.y<0||L.y>w);if(!d||C){var D=C||x;this.addSymbolInstance(L,T,e,r,this.layer,D,this.symbolInstancesArray.length,this.collisionBoxArray,n.index,this.sourceLayerIndex,this.index,u,m,y,h,g,b,{zoom:this.zoom},n.properties)}}}}},n.prototype.anchorIsTooClose=function(t,e,r){var n=this.compareText;if(t in n){for(var i=n[t],a=i.length-1;a>=0;a--)if(r.dist(i[a])<e)return!0}else n[t]=[];return n[t].push(r),!1},n.prototype.placeFeatures=function(t,e){this.recalculateStyleLayers(),this.createArrays();var r=this.layer.layout,n=t.maxScale,i=\"map\"===r[\"text-rotation-alignment\"]&&\"line\"===r[\"symbol-placement\"],a=\"map\"===r[\"icon-rotation-alignment\"]&&\"line\"===r[\"symbol-placement\"];if(r[\"text-allow-overlap\"]||r[\"icon-allow-overlap\"]||r[\"text-ignore-placement\"]||r[\"icon-ignore-placement\"]){var o=this.symbolInstancesArray.toArray(this.symbolInstancesStartIndex,this.symbolInstancesEndIndex),s=t.angle,l=Math.sin(s),u=Math.cos(s);this.sortedSymbolInstances=o.sort(function(t,e){return(l*t.anchorPointX+u*t.anchorPointY|0)-(l*e.anchorPointX+u*e.anchorPointY|0)||e.index-t.index})}for(var c=this.symbolInstancesStartIndex;c<this.symbolInstancesEndIndex;c++){var h=this.sortedSymbolInstances?this.sortedSymbolInstances[c-this.symbolInstancesStartIndex]:this.symbolInstancesArray.get(c),f={boxStartIndex:h.textBoxStartIndex,boxEndIndex:h.textBoxEndIndex},d={boxStartIndex:h.iconBoxStartIndex,boxEndIndex:h.iconBoxEndIndex},p=!(h.textBoxStartIndex===h.textBoxEndIndex),m=!(h.iconBoxStartIndex===h.iconBoxEndIndex),g=r[\"text-optional\"]||!p,v=r[\"icon-optional\"]||!m,y=p?t.placeCollisionFeature(f,r[\"text-allow-overlap\"],r[\"symbol-avoid-edges\"]):t.minScale,b=m?t.placeCollisionFeature(d,r[\"icon-allow-overlap\"],r[\"symbol-avoid-edges\"]):t.minScale;g||v?!v&&y?y=Math.max(b,y):!g&&b&&(b=Math.max(b,y)):b=y=Math.max(b,y),p&&(t.insertCollisionFeature(f,y,r[\"text-ignore-placement\"]),y<=n&&this.addSymbols(\"glyph\",h.glyphQuadStartIndex,h.glyphQuadEndIndex,y,r[\"text-keep-upright\"],i,t.angle)),m&&(t.insertCollisionFeature(d,b,r[\"icon-ignore-placement\"]),b<=n&&this.addSymbols(\"icon\",h.iconQuadStartIndex,h.iconQuadEndIndex,b,r[\"icon-keep-upright\"],a,t.angle))}e&&this.addToDebugBuffers(t)},n.prototype.addSymbols=function(t,e,r,n,a,o,s){for(var l=this.prepareArrayGroup(t,4*(r-e)),u=l.elementArray,c=l.layoutVertexArray,h=this.zoom,f=Math.max(Math.log(n)/Math.LN2+h,0),d=e;d<r;d++){var p=this.symbolQuadsArray.get(d).SymbolQuad,m=(p.anchorAngle+s+Math.PI)%(2*Math.PI);if(!(a&&o&&(m<=Math.PI/2||m>3*Math.PI/2))){var g=p.tl,v=p.tr,y=p.bl,b=p.br,x=p.tex,_=p.anchorPoint,w=Math.max(h+Math.log(p.minScale)/Math.LN2,f),M=Math.min(h+Math.log(p.maxScale)/Math.LN2,25);if(!(M<=w)){w===f&&(w=0);var A=Math.round(p.glyphAngle/(2*Math.PI)*256),k=i(c,_.x,_.y,g.x,g.y,x.x,x.y,w,M,f,A)\n;i(c,_.x,_.y,v.x,v.y,x.x+x.w,x.y,w,M,f,A),i(c,_.x,_.y,y.x,y.y,x.x,x.y+x.h,w,M,f,A),i(c,_.x,_.y,b.x,b.y,x.x+x.w,x.y+x.h,w,M,f,A),u.emplaceBack(k,k+1,k+2),u.emplaceBack(k+1,k+2,k+3)}}}},n.prototype.updateIcons=function(t){this.recalculateStyleLayers();var e=this.layer.layout[\"icon-image\"];if(e)for(var r=0;r<this.features.length;r++){var n=u(this.features[r].properties,e);n&&(t[n]=!0)}},n.prototype.updateFont=function(t){this.recalculateStyleLayers();var e=this.layer.layout[\"text-font\"],r=t[e]=t[e]||{};this.textFeatures=f(this.features,this.layer.layout,r)},n.prototype.addToDebugBuffers=function(t){for(var e=this.prepareArrayGroup(\"collisionBox\",0),r=e.layoutVertexArray,n=-t.angle,i=t.yStretch,o=this.symbolInstancesStartIndex;o<this.symbolInstancesEndIndex;o++){var s=this.symbolInstancesArray.get(o);s.textCollisionFeature={boxStartIndex:s.textBoxStartIndex,boxEndIndex:s.textBoxEndIndex},s.iconCollisionFeature={boxStartIndex:s.iconBoxStartIndex,boxEndIndex:s.iconBoxEndIndex};for(var l=0;l<2;l++){var u=s[0===l?\"textCollisionFeature\":\"iconCollisionFeature\"];if(u)for(var c=u.boxStartIndex;c<u.boxEndIndex;c++){var h=this.collisionBoxArray.get(c),f=h.anchorPoint,d=new a(h.x1,h.y1*i)._rotate(n),p=new a(h.x2,h.y1*i)._rotate(n),m=new a(h.x1,h.y2*i)._rotate(n),g=new a(h.x2,h.y2*i)._rotate(n),v=Math.max(0,Math.min(25,this.zoom+Math.log(h.maxScale)/Math.LN2)),y=Math.max(0,Math.min(25,this.zoom+Math.log(h.placementScale)/Math.LN2));this.addCollisionBoxVertex(r,f,d,v,y),this.addCollisionBoxVertex(r,f,p,v,y),this.addCollisionBoxVertex(r,f,p,v,y),this.addCollisionBoxVertex(r,f,g,v,y),this.addCollisionBoxVertex(r,f,g,v,y),this.addCollisionBoxVertex(r,f,m,v,y),this.addCollisionBoxVertex(r,f,m,v,y),this.addCollisionBoxVertex(r,f,d,v,y)}}}},n.prototype.addSymbolInstance=function(t,e,r,i,a,o,s,l,u,c,h,f,d,p,g,y,b,w,M){var A,k,T,E,S,L,C,D;if(r&&(C=o?x(t,r,f,e,a,p):[],S=new v(l,e,t,u,c,h,r,f,d,p,!1)),A=this.symbolQuadsArray.length,C&&C.length)for(var I=0;I<C.length;I++)this.addSymbolQuad(C[I]);k=this.symbolQuadsArray.length;var z=S?S.boxStartIndex:this.collisionBoxArray.length,P=S?S.boxEndIndex:this.collisionBoxArray.length;i&&(D=o?_(t,i,g,e,a,b,r,w,M):[],L=new v(l,e,t,u,c,h,i,g,y,b,!0)),T=this.symbolQuadsArray.length,D&&1===D.length&&this.addSymbolQuad(D[0]),E=this.symbolQuadsArray.length;var O=L?L.boxStartIndex:this.collisionBoxArray.length,R=L?L.boxEndIndex:this.collisionBoxArray.length;return E>n.MAX_QUADS&&m.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),k>n.MAX_QUADS&&m.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),this.symbolInstancesArray.emplaceBack(z,P,O,R,A,k,T,E,t.x,t.y,s)},n.prototype.addSymbolQuad=function(t){return this.symbolQuadsArray.emplaceBack(t.anchorPoint.x,t.anchorPoint.y,t.tl.x,t.tl.y,t.tr.x,t.tr.y,t.bl.x,t.bl.y,t.br.x,t.br.y,t.tex.h,t.tex.w,t.tex.x,t.tex.y,t.anchorAngle,t.glyphAngle,t.maxScale,t.minScale)}},{\"../../symbol/anchor\":371,\"../../symbol/clip_line\":373,\"../../symbol/collision_feature\":375,\"../../symbol/get_anchors\":377,\"../../symbol/mergelines\":380,\"../../symbol/quads\":381,\"../../symbol/resolve_text\":382,\"../../symbol/shaping\":383,\"../../util/token\":421,\"../../util/util\":422,\"../bucket\":309,\"../load_geometry\":317,\"point-geometry\":463}],314:[function(t,e,r){\"use strict\";function n(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e}e.exports=n,n.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)};var i={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"};n.prototype.setVertexAttribPointers=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],a=e[n.name];void 0!==a&&t.vertexAttribPointer(a,n.components,t[i[n.type]],!1,this.arrayType.bytesPerElement,n.offset)}},n.prototype.destroy=function(t){this.buffer&&t.deleteBuffer(this.buffer)},n.BufferType={VERTEX:\"ARRAY_BUFFER\",ELEMENT:\"ELEMENT_ARRAY_BUFFER\"}},{}],315:[function(t,e,r){\"use strict\";function n(t,e){this.layoutVertexBuffer=new a(t.layoutVertexArray,e.layoutVertexArrayType,a.BufferType.VERTEX),t.elementArray&&(this.elementBuffer=new a(t.elementArray,e.elementArrayType,a.BufferType.ELEMENT));var r,n=this.vaos={};t.elementArray2&&(this.elementBuffer2=new a(t.elementArray2,e.elementArrayType2,a.BufferType.ELEMENT),r=this.secondVaos={}),this.paintVertexBuffers=i.mapObject(t.paintVertexArrays,function(i,s){return n[s]=new o,t.elementArray2&&(r[s]=new o),new a(i,e.paintVertexArrayTypes[s],a.BufferType.VERTEX)})}var i=t(\"../util/util\"),a=t(\"./buffer\"),o=t(\"../render/vertex_array_object\");e.exports=n,n.prototype.destroy=function(t){this.layoutVertexBuffer.destroy(t),this.elementBuffer&&this.elementBuffer.destroy(t),this.elementBuffer2&&this.elementBuffer2.destroy(t);for(var e in this.paintVertexBuffers)this.paintVertexBuffers[e].destroy(t);for(var r in this.vaos)this.vaos[r].destroy(t);for(var n in this.secondVaos)this.secondVaos[n].destroy(t)}},{\"../render/vertex_array_object\":337,\"../util/util\":422,\"./buffer\":314}],316:[function(t,e,r){\"use strict\";function n(t,e,r){if(t.grid){var n=t,i=e;t=n.coord,e=n.overscaling,this.grid=new p(n.grid),this.featureIndexArray=new A(n.featureIndexArray),this.rawTileData=i,this.bucketLayerIDs=n.bucketLayerIDs}else this.grid=new p(h,16,0),this.featureIndexArray=new A;this.coord=t,this.overscaling=e,this.x=t.x,this.y=t.y,this.z=t.z-Math.log(e)/Math.LN2,this.setCollisionTile(r)}function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function a(t,e){return e-t}function o(t){return t[\"line-gap-width\"]>0?t[\"line-gap-width\"]+2*t[\"line-width\"]:t[\"line-width\"]}function s(t,e,r,n,i){if(!e[0]&&!e[1])return t;e=u.convert(e),\"viewport\"===r&&e._rotate(-n);for(var a=[],o=0;o<t.length;o++){for(var s=t[o],l=[],c=0;c<s.length;c++)l.push(s[c].sub(e._mult(i)));a.push(l)}return a}function l(t,e){for(var r=[],n=new u(0,0),i=0;i<t.length;i++){for(var a=t[i],o=[],s=0;s<a.length;s++){var l=a[s-1],c=a[s],h=a[s+1],f=0===s?n:c.sub(l)._unit()._perp(),d=s===a.length-1?n:h.sub(c)._unit()._perp(),p=f._add(d)._unit(),m=p.x*d.x+p.y*d.y;p._mult(1/m),o.push(p._mult(e)._add(c))}r.push(o)}return r}var u=t(\"point-geometry\"),c=t(\"./load_geometry\"),h=t(\"./bucket\").EXTENT,f=t(\"feature-filter\"),d=t(\"../util/struct_array\"),p=t(\"grid-index\"),m=t(\"../util/dictionary_coder\"),g=t(\"vector-tile\"),v=t(\"pbf\"),y=t(\"../util/vectortile_to_geojson\"),b=t(\"../util/util\").arraysIntersect,x=t(\"../util/intersection_tests\"),_=x.multiPolygonIntersectsBufferedMultiPoint,w=x.multiPolygonIntersectsMultiPolygon,M=x.multiPolygonIntersectsBufferedMultiLine,A=new d({members:[{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]});e.exports=n,n.prototype.insert=function(t,e,r,n){var i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(e,r,n);for(var a=c(t),o=0;o<a.length;o++){for(var s=a[o],l=[1/0,1/0,-(1/0),-(1/0)],u=0;u<s.length;u++){var h=s[u];l[0]=Math.min(l[0],h.x),l[1]=Math.min(l[1],h.y),l[2]=Math.max(l[2],h.x),l[3]=Math.max(l[3],h.y)}this.grid.insert(i,l[0],l[1],l[2],l[3])}},n.prototype.setCollisionTile=function(t){this.collisionTile=t},n.prototype.serialize=function(){var t={coord:this.coord,overscaling:this.overscaling,grid:this.grid.toArrayBuffer(),featureIndexArray:this.featureIndexArray.serialize(),bucketLayerIDs:this.bucketLayerIDs};return{data:t,transferables:[t.grid,t.featureIndexArray.arrayBuffer]}},n.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new g.VectorTile(new v(new Uint8Array(this.rawTileData))).layers,this.sourceLayerCoder=new m(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"]));var r={},n=t.params||{},s=h/t.tileSize/t.scale,l=f(n.filter),c=0;for(var d in e){var p=e[d],y=p.paint,b=0;\"line\"===p.type?b=o(y)/2+Math.abs(y[\"line-offset\"])+i(y[\"line-translate\"]):\"fill\"===p.type?b=i(y[\"fill-translate\"]):\"circle\"===p.type&&(b=y[\"circle-radius\"]+i(y[\"circle-translate\"])),c=Math.max(c,b*s)}for(var x=t.queryGeometry.map(function(t){return t.map(function(t){return new u(t.x,t.y)})}),_=1/0,w=1/0,M=-(1/0),A=-(1/0),k=0;k<x.length;k++)for(var T=x[k],E=0;E<T.length;E++){var S=T[E];_=Math.min(_,S.x),w=Math.min(w,S.y),M=Math.max(M,S.x),A=Math.max(A,S.y)}var L=this.grid.query(_-c,w-c,M+c,A+c);L.sort(a),this.filterMatching(r,L,this.featureIndexArray,x,l,n.layers,e,t.bearing,s);var C=this.collisionTile.queryRenderedSymbols(_,w,M,A,t.scale);return C.sort(),this.filterMatching(r,C,this.collisionTile.collisionBoxArray,x,l,n.layers,e,t.bearing,s),r},n.prototype.filterMatching=function(t,e,r,n,i,a,u,h,f){for(var d,p=0;p<e.length;p++){var m=e[p];if(m!==d){d=m;var g=r.get(m),v=this.bucketLayerIDs[g.bucketIndex];if(!a||b(a,v)){var x=this.sourceLayerCoder.decode(g.sourceLayerIndex),A=this.vtLayers[x],k=A.feature(g.featureIndex);if(i(k))for(var T=null,E=0;E<v.length;E++){var S=v[E];if(!(a&&a.indexOf(S)<0)){var L=u[S];if(L){var C;if(\"symbol\"!==L.type){T||(T=c(k));var D=L.paint;if(\"line\"===L.type){C=s(n,D[\"line-translate\"],D[\"line-translate-anchor\"],h,f);var I=o(D)/2*f;if(D[\"line-offset\"]&&(T=l(T,D[\"line-offset\"]*f)),!M(C,T,I))continue}else if(\"fill\"===L.type){if(C=s(n,D[\"fill-translate\"],D[\"fill-translate-anchor\"],h,f),!w(C,T))continue}else if(\"circle\"===L.type){C=s(n,D[\"circle-translate\"],D[\"circle-translate-anchor\"],h,f);var z=D[\"circle-radius\"]*f;if(!_(C,T,z))continue}}var P=new y(k,this.z,this.x,this.y);P.layer=L.serialize({includeRefProperties:!0});var O=t[S];void 0===O&&(O=t[S]=[]),O.push(P)}}}}}}}},{\"../util/dictionary_coder\":412,\"../util/intersection_tests\":417,\"../util/struct_array\":420,\"../util/util\":422,\"../util/vectortile_to_geojson\":423,\"./bucket\":309,\"./load_geometry\":317,\"feature-filter\":114,\"grid-index\":269,pbf:457,\"point-geometry\":463,\"vector-tile\":528}],317:[function(t,e,r){\"use strict\";function n(t){return{min:-1*Math.pow(2,t-1),max:Math.pow(2,t-1)-1}}var i=t(\"../util/util\"),a=t(\"./bucket\").EXTENT,o=t(\"assert\"),s={15:n(15),16:n(16)};e.exports=function(t,e){var r=s[e||16];o(r);for(var n=a/t.extent,l=t.loadGeometry(),u=0;u<l.length;u++)for(var c=l[u],h=0;h<c.length;h++){var f=c[h];f.x=Math.round(f.x*n),f.y=Math.round(f.y*n),(f.x<r.min||f.x>r.max||f.y<r.min||f.y>r.max)&&i.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return l}},{\"../util/util\":422,\"./bucket\":309,assert:37}],318:[function(t,e,r){\"use strict\";function n(t,e,r){this.column=t,this.row=e,this.zoom=r}e.exports=n,n.prototype={clone:function(){return new n(this.column,this.row,this.zoom)},zoomTo:function(t){return this.clone()._zoomTo(t)},sub:function(t){return this.clone()._sub(t)},_zoomTo:function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},_sub:function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this}}},{}],319:[function(t,e,r){\"use strict\";function n(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}e.exports=n;var i=t(\"../util/util\").wrap;n.prototype.wrap=function(){return new n(i(this.lng,-180,180),this.lat)},n.prototype.toArray=function(){return[this.lng,this.lat]},n.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{\"../util/util\":422}],320:[function(t,e,r){\"use strict\";function n(t,e){t&&(e?this.extend(t).extend(e):4===t.length?this.extend([t[0],t[1]]).extend([t[2],t[3]]):this.extend(t[0]).extend(t[1]))}e.exports=n;var i=t(\"./lng_lat\");n.prototype={extend:function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof i)e=t,r=t;else{if(!(t instanceof n))return t?this.extend(i.convert(t)||n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new i(e.lng,e.lat),this._ne=new i(r.lng,r.lat)),this},getCenter:function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},getSouthWest:function(){return this._sw},getNorthEast:function(){return this._ne},getNorthWest:function(){return new i(this.getWest(),this.getNorth())},getSouthEast:function(){return new i(this.getEast(),this.getSouth())},getWest:function(){return this._sw.lng},getSouth:function(){return this._sw.lat},getEast:function(){return this._ne.lng},getNorth:function(){return this._ne.lat},toArray:function(){return[this._sw.toArray(),this._ne.toArray()]},toString:function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"}},n.convert=function(t){return!t||t instanceof n?t:new n(t)}},{\"./lng_lat\":319}],321:[function(t,e,r){\"use strict\";function n(t,e){this.tileSize=512,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new i(0,0),this.zoom=0,this.angle=0,this._altitude=1.5,this._pitch=0,this._unmodified=!0}var i=t(\"./lng_lat\"),a=t(\"point-geometry\"),o=t(\"./coordinate\"),s=t(\"../util/util\").wrap,l=t(\"../util/interpolate\"),u=t(\"../source/tile_coord\"),c=t(\"../data/bucket\").EXTENT,h=t(\"gl-matrix\"),f=h.vec4,d=h.mat4,p=h.mat2;e.exports=n,n.prototype={get minZoom(){return this._minZoom},set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},get maxZoom(){return this._maxZoom},set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},get worldSize(){return this.tileSize*this.scale},get centerPoint(){return this.size._div(2)},get size(){return new a(this.width,this.height)},get bearing(){return-this.angle/Math.PI*180},set bearing(t){var e=-s(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=p.create(),p.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},get pitch(){return this._pitch/Math.PI*180},set pitch(t){var e=Math.min(60,t)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},get altitude(){return this._altitude},set altitude(t){var e=Math.max(.75,t);this._altitude!==e&&(this._unmodified=!1,this._altitude=e,this._calcMatrices())},get zoom(){return this._zoom},set zoom(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._calcMatrices(),this._constrain())},get center(){return this._center},set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._calcMatrices(),this._constrain())},coveringZoomLevel:function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},coveringTiles:function(t){var e=this.coveringZoomLevel(t),r=e;if(e<t.minzoom)return[];e>t.maxzoom&&(e=t.maxzoom);var n=this,i=n.locationCoordinate(n.center)._zoomTo(e),o=new a(i.column-.5,i.row-.5);return u.cover(e,[n.pointCoordinate(new a(0,0))._zoomTo(e),n.pointCoordinate(new a(n.width,0))._zoomTo(e),n.pointCoordinate(new a(n.width,n.height))._zoomTo(e),n.pointCoordinate(new a(0,n.height))._zoomTo(e)],t.reparseOverscaled?r:e).sort(function(t,e){return o.dist(t)-o.dist(e)})},resize:function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._calcMatrices(),this._constrain()},get unmodified(){return this._unmodified},zoomScale:function(t){return Math.pow(2,t)},scaleZoom:function(t){return Math.log(t)/Math.LN2},project:function(t,e){return new a(this.lngX(t.lng,e),this.latY(t.lat,e))},unproject:function(t,e){return new i(this.xLng(t.x,e),this.yLat(t.y,e))},get x(){return this.lngX(this.center.lng)},get y(){return this.latY(this.center.lat)},get point(){return new a(this.x,this.y)},lngX:function(t,e){return(180+t)*(e||this.worldSize)/360},latY:function(t,e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*(e||this.worldSize)/360},xLng:function(t,e){return 360*t/(e||this.worldSize)-180},yLat:function(t,e){var r=180-360*t/(e||this.worldSize);return 360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90},panBy:function(t){var e=this.centerPoint._add(t);this.center=this.pointLocation(e)},setLocationAtPoint:function(t,e){var r=this.locationCoordinate(t),n=this.pointCoordinate(e),i=this.pointCoordinate(this.centerPoint),a=n._sub(r);this._unmodified=!1,this.center=this.coordinateLocation(i._sub(a))},locationPoint:function(t){return this.coordinatePoint(this.locationCoordinate(t))},pointLocation:function(t){return this.coordinateLocation(this.pointCoordinate(t))},locationCoordinate:function(t){var e=this.zoomScale(this.tileZoom)/this.worldSize,r=i.convert(t);return new o(this.lngX(r.lng)*e,this.latY(r.lat)*e,this.tileZoom)},coordinateLocation:function(t){var e=this.zoomScale(t.zoom);return new i(this.xLng(t.column,e),this.yLat(t.row,e))},pointCoordinate:function(t){var e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];f.transformMat4(e,e,this.pixelMatrixInverse),f.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],i=r[3],a=e[0]/n,s=r[0]/i,u=e[1]/n,c=r[1]/i,h=e[2]/n,d=r[2]/i,p=h===d?0:(0-h)/(d-h),m=this.worldSize/this.zoomScale(this.tileZoom);return new o(l(a,s,p)/m,l(u,c,p)/m,this.tileZoom)},coordinatePoint:function(t){var e=this.worldSize/this.zoomScale(t.zoom),r=[t.column*e,t.row*e,0,1];return f.transformMat4(r,r,this.pixelMatrix),new a(r[0]/r[3],r[1]/r[3])},calculatePosMatrix:function(t,e){void 0===e&&(e=1/0),t instanceof u&&(t=t.toCoordinate(e));var r=Math.min(t.zoom,e),n=this.worldSize/Math.pow(2,r),i=new Float64Array(16);return d.identity(i),d.translate(i,i,[t.column*n,t.row*n,0]),d.scale(i,i,[n/c,n/c,1]),d.multiply(i,this.projMatrix,i),new Float32Array(i)},_constrain:function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,i,o,s,l,u=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),e=this.latY(this.latRange[0]),i=e-t<u.y?u.y/(e-t):0),this.lngRange&&(r=this.lngX(this.lngRange[0]),n=this.lngX(this.lngRange[1]),o=n-r<u.x?u.x/(n-r):0);var h=Math.max(o||0,i||0);if(h)return this.center=this.unproject(new a(o?(n+r)/2:this.x,i?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(h),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var f=this.y,d=u.y/2;f-d<t&&(l=t+d),f+d>e&&(l=e-d)}if(this.lngRange){var p=this.x,m=u.x/2;p-m<r&&(s=r+m),p+m>n&&(s=n-m)}void 0===s&&void 0===l||(this.center=this.unproject(new a(void 0!==s?s:this.x,void 0!==l?l:this.y))),this._unmodified=c,this._constraining=!1}},_calcMatrices:function(){if(this.height){var t=Math.atan(.5/this.altitude),e=Math.sin(t)*this.altitude/Math.sin(Math.PI/2-this._pitch-t),r=Math.cos(Math.PI/2-this._pitch)*e+this.altitude,n=new Float64Array(16);if(d.perspective(n,2*Math.atan(this.height/2/this.altitude),this.width/this.height,.1,r),d.translate(n,n,[0,0,-this.altitude]),d.scale(n,n,[1,-1,1/this.height]),d.rotateX(n,n,this._pitch),d.rotateZ(n,n,this.angle),d.translate(n,n,[-this.x,-this.y,0]),this.projMatrix=n,n=d.create(),d.scale(n,n,[this.width/2,-this.height/2,1]),d.translate(n,n,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),n,this.projMatrix),!(n=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}}}},{\"../data/bucket\":309,\"../source/tile_coord\":349,\"../util/interpolate\":416,\"../util/util\":422,\"./coordinate\":318,\"./lng_lat\":319,\"gl-matrix\":174,\"point-geometry\":463}],322:[function(t,e,r){\"use strict\";var n={\" \":[16,[]],\"!\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\"#\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\"%\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\"&\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\"'\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\"(\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\")\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\"*\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\"+\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\",\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\"-\":[26,[4,9,22,9]],\".\":[10,[5,2,4,1,5,0,6,1,5,2]],\"/\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\":\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\";\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\"<\":[24,[20,18,4,9,20,0]],\"=\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\">\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};e.exports=function(t,e,r,i){i=i||1;var a,o,s,l,u,c,h,f,d=[];for(a=0,o=t.length;a<o;a++)if(u=n[t[a]]){for(f=null,s=0,l=u[1].length;s<l;s+=2)u[1][s]===-1&&u[1][s+1]===-1?f=null:(c=e+u[1][s]*i,h=r-u[1][s+1]*i,f&&d.push(f.x,f.y,c,h),f={x:c,y:h});e+=u[0]*i}return d}},{}],323:[function(t,e,r){\"use strict\";var n=e.exports={};n.version=t(\"../package.json\").version,n.Map=t(\"./ui/map\"),n.Control=t(\"./ui/control/control\"),n.Navigation=t(\"./ui/control/navigation\"),n.Geolocate=t(\"./ui/control/geolocate\"),n.Attribution=t(\"./ui/control/attribution\"),n.Popup=t(\"./ui/popup\"),n.Marker=t(\"./ui/marker\"),n.Style=t(\"./style/style\"),n.LngLat=t(\"./geo/lng_lat\"),n.LngLatBounds=t(\"./geo/lng_lat_bounds\"),n.Point=t(\"point-geometry\"),n.Evented=t(\"./util/evented\"),n.util=t(\"./util/util\"),n.supported=t(\"./util/browser\").supported;var i=t(\"./util/ajax\");n.util.getJSON=i.getJSON,n.util.getArrayBuffer=i.getArrayBuffer;var a=t(\"./util/config\");n.config=a,Object.defineProperty(n,\"accessToken\",{get:function(){return a.ACCESS_TOKEN},set:function(t){a.ACCESS_TOKEN=t}})},{\"../package.json\":424,\"./geo/lng_lat\":319,\"./geo/lng_lat_bounds\":320,\"./style/style\":358,\"./ui/control/attribution\":389,\"./ui/control/control\":390,\"./ui/control/geolocate\":391,\"./ui/control/navigation\":392,\"./ui/map\":401,\"./ui/marker\":402,\"./ui/popup\":403,\"./util/ajax\":405,\"./util/browser\":406,\"./util/config\":411,\"./util/evented\":414,\"./util/util\":422,\"point-geometry\":463}],324:[function(t,e,r){\"use strict\";var n=t(\"assert\");e.exports=function(t){for(var e={define:{},initialize:{}},r=0;r<t.length;r++){var i=t[r];n(\"u_\"===i.name.slice(0,2));var a=\"{precision} \"+(1===i.components?\"float\":\"vec\"+i.components);e.define[i.name.slice(2)]=\"uniform \"+a+\" \"+i.name+\";\\n\",e.initialize[i.name.slice(2)]=a+\" \"+i.name.slice(2)+\" = \"+i.name+\";\\n\"}return e}},{assert:37}],325:[function(t,e,r){\"use strict\";function n(t,e,r){var n,s=t.gl,l=t.transform,u=r.paint[\"background-color\"],c=r.paint[\"background-pattern\"],h=r.paint[\"background-opacity\"],f=c?t.spriteAtlas.getPosition(c.from,!0):null,d=c?t.spriteAtlas.getPosition(c.to,!0):null;if(t.setDepthSublayer(0),f&&d){if(t.isOpaquePass)return;n=t.useProgram(\"pattern\"),s.uniform1i(n.u_image,0),s.uniform2fv(n.u_pattern_tl_a,f.tl),s.uniform2fv(n.u_pattern_br_a,f.br),s.uniform2fv(n.u_pattern_tl_b,d.tl),s.uniform2fv(n.u_pattern_br_b,d.br),s.uniform1f(n.u_opacity,h),s.uniform1f(n.u_mix,c.t),s.uniform2fv(n.u_pattern_size_a,f.size),s.uniform2fv(n.u_pattern_size_b,d.size),s.uniform1f(n.u_scale_a,c.fromScale),s.uniform1f(n.u_scale_b,c.toScale),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),t.tileExtentPatternVAO.bind(s,n,t.tileExtentBuffer)}else{if(t.isOpaquePass!==(1===u[3]))return;var p=a([{name:\"u_color\",components:4},{name:\"u_opacity\",components:1}]);n=t.useProgram(\"fill\",[],p,p),s.uniform4fv(n.u_color,u),s.uniform1f(n.u_opacity,h),t.tileExtentVAO.bind(s,n,t.tileExtentBuffer)}s.disable(s.STENCIL_TEST);for(var m=l.coveringTiles({tileSize:o}),g=0;g<m.length;g++){var v=m[g];if(f&&d){var y={coord:v,tileSize:o};s.uniform1f(n.u_tile_units_to_pixels,1/i(y,1,t.transform.tileZoom));var b=y.tileSize*Math.pow(2,t.transform.tileZoom-y.coord.z),x=b*(y.coord.x+v.w*Math.pow(2,y.coord.z)),_=b*y.coord.y;s.uniform2f(n.u_pixel_coord_upper,x>>16,_>>16),s.uniform2f(n.u_pixel_coord_lower,65535&x,65535&_)}s.uniformMatrix4fv(n.u_matrix,!1,t.transform.calculatePosMatrix(v)),s.drawArrays(s.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}s.stencilMask(0),s.stencilFunc(s.EQUAL,128,128)}var i=t(\"../source/pixels_to_tile_units\"),a=t(\"./create_uniform_pragmas\"),o=512;e.exports=n},{\"../source/pixels_to_tile_units\":343,\"./create_uniform_pragmas\":324}],326:[function(t,e,r){\"use strict\";function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;t.setDepthSublayer(0),t.depthMask(!1),a.disable(a.STENCIL_TEST);for(var o=0;o<n.length;o++){var s=n[o],l=e.getTile(s),u=l.getBucket(r);if(u){var c=u.bufferGroups.circle;if(c){var h=u.paintAttributes.circle[r.id],f=t.useProgram(\"circle\",h.defines,h.vertexPragmas,h.fragmentPragmas);\"map\"===r.paint[\"circle-pitch-scale\"]?(a.uniform1i(f.u_scale_with_map,!0),a.uniform2f(f.u_extrude_scale,t.transform.pixelsToGLUnits[0]*t.transform.altitude,t.transform.pixelsToGLUnits[1]*t.transform.altitude)):(a.uniform1i(f.u_scale_with_map,!1),a.uniform2fv(f.u_extrude_scale,t.transform.pixelsToGLUnits)),a.uniform1f(f.u_devicepixelratio,i.devicePixelRatio),a.uniformMatrix4fv(f.u_matrix,!1,t.translatePosMatrix(s.posMatrix,l,r.paint[\"circle-translate\"],r.paint[\"circle-translate-anchor\"])),u.setUniforms(a,\"circle\",f,r,{zoom:t.transform.zoom});for(var d=0;d<c.length;d++){var p=c[d];p.vaos[r.id].bind(a,f,p.layoutVertexBuffer,p.elementBuffer,p.paintVertexBuffers[r.id]),a.drawElements(a.TRIANGLES,3*p.elementBuffer.length,a.UNSIGNED_SHORT,0)}}}}}}var i=t(\"../util/browser\");e.exports=n},{\"../util/browser\":406}],327:[function(t,e,r){\"use strict\";function n(t,e,r,n){var i=t.gl;i.enable(i.STENCIL_TEST);for(var a=t.useProgram(\"collisionbox\"),o=0;o<n.length;o++){var s=n[o],l=e.getTile(s),u=l.getBucket(r);if(u){var c=u.bufferGroups.collisionBox;if(c&&c.length){var h=c[0];0!==h.layoutVertexBuffer.length&&(i.uniformMatrix4fv(a.u_matrix,!1,s.posMatrix),t.enableTileClippingMask(s),t.lineWidth(1),i.uniform1f(a.u_scale,Math.pow(2,t.transform.zoom-l.coord.z)),\ni.uniform1f(a.u_zoom,10*t.transform.zoom),i.uniform1f(a.u_maxzoom,10*(l.coord.z+1)),h.vaos[r.id].bind(i,a,h.layoutVertexBuffer),i.drawArrays(i.LINES,0,h.layoutVertexBuffer.length))}}}}e.exports=n},{}],328:[function(t,e,r){\"use strict\";function n(t,e,r){if(!t.isOpaquePass&&t.options.debug)for(var n=0;n<r.length;n++)i(t,e,r[n])}function i(t,e,r){var n=t.gl;n.disable(n.STENCIL_TEST),t.lineWidth(1*o.devicePixelRatio);var i=r.posMatrix,h=t.useProgram(\"debug\");n.uniformMatrix4fv(h.u_matrix,!1,i),n.uniform4f(h.u_color,1,0,0,1),t.debugVAO.bind(n,h,t.debugBuffer),n.drawArrays(n.LINE_STRIP,0,t.debugBuffer.length);for(var f=a(r.toString(),50,200,5),d=new t.PosArray,p=0;p<f.length;p+=2)d.emplaceBack(f[p],f[p+1]);var m=new u(d.serialize(),t.PosArray.serialize(),u.BufferType.VERTEX);(new c).bind(n,h,m),n.uniform4f(h.u_color,1,1,1,1);for(var g=e.getTile(r).tileSize,v=l/(Math.pow(2,t.transform.zoom-r.z)*g),y=[[-1,-1],[-1,1],[1,-1],[1,1]],b=0;b<y.length;b++){var x=y[b];n.uniformMatrix4fv(h.u_matrix,!1,s.translate([],i,[v*x[0],v*x[1],0])),n.drawArrays(n.LINES,0,m.length)}n.uniform4f(h.u_color,0,0,0,1),n.uniformMatrix4fv(h.u_matrix,!1,i),n.drawArrays(n.LINES,0,m.length)}var a=t(\"../lib/debugtext\"),o=t(\"../util/browser\"),s=t(\"gl-matrix\").mat4,l=t(\"../data/bucket\").EXTENT,u=t(\"../data/buffer\"),c=t(\"./vertex_array_object\");e.exports=n},{\"../data/bucket\":309,\"../data/buffer\":314,\"../lib/debugtext\":322,\"../util/browser\":406,\"./vertex_array_object\":337,\"gl-matrix\":174}],329:[function(t,e,r){\"use strict\";function n(t,e,r,n){var o=t.gl;o.enable(o.STENCIL_TEST);var s;if(s=!r.paint[\"fill-pattern\"]&&(r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"]),t.isOpaquePass===s){t.setDepthSublayer(1);for(var l=0;l<n.length;l++)i(t,e,r,n[l])}if(!t.isOpaquePass&&r.paint[\"fill-antialias\"]){t.lineWidth(2),t.depthMask(!1);var u=r.getPaintProperty(\"fill-outline-color\");(u||!r.paint[\"fill-pattern\"])&&u?t.setDepthSublayer(2):t.setDepthSublayer(0);for(var c=0;c<n.length;c++)a(t,e,r,n[c])}}function i(t,e,r,n){var i=e.getTile(n),a=i.getBucket(r);if(a){var s=a.bufferGroups.fill;if(s){var l,u=t.gl,c=r.paint[\"fill-pattern\"];if(c)l=t.useProgram(\"pattern\"),o(c,r.paint[\"fill-opacity\"],i,n,t,l),u.activeTexture(u.TEXTURE0),t.spriteAtlas.bind(u,!0);else{var h=a.paintAttributes.fill[r.id];l=t.useProgram(\"fill\",h.defines,h.vertexPragmas,h.fragmentPragmas),a.setUniforms(u,\"fill\",l,r,{zoom:t.transform.zoom})}u.uniformMatrix4fv(l.u_matrix,!1,t.translatePosMatrix(n.posMatrix,i,r.paint[\"fill-translate\"],r.paint[\"fill-translate-anchor\"])),t.enableTileClippingMask(n);for(var f=0;f<s.length;f++){var d=s[f];d.vaos[r.id].bind(u,l,d.layoutVertexBuffer,d.elementBuffer,d.paintVertexBuffers[r.id]),u.drawElements(u.TRIANGLES,d.elementBuffer.length,u.UNSIGNED_SHORT,0)}}}}function a(t,e,r,n){var i=e.getTile(n),a=i.getBucket(r);if(a){var s,l=t.gl,u=a.bufferGroups.fill,c=r.paint[\"fill-pattern\"],h=r.paint[\"fill-opacity\"],f=r.getPaintProperty(\"fill-outline-color\");if(c&&!f)s=t.useProgram(\"outlinepattern\"),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight);else{var d=a.paintAttributes.fill[r.id];s=t.useProgram(\"outline\",d.defines,d.vertexPragmas,d.fragmentPragmas),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(s.u_opacity,h),a.setUniforms(l,\"fill\",s,r,{zoom:t.transform.zoom})}l.uniformMatrix4fv(s.u_matrix,!1,t.translatePosMatrix(n.posMatrix,i,r.paint[\"fill-translate\"],r.paint[\"fill-translate-anchor\"])),c&&o(c,h,i,n,t,s),t.enableTileClippingMask(n);for(var p=0;p<u.length;p++){var m=u[p];m.secondVaos[r.id].bind(l,s,m.layoutVertexBuffer,m.elementBuffer2,m.paintVertexBuffers[r.id]),l.drawElements(l.LINES,2*m.elementBuffer2.length,l.UNSIGNED_SHORT,0)}}}function o(t,e,r,n,i,a){var o=i.gl,l=i.spriteAtlas.getPosition(t.from,!0),u=i.spriteAtlas.getPosition(t.to,!0);if(l&&u){o.uniform1i(a.u_image,0),o.uniform2fv(a.u_pattern_tl_a,l.tl),o.uniform2fv(a.u_pattern_br_a,l.br),o.uniform2fv(a.u_pattern_tl_b,u.tl),o.uniform2fv(a.u_pattern_br_b,u.br),o.uniform1f(a.u_opacity,e),o.uniform1f(a.u_mix,t.t),o.uniform1f(a.u_tile_units_to_pixels,1/s(r,1,i.transform.tileZoom)),o.uniform2fv(a.u_pattern_size_a,l.size),o.uniform2fv(a.u_pattern_size_b,u.size),o.uniform1f(a.u_scale_a,t.fromScale),o.uniform1f(a.u_scale_b,t.toScale);var c=r.tileSize*Math.pow(2,i.transform.tileZoom-r.coord.z),h=c*(r.coord.x+n.w*Math.pow(2,r.coord.z)),f=c*r.coord.y;o.uniform2f(a.u_pixel_coord_upper,h>>16,f>>16),o.uniform2f(a.u_pixel_coord_lower,65535&h,65535&f),o.activeTexture(o.TEXTURE0),i.spriteAtlas.bind(o,!0)}}var s=t(\"../source/pixels_to_tile_units\");e.exports=n},{\"../source/pixels_to_tile_units\":343}],330:[function(t,e,r){\"use strict\";var n=t(\"../util/browser\"),i=t(\"gl-matrix\").mat2,a=t(\"../source/pixels_to_tile_units\");e.exports=function(t,e,r,o){if(!t.isOpaquePass){t.setDepthSublayer(0),t.depthMask(!1);var s=t.gl;if(s.enable(s.STENCIL_TEST),!(r.paint[\"line-width\"]<=0)){var l=1/n.devicePixelRatio,u=r.paint[\"line-blur\"]+l,c=r.paint[\"line-color\"],h=t.transform,f=i.create();i.scale(f,f,[1,Math.cos(h._pitch)]),i.rotate(f,f,t.transform.angle);var d,p,m,g,v,y=Math.sqrt(h.height*h.height/4*(1+h.altitude*h.altitude)),b=h.height/2*Math.tan(h._pitch),x=(y+b)/y-1,_=r.paint[\"line-dasharray\"],w=r.paint[\"line-pattern\"];if(_)d=t.useProgram(\"linesdfpattern\"),s.uniform1f(d.u_linewidth,r.paint[\"line-width\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\"line-gap-width\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform4fv(d.u_color,c),s.uniform1f(d.u_opacity,r.paint[\"line-opacity\"]),p=t.lineAtlas.getDash(_.from,\"round\"===r.layout[\"line-cap\"]),m=t.lineAtlas.getDash(_.to,\"round\"===r.layout[\"line-cap\"]),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.lineAtlas.bind(s),s.uniform1f(d.u_tex_y_a,p.y),s.uniform1f(d.u_tex_y_b,m.y),s.uniform1f(d.u_mix,_.t),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\"line-offset\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f);else if(w){if(g=t.spriteAtlas.getPosition(w.from,!0),v=t.spriteAtlas.getPosition(w.to,!0),!g||!v)return;d=t.useProgram(\"linepattern\"),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),s.uniform1f(d.u_linewidth,r.paint[\"line-width\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\"line-gap-width\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform2fv(d.u_pattern_tl_a,g.tl),s.uniform2fv(d.u_pattern_br_a,g.br),s.uniform2fv(d.u_pattern_tl_b,v.tl),s.uniform2fv(d.u_pattern_br_b,v.br),s.uniform1f(d.u_fade,w.t),s.uniform1f(d.u_opacity,r.paint[\"line-opacity\"]),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\"line-offset\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f)}else d=t.useProgram(\"line\"),s.uniform1f(d.u_linewidth,r.paint[\"line-width\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\"line-gap-width\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\"line-offset\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f),s.uniform4fv(d.u_color,c),s.uniform1f(d.u_opacity,r.paint[\"line-opacity\"]);for(var M=0;M<o.length;M++){var A=o[M],k=e.getTile(A),T=k.getBucket(r);if(T){var E=T.bufferGroups.line;if(E){t.enableTileClippingMask(A);var S=t.translatePosMatrix(A.posMatrix,k,r.paint[\"line-translate\"],r.paint[\"line-translate-anchor\"]);s.uniformMatrix4fv(d.u_matrix,!1,S);var L=1/a(k,1,t.transform.zoom);if(_){var C=p.width*_.fromScale,D=m.width*_.toScale,I=[1/a(k,C,t.transform.tileZoom),-p.height/2],z=[1/a(k,D,t.transform.tileZoom),-m.height/2],P=t.lineAtlas.width/(256*Math.min(C,D)*n.devicePixelRatio)/2;s.uniform1f(d.u_ratio,L),s.uniform2fv(d.u_patternscale_a,I),s.uniform2fv(d.u_patternscale_b,z),s.uniform1f(d.u_sdfgamma,P)}else w?(s.uniform1f(d.u_ratio,L),s.uniform2fv(d.u_pattern_size_a,[a(k,g.size[0]*w.fromScale,t.transform.tileZoom),v.size[1]]),s.uniform2fv(d.u_pattern_size_b,[a(k,v.size[0]*w.toScale,t.transform.tileZoom),v.size[1]])):s.uniform1f(d.u_ratio,L);for(var O=0;O<E.length;O++){var R=E[O];R.vaos[r.id].bind(s,d,R.layoutVertexBuffer,R.elementBuffer),s.drawElements(s.TRIANGLES,3*R.elementBuffer.length,s.UNSIGNED_SHORT,0)}}}}}}}},{\"../source/pixels_to_tile_units\":343,\"../util/browser\":406,\"gl-matrix\":174}],331:[function(t,e,r){\"use strict\";function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;a.enable(a.DEPTH_TEST),t.depthMask(!0),a.depthFunc(a.LESS);for(var o=n.length&&n[0].z,s=0;s<n.length;s++){var l=n[s];t.setDepthSublayer(l.z-o),i(t,e,r,l)}a.depthFunc(a.LEQUAL)}}function i(t,e,r,n){var i=t.gl;i.disable(i.STENCIL_TEST);var u=e.getTile(n),c=t.transform.calculatePosMatrix(n,e.maxzoom),h=t.useProgram(\"raster\");i.uniformMatrix4fv(h.u_matrix,!1,c),i.uniform1f(h.u_brightness_low,r.paint[\"raster-brightness-min\"]),i.uniform1f(h.u_brightness_high,r.paint[\"raster-brightness-max\"]),i.uniform1f(h.u_saturation_factor,s(r.paint[\"raster-saturation\"])),i.uniform1f(h.u_contrast_factor,o(r.paint[\"raster-contrast\"])),i.uniform3fv(h.u_spin_weights,a(r.paint[\"raster-hue-rotate\"]));var f,d,p=u.source&&u.source.findLoadedParent(n,0,{}),m=l(u,p,r,t.transform);i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,u.texture),i.activeTexture(i.TEXTURE1),p?(i.bindTexture(i.TEXTURE_2D,p.texture),f=Math.pow(2,p.coord.z-u.coord.z),d=[u.coord.x*f%1,u.coord.y*f%1]):(i.bindTexture(i.TEXTURE_2D,u.texture),m[1]=0),i.uniform2fv(h.u_tl_parent,d||[0,0]),i.uniform1f(h.u_scale_parent,f||1),i.uniform1f(h.u_buffer_scale,1),i.uniform1f(h.u_opacity0,m[0]),i.uniform1f(h.u_opacity1,m[1]),i.uniform1i(h.u_image0,0),i.uniform1i(h.u_image1,1);var g=u.boundsBuffer||t.rasterBoundsBuffer;(u.boundsVAO||t.rasterBoundsVAO).bind(i,h,g),i.drawArrays(i.TRIANGLE_STRIP,0,g.length)}function a(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}function o(t){return t>0?1/(1-t):1+t}function s(t){return t>0?1-1/(1.001-t):-t}function l(t,e,r,n){var i=[1,0],a=r.paint[\"raster-fade-duration\"];if(t.source&&a>0){var o=(new Date).getTime(),s=(o-t.timeAdded)/a,l=e?(o-e.timeAdded)/a:-1,c=n.coveringZoomLevel(t.source),h=!!e&&Math.abs(e.coord.z-c)>Math.abs(t.coord.z-c);!e||h?(i[0]=u.clamp(s,0,1),i[1]=1-i[0]):(i[0]=u.clamp(1-l,0,1),i[1]=1-i[0])}var f=r.paint[\"raster-opacity\"];return i[0]*=f,i[1]*=f,i}var u=t(\"../util/util\"),c=t(\"../util/struct_array\");e.exports=n,n.RasterBoundsArray=new c({members:[{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]})},{\"../util/struct_array\":420,\"../util/util\":422}],332:[function(t,e,r){\"use strict\";function n(t,e,r,n){if(!t.isOpaquePass){var a=!(r.layout[\"text-allow-overlap\"]||r.layout[\"icon-allow-overlap\"]||r.layout[\"text-ignore-placement\"]||r.layout[\"icon-ignore-placement\"]),o=t.gl;a?o.disable(o.STENCIL_TEST):o.enable(o.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),o.disable(o.DEPTH_TEST),i(t,e,r,n,!1,r.paint[\"icon-translate\"],r.paint[\"icon-translate-anchor\"],r.layout[\"icon-rotation-alignment\"],r.layout[\"icon-rotation-alignment\"],r.layout[\"icon-size\"],r.paint[\"icon-halo-width\"],r.paint[\"icon-halo-color\"],r.paint[\"icon-halo-blur\"],r.paint[\"icon-opacity\"],r.paint[\"icon-color\"]),i(t,e,r,n,!0,r.paint[\"text-translate\"],r.paint[\"text-translate-anchor\"],r.layout[\"text-rotation-alignment\"],r.layout[\"text-pitch-alignment\"],r.layout[\"text-size\"],r.paint[\"text-halo-width\"],r.paint[\"text-halo-color\"],r.paint[\"text-halo-blur\"],r.paint[\"text-opacity\"],r.paint[\"text-color\"]),o.enable(o.DEPTH_TEST),e.map.showCollisionBoxes&&s(t,e,r,n)}}function i(t,e,r,n,i,o,s,l,u,c,h,f,d,p,m){for(var g=0;g<n.length;g++){var v=e.getTile(n[g]),y=v.getBucket(r);if(y){var b=y.bufferGroups,x=i?b.glyph:b.icon;x.length&&(t.enableTileClippingMask(n[g]),a(t,r,n[g].posMatrix,v,y,x,i,i||y.sdfIcons,!i&&y.iconsNeedLinear,i?y.adjustedTextSize:y.adjustedIconSize,y.fontstack,o,s,l,u,c,h,f,d,p,m))}}}function a(t,e,r,n,i,a,s,u,c,h,f,d,p,m,g,v,y,b,x,_,w){var M,A,k,T=t.gl,E=t.transform,S=\"map\"===m,L=\"map\"===g,C=s?24:1,D=v/C;if(L?(A=l(n,1,t.transform.zoom)*D,k=1/Math.cos(E._pitch),M=[A,A]):(A=t.transform.altitude*D,k=1,M=[E.pixelsToGLUnits[0]*A,E.pixelsToGLUnits[1]*A]),s||t.style.sprite.loaded()){var I=t.useProgram(u?\"sdf\":\"icon\");if(T.uniformMatrix4fv(I.u_matrix,!1,t.translatePosMatrix(r,n,d,p)),T.uniform1i(I.u_rotate_with_map,S),T.uniform1i(I.u_pitch_with_map,L),T.uniform2fv(I.u_extrude_scale,M),T.activeTexture(T.TEXTURE0),T.uniform1i(I.u_texture,0),s){var z=f&&t.glyphSource.getGlyphAtlas(f);if(!z)return;z.updateTexture(T),T.uniform2f(I.u_texsize,z.width/4,z.height/4)}else{var P=t.options.rotating||t.options.zooming,O=1!==D||o.devicePixelRatio!==t.spriteAtlas.pixelRatio||c,R=L||t.transform.pitch;t.spriteAtlas.bind(T,u||P||O||R),T.uniform2f(I.u_texsize,t.spriteAtlas.width/4,t.spriteAtlas.height/4)}var F=Math.log(v/h)/Math.LN2||0;T.uniform1f(I.u_zoom,10*(t.transform.zoom-F)),T.activeTexture(T.TEXTURE1),t.frameHistory.bind(T),T.uniform1i(I.u_fadetexture,1);var j;if(u){var N=.105*C/v/o.devicePixelRatio;if(y){T.uniform1f(I.u_gamma,(1.19*x/D/8+N)*k),T.uniform4fv(I.u_color,b),T.uniform1f(I.u_opacity,_),T.uniform1f(I.u_buffer,(6-y/D)/8);for(var B=0;B<a.length;B++)j=a[B],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}T.uniform1f(I.u_gamma,N*k),T.uniform4fv(I.u_color,w),T.uniform1f(I.u_opacity,_),T.uniform1f(I.u_buffer,.75),T.uniform1f(I.u_pitch,E.pitch/360*2*Math.PI),T.uniform1f(I.u_bearing,E.bearing/360*2*Math.PI),T.uniform1f(I.u_aspect_ratio,E.width/E.height);for(var U=0;U<a.length;U++)j=a[U],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}else{T.uniform1f(I.u_opacity,_);for(var V=0;V<a.length;V++)j=a[V],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}}}var o=t(\"../util/browser\"),s=t(\"./draw_collision_debug\"),l=t(\"../source/pixels_to_tile_units\");e.exports=n},{\"../source/pixels_to_tile_units\":343,\"../util/browser\":406,\"./draw_collision_debug\":327}],333:[function(t,e,r){\"use strict\";function n(){this.changeTimes=new Float64Array(256),this.changeOpacities=new Uint8Array(256),this.opacities=new Uint8ClampedArray(256),this.array=new Uint8Array(this.opacities.buffer),this.fadeDuration=300,this.previousZoom=0,this.firstFrame=!0}e.exports=n,n.prototype.record=function(t){var e=Date.now();this.firstFrame&&(e=0,this.firstFrame=!1),t=Math.floor(10*t);var r;if(t<this.previousZoom)for(r=t+1;r<=this.previousZoom;r++)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];else for(r=t;r>this.previousZoom;r--)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];for(r=0;r<256;r++){var n=e-this.changeTimes[r],i=n/this.fadeDuration*255;this.opacities[r]=r<=t?this.changeOpacities[r]+i:this.changeOpacities[r]-i}this.changed=!0,this.previousZoom=t},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.changed&&(t.texSubImage2D(t.TEXTURE_2D,0,0,0,256,1,t.ALPHA,t.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,256,1,0,t.ALPHA,t.UNSIGNED_BYTE,this.array))}},{}],334:[function(t,e,r){\"use strict\";function n(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}}var i=t(\"../util/util\");e.exports=n,n.prototype.setSprite=function(t){this.sprite=t},n.prototype.getDash=function(t,e){var r=t.join(\",\")+e;return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},n.prototype.addDash=function(t,e){var r=e?7:0,n=2*r+1;if(this.nextRow+n>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,o=0;o<t.length;o++)a+=t[o];for(var s=this.width/a,l=s/2,u=t.length%2==1,c=-r;c<=r;c++)for(var h=this.nextRow+r+c,f=this.width*h,d=u?-t[t.length-1]:0,p=t[0],m=1,g=0;g<this.width;g++){for(;p<g/s;)d=p,p+=t[m],u&&m===t.length-1&&(p+=t[0]),m++;var v,y=Math.abs(g-d*s),b=Math.abs(g-p*s),x=Math.min(y,b),_=m%2==1;if(e){var w=r?c/r*(l+1):0;if(_){var M=l-Math.abs(w);v=Math.sqrt(x*x+M*M)}else v=l-Math.sqrt(x*x+w*w)}else v=(_?1:-1)*x;this.data[3+4*(f+g)]=Math.max(0,Math.min(255,v+128))}var A={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=n,this.dirty=!0,A},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.RGBA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))}},{\"../util/util\":422}],335:[function(t,e,r){\"use strict\";function n(t,e){this.gl=t,this.transform=e,this.reusableTextures={},this.preFbos={},this.frameHistory=new o,this.setup(),this.numSublayers=s.maxUnderzooming+s.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE)}var i=t(\"../util/browser\"),a=t(\"gl-matrix\").mat4,o=t(\"./frame_history\"),s=t(\"../source/source_cache\"),l=t(\"../data/bucket\").EXTENT,u=t(\"../source/pixels_to_tile_units\"),c=t(\"../util/util\"),h=t(\"../util/struct_array\"),f=t(\"../data/buffer\"),d=t(\"./vertex_array_object\"),p=t(\"./draw_raster\").RasterBoundsArray,m=t(\"./create_uniform_pragmas\");e.exports=n,c.extend(n.prototype,t(\"./painter/use_program\")),n.prototype.resize=function(t,e){var r=this.gl;this.width=t*i.devicePixelRatio,this.height=e*i.devicePixelRatio,r.viewport(0,0,this.width,this.height)},n.prototype.setup=function(){var t=this.gl;t.verbose=!0,t.enable(t.BLEND),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.enable(t.STENCIL_TEST),t.enable(t.DEPTH_TEST),t.depthFunc(t.LEQUAL),this._depthMask=!1,t.depthMask(!1);var e=this.PosArray=new h({members:[{name:\"a_pos\",type:\"Int16\",components:2}]}),r=new e;r.emplaceBack(0,0),r.emplaceBack(l,0),r.emplaceBack(0,l),r.emplaceBack(l,l),this.tileExtentBuffer=new f(r.serialize(),e.serialize(),f.BufferType.VERTEX),this.tileExtentVAO=new d,this.tileExtentPatternVAO=new d;var n=new e;n.emplaceBack(0,0),n.emplaceBack(l,0),n.emplaceBack(l,l),n.emplaceBack(0,l),n.emplaceBack(0,0),this.debugBuffer=new f(n.serialize(),e.serialize(),f.BufferType.VERTEX),this.debugVAO=new d;var i=new p;i.emplaceBack(0,0,0,0),i.emplaceBack(l,0,32767,0),i.emplaceBack(0,l,0,32767),i.emplaceBack(l,l,32767,32767),this.rasterBoundsBuffer=new f(i.serialize(),p.serialize(),f.BufferType.VERTEX),this.rasterBoundsVAO=new d},n.prototype.clearColor=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},n.prototype.clearStencil=function(){var t=this.gl;t.clearStencil(0),t.stencilMask(255),t.clear(t.STENCIL_BUFFER_BIT)},n.prototype.clearDepth=function(){var t=this.gl;t.clearDepth(1),this.depthMask(!0),t.clear(t.DEPTH_BUFFER_BIT)},n.prototype._renderTileClippingMasks=function(t){var e=this.gl;e.colorMask(!1,!1,!1,!1),this.depthMask(!1),e.disable(e.DEPTH_TEST),e.enable(e.STENCIL_TEST),e.stencilMask(248),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE);var r=1;this._tileClippingMaskIDs={};for(var n=0;n<t.length;n++){var i=t[n],a=this._tileClippingMaskIDs[i.id]=r++<<3;e.stencilFunc(e.ALWAYS,a,248);var o=m([{name:\"u_color\",components:4},{name:\"u_opacity\",components:1}]),s=this.useProgram(\"fill\",[],o,o);e.uniformMatrix4fv(s.u_matrix,!1,i.posMatrix),this.tileExtentVAO.bind(e,s,this.tileExtentBuffer),e.drawArrays(e.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}e.stencilMask(0),e.colorMask(!0,!0,!0,!0),this.depthMask(!0),e.enable(e.DEPTH_TEST)},n.prototype.enableTileClippingMask=function(t){var e=this.gl;e.stencilFunc(e.EQUAL,this._tileClippingMaskIDs[t.id],248)},n.prototype.prepareBuffers=function(){},n.prototype.bindDefaultFramebuffer=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)};var g={symbol:t(\"./draw_symbol\"),circle:t(\"./draw_circle\"),line:t(\"./draw_line\"),fill:t(\"./draw_fill\"),raster:t(\"./draw_raster\"),background:t(\"./draw_background\"),debug:t(\"./draw_debug\")};n.prototype.render=function(t,e){this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.spriteAtlas=t.spriteAtlas,this.spriteAtlas.setSprite(t.sprite),this.glyphSource=t.glyphSource,this.frameHistory.record(this.transform.zoom),this.prepareBuffers(),this.clearColor(),this.clearDepth(),this.showOverdrawInspector(e.showOverdrawInspector),this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass({isOpaquePass:!0}),this.renderPass({isOpaquePass:!1})},n.prototype.renderPass=function(t){var e=this.style._groups,r=t.isOpaquePass;this.currentLayer=r?this.style._order.length:-1;for(var n=0;n<e.length;n++){var i,a=e[r?e.length-1-n:n],o=this.style.sources[a.source],s=[];if(o){for(s=o.getVisibleCoordinates(),i=0;i<s.length;i++)s[i].posMatrix=this.transform.calculatePosMatrix(s[i],o.maxzoom);this.clearStencil(),o.prepare&&o.prepare(),o.isTileClipped&&this._renderTileClippingMasks(s)}for(r?(this._showOverdrawInspector||this.gl.disable(this.gl.BLEND),this.isOpaquePass=!0):(this.gl.enable(this.gl.BLEND),this.isOpaquePass=!1,s.reverse()),i=0;i<a.length;i++){var l=a[r?a.length-1-i:i];this.currentLayer+=r?-1:1,this.renderLayer(this,o,l,s)}o&&g.debug(this,o,s)}},n.prototype.depthMask=function(t){t!==this._depthMask&&(this._depthMask=t,this.gl.depthMask(t))},n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||n.length)&&(this.id=r.id,g[r.type](t,e,r,n))},n.prototype.setDepthSublayer=function(t){var e=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,r=e-1+this.depthRange;this.gl.depthRange(r,e)},n.prototype.translatePosMatrix=function(t,e,r,n){if(!r[0]&&!r[1])return t;if(\"viewport\"===n){var i=Math.sin(-this.transform.angle),o=Math.cos(-this.transform.angle);r=[r[0]*o-r[1]*i,r[0]*i+r[1]*o]}var s=[u(e,r[0],this.transform.zoom),u(e,r[1],this.transform.zoom),0],l=new Float32Array(16);return a.translate(l,t,s),l},n.prototype.saveTexture=function(t){var e=this.reusableTextures[t.size];e?e.push(t):this.reusableTextures[t.size]=[t]},n.prototype.getTexture=function(t){var e=this.reusableTextures[t];return e&&e.length>0?e.pop():null},n.prototype.lineWidth=function(t){this.gl.lineWidth(c.clamp(t,this.lineWidthRange[0],this.lineWidthRange[1]))},n.prototype.showOverdrawInspector=function(t){if(t||this._showOverdrawInspector){this._showOverdrawInspector=t;var e=this.gl;if(t){e.blendFunc(e.CONSTANT_COLOR,e.ONE);e.blendColor(1/8,1/8,1/8,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)}else e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}}},{\"../data/bucket\":309,\"../data/buffer\":314,\"../source/pixels_to_tile_units\":343,\"../source/source_cache\":347,\"../util/browser\":406,\"../util/struct_array\":420,\"../util/util\":422,\"./create_uniform_pragmas\":324,\"./draw_background\":325,\"./draw_circle\":326,\"./draw_debug\":328,\"./draw_fill\":329,\"./draw_line\":330,\"./draw_raster\":331,\"./draw_symbol\":332,\"./frame_history\":333,\"./painter/use_program\":336,\"./vertex_array_object\":337,\"gl-matrix\":174}],336:[function(t,e,r){\"use strict\";function n(t,e){return t.replace(/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,function(t,r,n,i,a){return e[r][a].replace(/{type}/g,i).replace(/{precision}/g,n)})}var i=t(\"assert\"),a=t(\"../../util/util\"),o=t(\"mapbox-gl-shaders\"),s=o.util;e.exports._createProgram=function(t,e,r,l){for(var u=this.gl,c=u.createProgram(),h=o[t],f=\"#define MAPBOX_GL_JS;\\n\",d=0;d<e.length;d++)f+=\"#define \"+e[d]+\";\\n\";var p=u.createShader(u.FRAGMENT_SHADER);u.shaderSource(p,n(f+h.fragmentSource,l)),u.compileShader(p),i(u.getShaderParameter(p,u.COMPILE_STATUS),u.getShaderInfoLog(p)),u.attachShader(c,p);var m=u.createShader(u.VERTEX_SHADER);u.shaderSource(m,n(f+s+h.vertexSource,r)),u.compileShader(m),i(u.getShaderParameter(m,u.COMPILE_STATUS),u.getShaderInfoLog(m)),u.attachShader(c,m),u.linkProgram(c),i(u.getProgramParameter(c,u.LINK_STATUS),u.getProgramInfoLog(c));for(var g={},v=u.getProgramParameter(c,u.ACTIVE_ATTRIBUTES),y=0;y<v;y++){var b=u.getActiveAttrib(c,y);g[b.name]=u.getAttribLocation(c,b.name)}for(var x={},_=u.getProgramParameter(c,u.ACTIVE_UNIFORMS),w=0;w<_;w++){var M=u.getActiveUniform(c,w);x[M.name]=u.getUniformLocation(c,M.name)}return a.extend({program:c,definition:h,attributes:g,numAttributes:v},g,x)},e.exports._createProgramCached=function(t,e,r,n){this.cache=this.cache||{};var i=JSON.stringify({name:t,defines:e,vertexPragmas:r,fragmentPragmas:n});return this.cache[i]||(this.cache[i]=this._createProgram(t,e,r,n)),this.cache[i]},e.exports.useProgram=function(t,e,r,n){var i=this.gl;e=e||[],this._showOverdrawInspector&&(e=e.concat(\"OVERDRAW_INSPECTOR\"));var a=this._createProgramCached(t,e,r,n);return this.currentProgram!==a&&(i.useProgram(a.program),this.currentProgram=a),a}},{\"../../util/util\":422,assert:37,\"mapbox-gl-shaders\":283}],337:[function(t,e,r){\"use strict\";function n(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.vao=null}var i=t(\"assert\");e.exports=n,n.prototype.bind=function(t,e,r,n,i){void 0===t.extVertexArrayObject&&(t.extVertexArrayObject=t.getExtension(\"OES_vertex_array_object\"));var a=!this.vao||this.boundProgram!==e||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==i||this.boundElementBuffer!==n;!t.extVertexArrayObject||a?this.freshBind(t,e,r,n,i):t.extVertexArrayObject.bindVertexArrayOES(this.vao)},n.prototype.freshBind=function(t,e,r,n,a){var o,s=e.numAttributes;if(t.extVertexArrayObject)this.vao&&this.destroy(t),this.vao=t.extVertexArrayObject.createVertexArrayOES(),t.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=e,this.boundVertexBuffer=r,this.boundVertexBuffer2=a,this.boundElementBuffer=n;else{o=t.currentNumAttributes||0;for(var l=s;l<o;l++)i(0!==l),t.disableVertexAttribArray(l)}for(var u=o;u<s;u++)t.enableVertexAttribArray(u);r.bind(t),r.setVertexAttribPointers(t,e),a&&(a.bind(t),a.setVertexAttribPointers(t,e)),n&&n.bind(t),t.currentNumAttributes=s},n.prototype.unbind=function(t){var e=t.extVertexArrayObject;e&&e.bindVertexArrayOES(null)},n.prototype.destroy=function(t){var e=t.extVertexArrayObject;e&&this.vao&&(e.deleteVertexArrayOES(this.vao),this.vao=null)}},{assert:37}],338:[function(t,e,r){\"use strict\";function n(t,e,r){e=e||{},this.id=t,this.dispatcher=r,this._data=e.data,void 0!==e.maxzoom&&(this.maxzoom=e.maxzoom),e.type&&(this.type=e.type);var n=s/this.tileSize;this.workerOptions=a.extend({source:this.id,cluster:e.cluster||!1,geojsonVtOptions:{buffer:(void 0!==e.buffer?e.buffer:128)*n,tolerance:(void 0!==e.tolerance?e.tolerance:.375)*n,extent:s,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:Math.min(e.clusterMaxZoom,this.maxzoom-1)||this.maxzoom-1,extent:s,radius:(e.clusterRadius||50)*n,log:!1}},e.workerOptions),this._updateWorkerData(function(t){if(t)return void this.fire(\"error\",{error:t});this.fire(\"load\")}.bind(this))}var i=t(\"../util/evented\"),a=t(\"../util/util\"),o=t(\"resolve-url\"),s=t(\"../data/bucket\").EXTENT;e.exports=n,n.prototype=a.inherit(i,{type:\"geojson\",minzoom:0,maxzoom:18,tileSize:512,isTileClipped:!0,reparseOverscaled:!0,onAdd:function(t){this.map=t},setData:function(t){return this._data=t,this._updateWorkerData(function(t){if(t)return this.fire(\"error\",{error:t});this.fire(\"change\")}.bind(this)),this},_updateWorkerData:function(t){var e=a.extend({},this.workerOptions),r=this._data;\"string\"==typeof r?e.url=\"undefined\"!=typeof window?o(window.location.href,r):r:e.data=JSON.stringify(r),this.workerID=this.dispatcher.send(this.type+\".loadData\",e,function(e){this._loaded=!0,t(e)}.bind(this))},loadTile:function(t,e){var r=t.coord.z>this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,n={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:r,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"load tile\",n,function(r,n){if(t.unloadVectorData(this.map.painter),!t.aborted)return r?e(r):(t.loadVectorData(n,this.map.style),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(this)),e(null))}.bind(this),this.workerID)},abortTile:function(t){t.aborted=!0},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(\"remove tile\",{uid:t.uid,source:this.id},function(){},t.workerID)},serialize:function(){return{type:this.type,data:this._data}}})},{\"../data/bucket\":309,\"../util/evented\":414,\"../util/util\":422,\"resolve-url\":480}],339:[function(t,e,r){\"use strict\";function n(t,e,r){r&&(this.loadGeoJSON=r),h.call(this,t,e)}var i=t(\"../util/util\"),a=t(\"../util/ajax\"),o=t(\"geojson-rewind\"),s=t(\"./geojson_wrapper\"),l=t(\"vt-pbf\"),u=t(\"supercluster\"),c=t(\"geojson-vt\"),h=t(\"./vector_tile_worker_source\");e.exports=n,n.prototype=i.inherit(h,{_geoJSONIndexes:{},loadVectorData:function(t,e){var r=t.source,n=t.coord;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(Math.min(n.z,t.maxZoom),n.x,n.y);if(!i)return e(null,null);var a=new s(i.features);a.name=\"_geojsonTileLayer\";var o=l({layers:{_geojsonTileLayer:a}});0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{tile:a,rawTileData:o.buffer})},loadData:function(t,e){var r=function(r,n){return r?e(r):\"object\"!=typeof n?e(new Error(\"Input data is not a valid GeoJSON object.\")):(o(n,!0),void this._indexData(n,t,function(r,n){if(r)return e(r);this._geoJSONIndexes[t.source]=n,e(null)}.bind(this)))}.bind(this);this.loadGeoJSON(t,r)},loadGeoJSON:function(t,e){if(t.url)a.getJSON(t.url,e);else{if(\"string\"!=typeof t.data)return e(new Error(\"Input data is not a valid GeoJSON object.\"));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(\"Input data is not a valid GeoJSON object.\"))}}},_indexData:function(t,e,r){try{e.cluster?r(null,u(e.superclusterOptions).load(t.features)):r(null,c(t,e.geojsonVtOptions))}catch(t){return r(t)}}})},{\"../util/ajax\":405,\"../util/util\":422,\"./geojson_wrapper\":340,\"./vector_tile_worker_source\":351,\"geojson-rewind\":120,\"geojson-vt\":124,supercluster:507,\"vt-pbf\":534}],340:[function(t,e,r){\"use strict\";function n(t){this.features=t,this.length=t.length,this.extent=s}function i(t){if(this.type=t.type,1===t.type){this.rawGeometry=[];for(var e=0;e<t.geometry.length;e++)this.rawGeometry.push([t.geometry[e]])}else this.rawGeometry=t.geometry;this.properties=t.tags,this.extent=s}var a=t(\"point-geometry\"),o=t(\"vector-tile\").VectorTileFeature,s=t(\"../data/bucket\").EXTENT;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-(1/0),n=1/0,i=-(1/0),a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\"../data/bucket\":309,\"point-geometry\":463,\"vector-tile\":528}],341:[function(t,e,r){\"use strict\";function n(t,e,r){this.id=t,this.dispatcher=r,this.url=e.url,this.coordinates=e.coordinates,u.getImage(e.url,function(t,r){if(t)return this.fire(\"error\",{error:t});this.image=r,this.image.addEventListener(\"load\",function(){this.map._rerender()}.bind(this)),this._loaded=!0,this.fire(\"load\"),\nthis.map&&this.setCoordinates(e.coordinates)}.bind(this))}var i=t(\"../util/util\"),a=t(\"./tile_coord\"),o=t(\"../geo/lng_lat\"),s=t(\"point-geometry\"),l=t(\"../util/evented\"),u=t(\"../util/ajax\"),c=t(\"../data/bucket\").EXTENT,h=t(\"../render/draw_raster\").RasterBoundsArray,f=t(\"../data/buffer\"),d=t(\"../render/vertex_array_object\");e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,onAdd:function(t){this.map=t,this.image&&this.setCoordinates(this.coordinates)},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*c),Math.round((e.row-n.row)*c))}),this.fire(\"change\"),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new h;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new f(e.serialize(),h.serialize(),f.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=\"loaded\"},prepare:function(){if(this._loaded&&this.image&&this.image.complete&&this.tile){var t=this.map.painter,e=t.gl;this._prepared?(e.bindTexture(e.TEXTURE_2D,this.tile.texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.image)):(this.tile.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.tile.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image))}},loadTile:function(t,e){this._coord&&this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=\"errored\",e(null))},serialize:function(){return{type:\"image\",urls:this.url,coordinates:this.coordinates}}})},{\"../data/bucket\":309,\"../data/buffer\":314,\"../geo/lng_lat\":319,\"../render/draw_raster\":331,\"../render/vertex_array_object\":337,\"../util/ajax\":405,\"../util/evented\":414,\"../util/util\":422,\"./tile_coord\":349,\"point-geometry\":463}],342:[function(t,e,r){\"use strict\";var n=t(\"../util/util\"),i=t(\"../util/ajax\"),a=t(\"../util/browser\"),o=t(\"../util/mapbox\").normalizeSourceURL;e.exports=function(t,e){var r=function(t,r){if(t)return e(t);var i=n.pick(r,[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\"]);r.vector_layers&&(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),e(null,i)};t.url?i.getJSON(o(t.url),r):a.frame(r.bind(null,null,t))}},{\"../util/ajax\":405,\"../util/browser\":406,\"../util/mapbox\":419,\"../util/util\":422}],343:[function(t,e,r){\"use strict\";var n=t(\"../data/bucket\");e.exports=function(t,e,r){return e*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.coord.z)))}},{\"../data/bucket\":309}],344:[function(t,e,r){\"use strict\";function n(t,e){var r=t.coord,n=e.coord;return r.z-n.z||r.y-n.y||r.w-n.w||r.x-n.x}function i(t){for(var e=t[0]||{},r=1;r<t.length;r++){var n=t[r];for(var i in n){var a=n[i],o=e[i];if(void 0===o)o=e[i]=a;else for(var s=0;s<a.length;s++)o.push(a[s])}}return e}var a=t(\"./tile_coord\");r.rendered=function(t,e,r,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var u=[],c=0;c<l.length;c++){var h=l[c];h.tile.featureIndex&&u.push(h.tile.featureIndex.query({queryGeometry:h.queryGeometry,scale:h.scale,tileSize:h.tile.tileSize,bearing:s,params:a},e))}return i(u)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},o=0;o<r.length;o++){var s=r[o],l=new a(Math.min(s.sourceMaxZoom,s.coord.z),s.coord.x,s.coord.y,0).id;i[l]||(i[l]=!0,s.querySourceFeatures(n,e))}return n}},{\"./tile_coord\":349}],345:[function(t,e,r){\"use strict\";function n(t,e,r){this.id=t,this.dispatcher=r,i.extend(this,i.pick(e,[\"url\",\"scheme\",\"tileSize\"])),s(e,function(t,e){if(t)return this.fire(\"error\",t);i.extend(this,e),this.fire(\"load\")}.bind(this))}var i=t(\"../util/util\"),a=t(\"../util/ajax\"),o=t(\"../util/evented\"),s=t(\"./load_tilejson\"),l=t(\"../util/mapbox\").normalizeTileURL;e.exports=n,n.prototype=i.inherit(o,{minzoom:0,maxzoom:22,roundZoom:!0,scheme:\"xyz\",tileSize:512,_loaded:!1,onAdd:function(t){this.map=t},serialize:function(){return{type:\"raster\",url:this.url,tileSize:this.tileSize}},loadTile:function(t,e){function r(r,n){if(delete t.request,!t.aborted){if(r)return e(r);var i=this.map.painter.gl;t.texture=this.map.painter.getTexture(n.width),t.texture?(i.bindTexture(i.TEXTURE_2D,t.texture),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n)):(t.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),t.texture.size=n.width),i.generateMipmap(i.TEXTURE_2D),this.map.animationLoop.set(this.map.style.rasterFadeDuration),t.state=\"loaded\",e(null)}}var n=l(t.coord.url(this.tiles,null,this.scheme),this.url,this.tileSize);t.request=a.getImage(n,r.bind(this))},abortTile:function(t){t.request&&(t.request.abort(),delete t.request)},unloadTile:function(t){t.texture&&this.map.painter.saveTexture(t.texture)}})},{\"../util/ajax\":405,\"../util/evented\":414,\"../util/mapbox\":419,\"../util/util\":422,\"./load_tilejson\":342}],346:[function(t,e,r){\"use strict\";var n=t(\"../util/util\"),i={vector:t(\"../source/vector_tile_source\"),raster:t(\"../source/raster_tile_source\"),geojson:t(\"../source/geojson_source\"),video:t(\"../source/video_source\"),image:t(\"../source/image_source\")};r.create=function(t,e,r){if(e=new i[e.type](t,e,r),e.id!==t)throw new Error(\"Expected Source id to be \"+t+\" instead of \"+e.id);return n.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],e),e},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\"../source/geojson_source\":338,\"../source/image_source\":341,\"../source/raster_tile_source\":345,\"../source/vector_tile_source\":350,\"../source/video_source\":352,\"../util/util\":422}],347:[function(t,e,r){\"use strict\";function n(t,e,r){this.id=t,this.dispatcher=r;var n=this._source=o.create(t,e,r).on(\"load\",function(){this.map&&this._source.onAdd&&this._source.onAdd(this.map),this._sourceLoaded=!0,this.tileSize=n.tileSize,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,this.roundZoom=n.roundZoom,this.reparseOverscaled=n.reparseOverscaled,this.isTileClipped=n.isTileClipped,this.attribution=n.attribution,this.vectorLayerIds=n.vectorLayerIds,this.fire(\"load\")}.bind(this)).on(\"error\",function(t){this._sourceErrored=!0,this.fire(\"error\",t)}.bind(this)).on(\"change\",function(){this.reload(),this.transform&&this.update(this.transform,this.map&&this.map.style.rasterFadeDuration),this.fire(\"change\")}.bind(this));this._tiles={},this._cache=new c(0,this.unloadTile.bind(this)),this._isIdRenderable=this._isIdRenderable.bind(this)}function i(t,e,r){var n=r.zoomTo(Math.min(t.z,e));return{x:(n.column-(t.x+t.w*Math.pow(2,t.z)))*d,y:(n.row-t.y)*d}}function a(t,e){return t%32-e%32}var o=t(\"./source\"),s=t(\"./tile\"),l=t(\"../util/evented\"),u=t(\"./tile_coord\"),c=t(\"../util/lru_cache\"),h=t(\"../geo/coordinate\"),f=t(\"../util/util\"),d=t(\"../data/bucket\").EXTENT;e.exports=n,n.maxOverzooming=10,n.maxUnderzooming=3,n.prototype=f.inherit(l,{onAdd:function(t){this.map=t,this._source&&this._source.onAdd&&this._source.onAdd(t)},loaded:function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return!1}return!0},getSource:function(){return this._source},loadTile:function(t,e){return this._source.loadTile(t,e)},unloadTile:function(t){if(this._source.unloadTile)return this._source.unloadTile(t)},abortTile:function(t){if(this._source.abortTile)return this._source.abortTile(t)},serialize:function(){return this._source.serialize()},prepare:function(){if(this._sourceLoaded&&this._source.prepare)return this._source.prepare()},getIds:function(){return Object.keys(this._tiles).map(Number).sort(a)},getRenderableIds:function(){return this.getIds().filter(this._isIdRenderable)},_isIdRenderable:function(t){return this._tiles[t].isRenderable()&&!this._coveredTiles[t]},reload:function(){this._cache.reset();for(var t in this._tiles){var e=this._tiles[t];\"loading\"!==e.state&&(e.state=\"reloading\"),this.loadTile(this._tiles[t],this._tileLoaded.bind(this,this._tiles[t]))}},_tileLoaded:function(t,e){if(e)return t.state=\"errored\",this.fire(\"tile.error\",{tile:t,error:e}),void this._source.fire(\"tile.error\",{tile:t,error:e});t.source=this,t.timeAdded=(new Date).getTime(),this.fire(\"tile.load\",{tile:t}),this._source.fire(\"tile.load\",{tile:t})},getTile:function(t){return this.getTileByID(t.id)},getTileByID:function(t){return this._tiles[t]},getZoom:function(t){return t.zoom+t.scaleZoom(t.tileSize/this.tileSize)},findLoadedChildren:function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.isRenderable()||a.coord.z<=t.z||a.coord.z>e)){var o=Math.pow(2,Math.min(a.coord.z,this.maxzoom)-Math.min(t.z,this.maxzoom));if(Math.floor(a.coord.x/o)===t.x&&Math.floor(a.coord.y/o)===t.y)for(r[i]=!0,n=!0;a&&a.coord.z-1>t.z;){var s=a.coord.parent(this.maxzoom).id;a=this._tiles[s],a&&a.isRenderable()&&(delete r[i],r[s]=!0)}}}return n},findLoadedParent:function(t,e,r){for(var n=t.z-1;n>=e;n--){t=t.parent(this.maxzoom);var i=this._tiles[t.id];if(i&&i.isRenderable())return r[t.id]=!0,i;if(this._cache.has(t.id))return this.addTile(t),r[t.id]=!0,this._tiles[t.id]}},updateCacheSize:function(t){var e=Math.ceil(t.width/t.tileSize)+1,r=Math.ceil(t.height/t.tileSize)+1,n=e*r;this._cache.setMaxSize(Math.floor(5*n))},update:function(t,e){if(this._sourceLoaded){var r,i,a;this.updateCacheSize(t);var o=(this.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-n.maxOverzooming,this.minzoom),l=Math.max(o+n.maxUnderzooming,this.minzoom),c={},h=(new Date).getTime();this._coveredTiles={};var d=this.used?t.coveringTiles(this._source):[];for(r=0;r<d.length;r++)i=d[r],a=this.addTile(i),c[i.id]=!0,a.isRenderable()||this.findLoadedChildren(i,l,c)||this.findLoadedParent(i,s,c);for(var p={},m=Object.keys(c),g=0;g<m.length;g++){var v=m[g];i=u.fromID(v),a=this._tiles[v],a&&a.timeAdded>h-(e||0)&&(this.findLoadedChildren(i,l,c)&&(c[v]=!0),this.findLoadedParent(i,s,p))}var y;for(y in p)c[y]||(this._coveredTiles[y]=!0);for(y in p)c[y]=!0;var b=f.keysDifference(this._tiles,c);for(r=0;r<b.length;r++)this.removeTile(+b[r]);this.transform=t}},addTile:function(t){var e=this._tiles[t.id];if(e)return e;var r=t.wrapped();if(e=this._tiles[r.id],e||(e=this._cache.get(r.id))&&this._redoPlacement&&this._redoPlacement(e),!e){var n=t.z,i=n>this.maxzoom?Math.pow(2,n-this.maxzoom):1;e=new s(r,this.tileSize*i,this.maxzoom),this.loadTile(e,this._tileLoaded.bind(this,e))}return e.uses++,this._tiles[t.id]=e,this.fire(\"tile.add\",{tile:e}),this._source.fire(\"tile.add\",{tile:e}),e},removeTile:function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this.fire(\"tile.remove\",{tile:e}),this._source.fire(\"tile.remove\",{tile:e}),e.uses>0||(e.isRenderable()?this._cache.add(e.coord.wrapped().id,e):(e.aborted=!0,this.abortTile(e),this.unloadTile(e))))},clearTiles:function(){for(var t in this._tiles)this.removeTile(t);this._cache.reset()},tilesIn:function(t){for(var e={},r=this.getIds(),n=1/0,a=1/0,o=-(1/0),s=-(1/0),l=t[0].zoom,c=0;c<t.length;c++){var f=t[c];n=Math.min(n,f.column),a=Math.min(a,f.row),o=Math.max(o,f.column),s=Math.max(s,f.row)}for(var p=0;p<r.length;p++){var m=this._tiles[r[p]],g=u.fromID(r[p]),v=[i(g,m.sourceMaxZoom,new h(n,a,l)),i(g,m.sourceMaxZoom,new h(o,s,l))];if(v[0].x<d&&v[0].y<d&&v[1].x>=0&&v[1].y>=0){for(var y=[],b=0;b<t.length;b++)y.push(i(g,m.sourceMaxZoom,t[b]));var x=e[m.coord.id];void 0===x&&(x=e[m.coord.id]={tile:m,coord:g,queryGeometry:[],scale:Math.pow(2,this.transform.zoom-m.coord.z)}),x.queryGeometry.push(y)}}var _=[];for(var w in e)_.push(e[w]);return _},redoPlacement:function(){for(var t=this.getIds(),e=0;e<t.length;e++){this.getTileByID(t[e]).redoPlacement(this)}},getVisibleCoordinates:function(){return this.getRenderableIds().map(u.fromID)}})},{\"../data/bucket\":309,\"../geo/coordinate\":318,\"../util/evented\":414,\"../util/lru_cache\":418,\"../util/util\":422,\"./source\":346,\"./tile\":348,\"./tile_coord\":349}],348:[function(t,e,r){\"use strict\";function n(t,e,r){this.coord=t,this.uid=a.uniqueId(),this.uses=0,this.tileSize=e,this.sourceMaxZoom=r,this.buckets={},this.state=\"loading\"}function i(t,e){if(e){for(var r={},n=0;n<t.length;n++){var i=e.getLayer(t[n].layerId);if(i){var s=o.create(a.extend({layer:i,childLayers:t[n].childLayerIds.map(e.getLayer.bind(e)).filter(function(t){return t})},t[n]));r[s.id]=s}}return r}}var a=t(\"../util/util\"),o=t(\"../data/bucket\"),s=t(\"../data/feature_index\"),l=t(\"vector-tile\"),u=t(\"pbf\"),c=t(\"../util/vectortile_to_geojson\"),h=t(\"feature-filter\"),f=t(\"../symbol/collision_tile\"),d=t(\"../symbol/collision_box\"),p=t(\"../symbol/symbol_instances\"),m=t(\"../symbol/symbol_quads\");e.exports=n,n.prototype={loadVectorData:function(t,e){this.state=\"loaded\",t&&(this.collisionBoxArray=new d(t.collisionBoxArray),this.collisionTile=new f(t.collisionTile,this.collisionBoxArray),this.symbolInstancesArray=new p(t.symbolInstancesArray),this.symbolQuadsArray=new m(t.symbolQuadsArray),this.featureIndex=new s(t.featureIndex,t.rawTileData,this.collisionTile),this.rawTileData=t.rawTileData,this.buckets=i(t.buckets,e))},reloadSymbolData:function(t,e,r){if(\"unloaded\"!==this.state){this.collisionTile=new f(t.collisionTile,this.collisionBoxArray),this.featureIndex.setCollisionTile(this.collisionTile);for(var n in this.buckets){var o=this.buckets[n];\"symbol\"===o.type&&(o.destroy(e.gl),delete this.buckets[n])}a.extend(this.buckets,i(t.buckets,r))}},unloadVectorData:function(t){for(var e in this.buckets){this.buckets[e].destroy(t.gl)}this.collisionBoxArray=null,this.symbolQuadsArray=null,this.symbolInstancesArray=null,this.collisionTile=null,this.featureIndex=null,this.rawTileData=null,this.buckets=null,this.state=\"unloaded\"},redoPlacement:function(t){function e(e,r){this.reloadSymbolData(r,t.map.painter,t.map.style),t.fire(\"tile.load\",{tile:this}),this.state=\"loaded\",this.redoWhenDone&&(this.redoPlacement(t),this.redoWhenDone=!1)}if(\"loaded\"!==this.state||\"reloading\"===this.state)return void(this.redoWhenDone=!0);this.state=\"reloading\",t.dispatcher.send(\"redo placement\",{uid:this.uid,source:t.id,angle:t.map.transform.angle,pitch:t.map.transform.pitch,showCollisionBoxes:t.map.showCollisionBoxes},e.bind(this),this.workerID)},getBucket:function(t){return this.buckets&&this.buckets[t.ref||t.id]},querySourceFeatures:function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new l.VectorTile(new u(new Uint8Array(this.rawTileData))).layers);var r=this.vtLayers._geojsonTileLayer||this.vtLayers[e.sourceLayer];if(r)for(var n=h(e.filter),i={z:this.coord.z,x:this.coord.x,y:this.coord.y},a=0;a<r.length;a++){var o=r.feature(a);if(n(o)){var s=new c(o,this.coord.z,this.coord.x,this.coord.y);s.tile=i,t.push(s)}}}},isRenderable:function(){return\"loaded\"===this.state||\"reloading\"===this.state}}},{\"../data/bucket\":309,\"../data/feature_index\":316,\"../symbol/collision_box\":374,\"../symbol/collision_tile\":376,\"../symbol/symbol_instances\":385,\"../symbol/symbol_quads\":386,\"../util/util\":422,\"../util/vectortile_to_geojson\":423,\"feature-filter\":114,pbf:457,\"vector-tile\":528}],349:[function(t,e,r){\"use strict\";function n(t,e,r,n){l(!isNaN(t)&&t>=0&&t%1==0),l(!isNaN(e)&&e>=0&&e%1==0),l(!isNaN(r)&&r>=0&&r%1==0),isNaN(n)&&(n=0),this.z=+t,this.x=+e,this.y=+r,this.w=+n,(n*=2)<0&&(n=n*-1-1);var i=1<<this.z;this.id=32*(i*i*n+i*this.y+this.x)+this.z,this.posMatrix=null}function i(t,e,r){for(var n,i=\"\",a=t;a>0;a--)n=1<<a-1,i+=(e&n?1:0)+(r&n?2:0);return i}function a(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function o(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,u=e.dx/e.dy,c=t.dx>0,h=e.dx<0,f=a;f<o;f++){var d=l*Math.max(0,Math.min(t.dy,f+c-t.y0))+t.x0,p=u*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;i(Math.floor(p),Math.ceil(d),f)}}function s(t,e,r,n,i,s){var l,u=a(t,e),c=a(e,r),h=a(r,t);u.dy>c.dy&&(l=u,u=c,c=l),u.dy>h.dy&&(l=u,u=h,h=l),c.dy>h.dy&&(l=c,c=h,h=l),u.dy&&o(h,u,n,i,s),c.dy&&o(h,c,n,i,s)}var l=t(\"assert\"),u=t(\"whoots-js\"),c=t(\"../geo/coordinate\");e.exports=n,n.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y},n.prototype.toCoordinate=function(t){var e=Math.min(this.z,t),r=Math.pow(2,e),n=this.y;return new c(this.x+r*this.w,n,e)},n.fromID=function(t){var e=t%32,r=1<<e,i=(t-e)/32,a=i%r,o=(i-a)/r%r,s=Math.floor(i/(r*r));return s%2!=0&&(s=s*-1-1),s/=2,new n(e,a,o,s)},n.prototype.url=function(t,e,r){var n=u.getTileBBox(this.x,this.y,this.z),a=i(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",Math.min(this.z,e||this.z)).replace(\"{x}\",this.x).replace(\"{y}\",\"tms\"===r?Math.pow(2,this.z)-this.y-1:this.y).replace(\"{quadkey}\",a).replace(\"{bbox-epsg-3857}\",n)},n.prototype.parent=function(t){return 0===this.z?null:this.z>t?new n(this.z-1,this.x,this.y,this.w):new n(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},n.prototype.wrapped=function(){return new n(this.z,this.x,this.y,0)},n.prototype.children=function(t){if(this.z>=t)return[new n(this.z+1,this.x,this.y,this.w)];var e=this.z+1,r=2*this.x,i=2*this.y;return[new n(e,r,i,this.w),new n(e,r+1,i,this.w),new n(e,r,i+1,this.w),new n(e,r+1,i+1,this.w)]},n.cover=function(t,e,r){function i(t,e,i){var s,l,u;if(i>=0&&i<=a)for(s=t;s<e;s++)l=(s%a+a)%a,u=new n(r,l,i,Math.floor(s/a)),o[u.id]=u}var a=1<<t,o={};return s(e[0],e[1],e[2],0,a,i),s(e[2],e[3],e[0],0,a,i),Object.keys(o).map(function(t){return o[t]})}},{\"../geo/coordinate\":318,assert:37,\"whoots-js\":544}],350:[function(t,e,r){\"use strict\";function n(t,e,r){if(this.id=t,this.dispatcher=r,a.extend(this,a.pick(e,[\"url\",\"scheme\",\"tileSize\"])),this._options=a.extend({type:\"vector\"},e),512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");o(e,function(t,e){if(t)return void this.fire(\"error\",t);a.extend(this,e),this.fire(\"load\")}.bind(this))}var i=t(\"../util/evented\"),a=t(\"../util/util\"),o=t(\"./load_tilejson\"),s=t(\"../util/mapbox\").normalizeTileURL;e.exports=n,n.prototype=a.inherit(i,{minzoom:0,maxzoom:22,scheme:\"xyz\",tileSize:512,reparseOverscaled:!0,isTileClipped:!0,onAdd:function(t){this.map=t},serialize:function(){return a.extend({},this._options)},loadTile:function(t,e){function r(r,n){if(!t.aborted){if(r)return e(r);t.loadVectorData(n,this.map.style),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(this)),e(null),t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)}}var n=t.coord.z>this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,i={url:s(t.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:t.uid,coord:t.coord,zoom:t.coord.z,tileSize:this.tileSize*n,source:this.id,overscaling:n,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID?\"loading\"===t.state?t.reloadCallback=e:(i.rawTileData=t.rawTileData,this.dispatcher.send(\"reload tile\",i,r.bind(this),t.workerID)):t.workerID=this.dispatcher.send(\"load tile\",i,r.bind(this))},abortTile:function(t){this.dispatcher.send(\"abort tile\",{uid:t.uid,source:this.id},null,t.workerID)},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(\"remove tile\",{uid:t.uid,source:this.id},null,t.workerID)}})},{\"../util/evented\":414,\"../util/mapbox\":419,\"../util/util\":422,\"./load_tilejson\":342}],351:[function(t,e,r){\"use strict\";function n(t,e,r){this.actor=t,this.styleLayers=e,r&&(this.loadVectorData=r),this.loading={},this.loaded={}}var i=t(\"../util/ajax\"),a=t(\"vector-tile\"),o=t(\"pbf\"),s=t(\"./worker_tile\");e.exports=n,n.prototype={loadTile:function(t,e){function r(t,r){return delete this.loading[n][i],t?e(t):r?(a.data=r.tile,a.parse(a.data,this.styleLayers.getLayerFamilies(),this.actor,r.rawTileData,e),this.loaded[n]=this.loaded[n]||{},void(this.loaded[n][i]=a)):e(null,null)}var n=t.source,i=t.uid;this.loading[n]||(this.loading[n]={});var a=this.loading[n][i]=new s(t);a.abort=this.loadVectorData(t,r.bind(this))},reloadTile:function(t,e){var r=this.loaded[t.source],n=t.uid;if(r&&r[n]){var i=r[n];i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,t.rawTileData,e)}},abortTile:function(t){var e=this.loading[t.source],r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort(),delete e[r])},removeTile:function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},loadVectorData:function(t,e){function r(t,r){if(t)return e(t);e(t,{tile:new a.VectorTile(new o(new Uint8Array(r))),rawTileData:r})}var n=i.getArrayBuffer(t.url,r.bind(this));return function(){n.abort()}},redoPlacement:function(t,e){var r=this.loaded[t.source],n=this.loading[t.source],i=t.uid;if(r&&r[i]){var a=r[i],o=a.redoPlacement(t.angle,t.pitch,t.showCollisionBoxes);o.result&&e(null,o.result,o.transferables)}else n&&n[i]&&(n[i].angle=t.angle)}}},{\"../util/ajax\":405,\"./worker_tile\":354,pbf:457,\"vector-tile\":528}],352:[function(t,e,r){\"use strict\";function n(t,e){this.id=t,this.urls=e.urls,this.coordinates=e.coordinates,u.getVideo(e.urls,function(t,r){if(t)return this.fire(\"error\",{error:t});this.video=r,this.video.loop=!0;var n;this.video.addEventListener(\"playing\",function(){n=this.map.style.animationLoop.set(1/0),this.map._rerender()}.bind(this)),this.video.addEventListener(\"pause\",function(){this.map.style.animationLoop.cancel(n)}.bind(this)),this.map&&(this.video.play(),this.setCoordinates(e.coordinates)),this.fire(\"load\")}.bind(this))}var i=t(\"../util/util\"),a=t(\"./tile_coord\"),o=t(\"../geo/lng_lat\"),s=t(\"point-geometry\"),l=t(\"../util/evented\"),u=t(\"../util/ajax\"),c=t(\"../data/bucket\").EXTENT,h=t(\"../render/draw_raster\").RasterBoundsArray,f=t(\"../data/buffer\"),d=t(\"../render/vertex_array_object\");e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,roundZoom:!0,getVideo:function(){return this.video},onAdd:function(t){this.map||(this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*c),Math.round((e.row-n.row)*c))}),this.fire(\"change\"),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new h;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new f(e.serialize(),h.serialize(),f.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=\"loaded\"},prepare:function(){if(!(this.video.readyState<2)&&this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this._prepared=!0,this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.video)),this._currentTime=this.video.currentTime}},loadTile:function(t,e){this._coord&&this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=\"errored\",e(null))},serialize:function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}}})},{\"../data/bucket\":309,\"../data/buffer\":314,\"../geo/lng_lat\":319,\"../render/draw_raster\":331,\"../render/vertex_array_object\":337,\"../util/ajax\":405,\"../util/evented\":414,\"../util/util\":422,\"./tile_coord\":349,\"point-geometry\":463}],353:[function(t,e,r){\"use strict\";function n(t){this.self=t,this.actor=new a(t,this);var e={getLayers:function(){return this.layers}.bind(this),getLayerFamilies:function(){return this.layerFamilies}.bind(this)};this.workerSources={vector:new l(this.actor,e),geojson:new u(this.actor,e)},this.self.registerWorkerSource=function(t,r){if(this.workerSources[t])throw new Error('Worker source with name \"'+t+'\" already registered.');this.workerSources[t]=new r(this.actor,e)}.bind(this)}function i(t){var e={};for(var r in t){var n=t[r],i=n.ref||n.id,a=t[i];a.layout&&\"none\"===a.layout.visibility||(e[i]=e[i]||[],r===i?e[i].unshift(n):e[i].push(n))}return e}var a=t(\"../util/actor\"),o=t(\"../style/style_layer\"),s=t(\"../util/util\"),l=t(\"./vector_tile_worker_source\"),u=t(\"./geojson_worker_source\");e.exports=function(t){return new n(t)},s.extend(n.prototype,{\"set layers\":function(t){function e(t){var e=o.create(t,t.ref&&r.layers[t.ref]);e.updatePaintTransitions({},{transition:!1}),r.layers[e.id]=e}this.layers={};for(var r=this,n=[],a=0;a<t.length;a++){var s=t[a];\"fill\"!==s.type&&\"line\"!==s.type&&\"circle\"!==s.type&&\"symbol\"!==s.type||(s.ref?n.push(a):e(s))}for(var l=0;l<n.length;l++)e(t[n[l]]);this.layerFamilies=i(this.layers)},\"update layers\":function(t){function e(t){var e=a.layers[t.ref];a.layers[t.id]?a.layers[t.id].set(t,e):a.layers[t.id]=o.create(t,e),a.layers[t.id].updatePaintTransitions({},{transition:!1})}var r,n,a=this;for(r in t)n=t[r],n.ref&&e(n);for(r in t)n=t[r],n.ref||e(n);this.layerFamilies=i(this.layers)},\"load tile\":function(t,e){var r=t.type||\"vector\";this.workerSources[r].loadTile(t,e)},\"reload tile\":function(t,e){var r=t.type||\"vector\";this.workerSources[r].reloadTile(t,e)},\"abort tile\":function(t){var e=t.type||\"vector\";this.workerSources[e].abortTile(t)},\"remove tile\":function(t){var e=t.type||\"vector\";this.workerSources[e].removeTile(t)},\"redo placement\":function(t,e){var r=t.type||\"vector\";this.workerSources[r].redoPlacement(t,e)},\"load worker source\":function(t,e){try{this.self.importScripts(t.url),e()}catch(t){e(t)}}})},{\"../style/style_layer\":361,\"../util/actor\":404,\"../util/util\":422,\"./geojson_worker_source\":339,\"./vector_tile_worker_source\":351}],354:[function(t,e,r){\"use strict\";function n(t){this.coord=t.coord,this.uid=t.uid,this.zoom=t.zoom,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.angle=t.angle,this.pitch=t.pitch,this.showCollisionBoxes=t.showCollisionBoxes}function i(t){return!t.isEmpty()}function a(t){return t.serialize()}function o(t){var e=[];for(var r in t)t[r].getTransferables(e);return e}function s(t){return t.id}var l=t(\"../data/feature_index\"),u=t(\"../symbol/collision_tile\"),c=t(\"../data/bucket\"),h=t(\"../symbol/collision_box\"),f=t(\"../util/dictionary_coder\"),d=t(\"../util/util\"),p=t(\"../symbol/symbol_instances\"),m=t(\"../symbol/symbol_quads\");e.exports=n,n.prototype.parse=function(t,e,r,n,g){function v(t,e){for(var r=0;r<t.length;r++){var n=t.feature(r);n.index=r;for(var i in e)e[i].filter(n)&&e[i].features.push(n)}}function y(t){if(t)return g(t);if(2===++N){for(var e=P.length-1;e>=0;e--)b(S,P[e]);x()}}function b(t,e){if(e.populateArrays(k,j,F),\"symbol\"!==e.type)for(var r=0;r<e.features.length;r++){var n=e.features[r];T.insert(n,n.index,e.sourceLayerIndex,e.index)}e.features=null}function x(){S.status=\"done\",S.redoPlacementAfterDone&&(S.redoPlacement(S.angle,S.pitch,null),S.redoPlacementAfterDone=!1);var t=T.serialize(),e=k.serialize(),r=S.collisionBoxArray.serialize(),s=S.symbolInstancesArray.serialize(),l=S.symbolQuadsArray.serialize(),u=[n].concat(t.transferables).concat(e.transferables),c=z.filter(i);g(null,{buckets:c.map(a),featureIndex:t.data,collisionTile:e.data,collisionBoxArray:r,symbolInstancesArray:s,symbolQuadsArray:l,rawTileData:n},o(c).concat(u))}this.status=\"parsing\",this.data=t,this.collisionBoxArray=new h,this.symbolInstancesArray=new p,this.symbolQuadsArray=new m;var _,w,M,A,k=new u(this.angle,this.pitch,this.collisionBoxArray),T=new l(this.coord,this.overscaling,k,t.layers),E=new f(t.layers?Object.keys(t.layers).sort():[\"_geojsonTileLayer\"]),S=this,L={},C={},D=0;for(var I in e)w=e[I][0],w.source===this.source&&(w.ref||w.minzoom&&this.zoom<w.minzoom||w.maxzoom&&this.zoom>=w.maxzoom||w.layout&&\"none\"===w.layout.visibility||t.layers&&!t.layers[w.sourceLayer]||(A=c.create({layer:w,index:D++,childLayers:e[I],zoom:this.zoom,overscaling:this.overscaling,showCollisionBoxes:this.showCollisionBoxes,collisionBoxArray:this.collisionBoxArray,symbolQuadsArray:this.symbolQuadsArray,symbolInstancesArray:this.symbolInstancesArray,sourceLayerIndex:E.encode(w.sourceLayer||\"_geojsonTileLayer\")}),A.createFilter(),L[w.id]=A,t.layers&&(M=w.sourceLayer,C[M]=C[M]||{},C[M][w.id]=A)));if(t.layers)for(M in C)1===w.version&&d.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+M+'\" does not use vector tile spec v2 and therefore may have some rendering errors.'),(w=t.layers[M])&&v(w,C[M]);else v(t,L);var z=[],P=this.symbolBuckets=[],O=[];T.bucketLayerIDs={};for(var R in L)A=L[R],0!==A.features.length&&(T.bucketLayerIDs[A.index]=A.childLayers.map(s),z.push(A),\"symbol\"===A.type?P.push(A):O.push(A));var F={},j={},N=0;if(P.length>0){for(_=P.length-1;_>=0;_--)P[_].updateIcons(F),P[_].updateFont(j);for(var B in j)j[B]=Object.keys(j[B]).map(Number);F=Object.keys(F),r.send(\"get glyphs\",{uid:this.uid,stacks:j},function(t,e){j=e,y(t)}),F.length?r.send(\"get icons\",{icons:F},function(t,e){F=e,y(t)}):y()}for(_=O.length-1;_>=0;_--)b(this,O[_]);if(0===P.length)return x()},n.prototype.redoPlacement=function(t,e,r){if(\"done\"!==this.status)return this.redoPlacementAfterDone=!0,this.angle=t,{};for(var n=new u(t,e,this.collisionBoxArray),s=this.symbolBuckets,l=s.length-1;l>=0;l--)s[l].placeFeatures(n,r);var c=n.serialize(),h=s.filter(i);return{result:{buckets:h.map(a),collisionTile:c.data},transferables:o(h).concat(c.transferables)}}},{\"../data/bucket\":309,\"../data/feature_index\":316,\"../symbol/collision_box\":374,\"../symbol/collision_tile\":376,\"../symbol/symbol_instances\":385,\"../symbol/symbol_quads\":386,\"../util/dictionary_coder\":412,\"../util/util\":422}],355:[function(t,e,r){\"use strict\";function n(){this.n=0,this.times=[]}e.exports=n,n.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},n.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},n.prototype.cancel=function(t){this.times=this.times.filter(function(e){return e.id!==t})}},{}],356:[function(t,e,r){\"use strict\";function n(t){this.base=t,this.retina=s.devicePixelRatio>1;var e=this.retina?\"@2x\":\"\";o.getJSON(l(t,e,\".json\"),function(t,e){if(t)return void this.fire(\"error\",{error:t});this.data=e,this.img&&this.fire(\"load\")}.bind(this)),o.getImage(l(t,e,\".png\"),function(t,e){if(t)return void this.fire(\"error\",{error:t});for(var r=e.getData(),n=e.data=new Uint8Array(r.length),i=0;i<r.length;i+=4){\nvar a=r[i+3]/255;n[i+0]=r[i+0]*a,n[i+1]=r[i+1]*a,n[i+2]=r[i+2]*a,n[i+3]=r[i+3]}this.img=e,this.data&&this.fire(\"load\")}.bind(this))}function i(){}var a=t(\"../util/evented\"),o=t(\"../util/ajax\"),s=t(\"../util/browser\"),l=t(\"../util/mapbox\").normalizeSpriteURL;e.exports=n,n.prototype=Object.create(a),n.prototype.toJSON=function(){return this.base},n.prototype.loaded=function(){return!(!this.data||!this.img)},n.prototype.resize=function(){if(s.devicePixelRatio>1!==this.retina){var t=new n(this.base);t.on(\"load\",function(){this.img=t.img,this.data=t.data,this.retina=t.retina}.bind(this))}},i.prototype={x:0,y:0,width:0,height:0,pixelRatio:1,sdf:!1},n.prototype.getSpritePosition=function(t){if(!this.loaded())return new i;var e=this.data&&this.data[t];return e&&this.img?e:new i}},{\"../util/ajax\":405,\"../util/browser\":406,\"../util/evented\":414,\"../util/mapbox\":419}],357:[function(t,e,r){\"use strict\";var n=t(\"csscolorparser\").parseCSSColor,i=t(\"../util/util\"),a=t(\"./style_function\"),o={};e.exports=function t(e){if(a.isFunctionDefinition(e))return i.extend({},e,{stops:e.stops.map(function(e){return[e[0],t(e[1])]})});if(\"string\"==typeof e){if(!o[e]){var r=n(e);if(!r)throw new Error(\"Invalid color \"+e);o[e]=[r[0]/255*r[3],r[1]/255*r[3],r[2]/255*r[3],r[3]]}return o[e]}throw new Error(\"Invalid color \"+e)}},{\"../util/util\":422,\"./style_function\":360,csscolorparser:98}],358:[function(t,e,r){\"use strict\";function n(t,e,r){this.animationLoop=e||new m,this.dispatcher=new p(r||1,this),this.spriteAtlas=new l(1024,1024),this.lineAtlas=new u(256,512),this._layers={},this._order=[],this._groups=[],this.sources={},this.zoomHistory={},c.bindAll([\"_forwardSourceEvent\",\"_forwardTileEvent\",\"_forwardLayerEvent\",\"_redoPlacement\"],this),this._resetUpdates();var n=function(t,e){if(t)return void this.fire(\"error\",{error:t});if(!g.emitErrors(this,g(e))){this._loaded=!0,this.stylesheet=e,this.updateClasses();var r=e.sources;for(var n in r)this.addSource(n,r[n]);e.sprite&&(this.sprite=new o(e.sprite),this.sprite.on(\"load\",this.fire.bind(this,\"change\"))),this.glyphSource=new s(e.glyphs),this._resolve(),this.fire(\"load\")}}.bind(this);\"string\"==typeof t?h.getJSON(f(t),n):d.frame(n.bind(this,null,t)),this.on(\"source.load\",function(t){var e=t.source;if(e&&e.vectorLayerIds)for(var r in this._layers){var n=this._layers[r];n.source===e.id&&this._validateLayer(n)}})}var i=t(\"../util/evented\"),a=t(\"./style_layer\"),o=t(\"./image_sprite\"),s=t(\"../symbol/glyph_source\"),l=t(\"../symbol/sprite_atlas\"),u=t(\"../render/line_atlas\"),c=t(\"../util/util\"),h=t(\"../util/ajax\"),f=t(\"../util/mapbox\").normalizeStyleURL,d=t(\"../util/browser\"),p=t(\"../util/dispatcher\"),m=t(\"./animation_loop\"),g=t(\"./validate_style\"),v=t(\"../source/source\"),y=t(\"../source/query_features\"),b=t(\"../source/source_cache\"),x=t(\"./style_spec\"),_=t(\"./style_function\");e.exports=n,n.prototype=c.inherit(i,{_loaded:!1,_validateLayer:function(t){var e=this.sources[t.source];t.sourceLayer&&e&&e.vectorLayerIds&&e.vectorLayerIds.indexOf(t.sourceLayer)===-1&&this.fire(\"error\",{error:new Error('Source layer \"'+t.sourceLayer+'\" does not exist on source \"'+e.id+'\" as specified by style layer \"'+t.id+'\"')})},loaded:function(){if(!this._loaded)return!1;if(Object.keys(this._updates.sources).length)return!1;for(var t in this.sources)if(!this.sources[t].loaded())return!1;return!(this.sprite&&!this.sprite.loaded())},_resolve:function(){var t,e;this._layers={},this._order=this.stylesheet.layers.map(function(t){return t.id});for(var r=0;r<this.stylesheet.layers.length;r++)e=this.stylesheet.layers[r],e.ref||(t=a.create(e),this._layers[t.id]=t,t.on(\"error\",this._forwardLayerEvent));for(var n=0;n<this.stylesheet.layers.length;n++)if(e=this.stylesheet.layers[n],e.ref){var i=this.getLayer(e.ref);t=a.create(e,i),this._layers[t.id]=t,t.on(\"error\",this._forwardLayerEvent)}this._groupLayers(),this._updateWorkerLayers()},_groupLayers:function(){var t;this._groups=[];for(var e=0;e<this._order.length;++e){var r=this._layers[this._order[e]];t&&r.source===t.source||(t=[],t.source=r.source,this._groups.push(t)),t.push(r)}},_updateWorkerLayers:function(t){this.dispatcher.broadcast(t?\"update layers\":\"set layers\",this._serializeLayers(t))},_serializeLayers:function(t){t=t||this._order;for(var e=[],r={includeRefProperties:!0},n=0;n<t.length;n++)e.push(this._layers[t[n]].serialize(r));return e},_applyClasses:function(t,e){if(this._loaded){t=t||[],e=e||{transition:!0};var r=this.stylesheet.transition||{},n=this._updates.allPaintProps?this._layers:this._updates.paintProps;for(var i in n){var a=this._layers[i],o=this._updates.paintProps[i];if(this._updates.allPaintProps||o.all)a.updatePaintTransitions(t,e,r,this.animationLoop);else for(var s in o)this._layers[i].updatePaintTransition(s,t,e,r,this.animationLoop)}}},_recalculate:function(t){for(var e in this.sources)this.sources[e].used=!1;this._updateZoomHistory(t),this.rasterFadeDuration=300;for(var r in this._layers){var n=this._layers[r];n.recalculate(t,this.zoomHistory),!n.isHidden(t)&&n.source&&(this.sources[n.source].used=!0)}Math.floor(this.z)!==Math.floor(t)&&this.animationLoop.set(300),this.z=t,this.fire(\"zoom\")},_updateZoomHistory:function(t){var e=this.zoomHistory;void 0===e.lastIntegerZoom&&(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=0,e.lastZoom=t),Math.floor(e.lastZoom)<Math.floor(t)?(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=Date.now()):Math.floor(e.lastZoom)>Math.floor(t)&&(e.lastIntegerZoom=Math.floor(t+1),e.lastIntegerZoomTime=Date.now()),e.lastZoom=t},_checkLoaded:function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},update:function(t,e){if(!this._updates.changed)return this;if(this._updates.allLayers)this._groupLayers(),this._updateWorkerLayers();else{var r=Object.keys(this._updates.layers);r.length&&this._updateWorkerLayers(r)}var n,i=Object.keys(this._updates.sources);for(n=0;n<i.length;n++)this._reloadSource(i[n]);for(n=0;n<this._updates.events.length;n++){var a=this._updates.events[n];this.fire(a[0],a[1])}return this._applyClasses(t,e),this._updates.changed&&this.fire(\"change\"),this._resetUpdates(),this},_resetUpdates:function(){this._updates={events:[],layers:{},sources:{},paintProps:{}}},addSource:function(t,e){if(this._checkLoaded(),void 0!==this.sources[t])throw new Error(\"There is already a source with this ID\");if(!e.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(e)+\".\");return[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(e.type)>=0&&this._handleErrors(g.source,\"sources.\"+t,e)?this:(e=new b(t,e,this.dispatcher),this.sources[t]=e,e.style=this,e.on(\"load\",this._forwardSourceEvent).on(\"error\",this._forwardSourceEvent).on(\"change\",this._forwardSourceEvent).on(\"tile.add\",this._forwardTileEvent).on(\"tile.load\",this._forwardTileEvent).on(\"tile.error\",this._forwardTileEvent).on(\"tile.remove\",this._forwardTileEvent).on(\"tile.stats\",this._forwardTileEvent),this._updates.events.push([\"source.add\",{source:e}]),this._updates.changed=!0,this)},removeSource:function(t){if(this._checkLoaded(),void 0===this.sources[t])throw new Error(\"There is no source with this ID\");var e=this.sources[t];return delete this.sources[t],delete this._updates.sources[t],e.off(\"load\",this._forwardSourceEvent).off(\"error\",this._forwardSourceEvent).off(\"change\",this._forwardSourceEvent).off(\"tile.add\",this._forwardTileEvent).off(\"tile.load\",this._forwardTileEvent).off(\"tile.error\",this._forwardTileEvent).off(\"tile.remove\",this._forwardTileEvent).off(\"tile.stats\",this._forwardTileEvent),this._updates.events.push([\"source.remove\",{source:e}]),this._updates.changed=!0,this},getSource:function(t){return this.sources[t]&&this.sources[t].getSource()},addLayer:function(t,e){if(this._checkLoaded(),!(t instanceof a)){if(this._handleErrors(g.layer,\"layers.\"+t.id,t,!1,{arrayIndex:-1}))return this;var r=t.ref&&this.getLayer(t.ref);t=a.create(t,r)}return this._validateLayer(t),t.on(\"error\",this._forwardLayerEvent),this._layers[t.id]=t,this._order.splice(e?this._order.indexOf(e):1/0,0,t.id),this._updates.allLayers=!0,t.source&&(this._updates.sources[t.source]=!0),this._updates.events.push([\"layer.add\",{layer:t}]),this.updateClasses(t.id)},removeLayer:function(t){this._checkLoaded();var e=this._layers[t];if(void 0===e)throw new Error(\"There is no layer with this ID\");for(var r in this._layers)this._layers[r].ref===t&&this.removeLayer(r);return e.off(\"error\",this._forwardLayerEvent),delete this._layers[t],delete this._updates.layers[t],delete this._updates.paintProps[t],this._order.splice(this._order.indexOf(t),1),this._updates.allLayers=!0,this._updates.events.push([\"layer.remove\",{layer:e}]),this._updates.changed=!0,this},getLayer:function(t){return this._layers[t]},getReferentLayer:function(t){var e=this.getLayer(t);return e.ref&&(e=this.getLayer(e.ref)),e},setLayerZoomRange:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return n.minzoom===e&&n.maxzoom===r?this:(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n))},setFilter:function(t,e){this._checkLoaded();var r=this.getReferentLayer(t);return null!==e&&this._handleErrors(g.filter,\"layers.\"+r.id+\".filter\",e)?this:c.deepEqual(r.filter,e)?this:(r.filter=c.clone(e),this._updateLayer(r))},getFilter:function(t){return this.getReferentLayer(t).filter},setLayoutProperty:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return c.deepEqual(n.getLayoutProperty(e),r)?this:(n.setLayoutProperty(e,r),this._updateLayer(n))},getLayoutProperty:function(t,e){return this.getReferentLayer(t).getLayoutProperty(e)},setPaintProperty:function(t,e,r,n){this._checkLoaded();var i=this.getLayer(t);if(c.deepEqual(i.getPaintProperty(e,n),r))return this;var a=i.isPaintValueFeatureConstant(e);return i.setPaintProperty(e,r,n),!(r&&_.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property)&&a||(this._updates.layers[t]=!0,i.source&&(this._updates.sources[i.source]=!0)),this.updateClasses(t,e)},getPaintProperty:function(t,e,r){return this.getLayer(t).getPaintProperty(e,r)},updateClasses:function(t,e){if(this._updates.changed=!0,t){var r=this._updates.paintProps;r[t]||(r[t]={}),r[t][e||\"all\"]=!0}else this._updates.allPaintProps=!0;return this},serialize:function(){return c.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:c.mapObject(this.sources,function(t){return t.serialize()}),layers:this._order.map(function(t){return this._layers[t].serialize()},this)},function(t){return void 0!==t})},_updateLayer:function(t){return this._updates.layers[t.id]=!0,t.source&&(this._updates.sources[t.source]=!0),this._updates.changed=!0,this},_flattenRenderedFeatures:function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0;i<t.length;i++){var a=t[i][n];if(a)for(var o=0;o<a.length;o++)e.push(a[o])}return e},queryRenderedFeatures:function(t,e,r,n){e&&e.filter&&this._handleErrors(g.filter,\"queryRenderedFeatures.filter\",e.filter,!0);var i={};if(e&&e.layers)for(var a=0;a<e.layers.length;a++){var o=e.layers[a];i[this._layers[o].source]=!0}var s=[];for(var l in this.sources)if(!e.layers||i[l]){var u=this.sources[l],c=y.rendered(u,this._layers,t,e,r,n);s.push(c)}return this._flattenRenderedFeatures(s)},querySourceFeatures:function(t,e){e&&e.filter&&this._handleErrors(g.filter,\"querySourceFeatures.filter\",e.filter,!0);var r=this.sources[t];return r?y.source(r,e):[]},addSourceType:function(t,e,r){return v.getType(t)?r(new Error('A source type called \"'+t+'\" already exists.')):(v.setType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"load worker source\",{name:t,url:e.workerSourceURL},r):r(null,null))},_handleErrors:function(t,e,r,n,i){var a=n?g.throwErrors:g.emitErrors,o=t.call(g,c.extend({key:e,style:this.serialize(),value:r,styleSpec:x},i));return a.call(g,this,o)},_remove:function(){this.dispatcher.remove()},_reloadSource:function(t){this.sources[t].reload()},_updateSources:function(t){for(var e in this.sources)this.sources[e].update(t)},_redoPlacement:function(){for(var t in this.sources)this.sources[t].redoPlacement&&this.sources[t].redoPlacement()},_forwardSourceEvent:function(t){this.fire(\"source.\"+t.type,c.extend({source:t.target.getSource()},t))},_forwardTileEvent:function(t){this.fire(t.type,c.extend({source:t.target},t))},_forwardLayerEvent:function(t){this.fire(\"layer.\"+t.type,c.extend({layer:{id:t.target.id}},t))},\"get sprite json\":function(t,e){var r=this.sprite;r.loaded()?e(null,{sprite:r.data,retina:r.retina}):r.on(\"load\",function(){e(null,{sprite:r.data,retina:r.retina})})},\"get icons\":function(t,e){var r=this.sprite,n=this.spriteAtlas;r.loaded()?(n.setSprite(r),n.addIcons(t.icons,e)):r.on(\"load\",function(){n.setSprite(r),n.addIcons(t.icons,e)})},\"get glyphs\":function(t,e){function r(t,r,n){t&&console.error(t),a[n]=r,0===--i&&e(null,a)}var n=t.stacks,i=Object.keys(n).length,a={};for(var o in n)this.glyphSource.getSimpleGlyphs(o,n[o],t.uid,r)}})},{\"../render/line_atlas\":334,\"../source/query_features\":344,\"../source/source\":346,\"../source/source_cache\":347,\"../symbol/glyph_source\":379,\"../symbol/sprite_atlas\":384,\"../util/ajax\":405,\"../util/browser\":406,\"../util/dispatcher\":413,\"../util/evented\":414,\"../util/mapbox\":419,\"../util/util\":422,\"./animation_loop\":355,\"./image_sprite\":356,\"./style_function\":360,\"./style_layer\":361,\"./style_spec\":368,\"./validate_style\":370}],359:[function(t,e,r){\"use strict\";function n(t,e){this.value=s.clone(e),this.isFunction=a.isFunctionDefinition(e),this.json=JSON.stringify(this.value);var r=\"color\"===t.type&&this.value?o(this.value):e;if(this.calculate=a[t.function||\"piecewise-constant\"](r),this.isFeatureConstant=this.calculate.isFeatureConstant,this.isZoomConstant=this.calculate.isZoomConstant,\"piecewise-constant\"===t.function&&t.transition&&(this.calculate=i(this.calculate)),!this.isFeatureConstant&&!this.isZoomConstant){this.stopZoomLevels=[];for(var n=[],l=this.value.stops,u=0;u<this.value.stops.length;u++){var c=l[u][0].zoom;this.stopZoomLevels.indexOf(c)<0&&(this.stopZoomLevels.push(c),n.push([c,n.length]))}this.calculateInterpolationT=a.interpolated({stops:n,base:e.base})}}function i(t){return function(e,r){var n,i,a,o=e.zoom,s=e.zoomHistory,l=e.duration,u=o%1,c=Math.min((Date.now()-s.lastIntegerZoomTime)/l,1),h=1;return o>s.lastIntegerZoom?(n=u+(1-u)*c,h*=2,i=t({zoom:o-1},r),a=t({zoom:o},r)):(n=1-(1-c)*u,a=t({zoom:o},r),i=t({zoom:o+1},r),h/=2),void 0===i||void 0===a?void 0:{from:i,fromScale:h,to:a,toScale:1,t:n}}}var a=t(\"./style_function\"),o=t(\"./parse_color\"),s=t(\"../util/util\");e.exports=n},{\"../util/util\":422,\"./parse_color\":357,\"./style_function\":360}],360:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl-function\");r.interpolated=function(t){var e=n.interpolated(t),r=function(t,r){return e(t&&t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r[\"piecewise-constant\"]=function(t){var e=n[\"piecewise-constant\"](t),r=function(t,r){return e(t&&t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r.isFunctionDefinition=n.isFunctionDefinition},{\"mapbox-gl-function\":282}],361:[function(t,e,r){\"use strict\";function n(t,e){this.set(t,e)}function i(t){return t.value}var a=t(\"../util/util\"),o=t(\"./style_transition\"),s=t(\"./style_declaration\"),l=t(\"./style_spec\"),u=t(\"./validate_style\"),c=t(\"./parse_color\"),h=t(\"../util/evented\");e.exports=n;n.create=function(e,r){return new({background:t(\"./style_layer/background_style_layer\"),circle:t(\"./style_layer/circle_style_layer\"),fill:t(\"./style_layer/fill_style_layer\"),line:t(\"./style_layer/line_style_layer\"),raster:t(\"./style_layer/raster_style_layer\"),symbol:t(\"./style_layer/symbol_style_layer\")}[(r||e).type])(e,r)},n.prototype=a.inherit(h,{set:function(t,e){this.id=t.id,this.ref=t.ref,this.metadata=t.metadata,this.type=(e||t).type,this.source=(e||t).source,this.sourceLayer=(e||t)[\"source-layer\"],this.minzoom=(e||t).minzoom,this.maxzoom=(e||t).maxzoom,this.filter=(e||t).filter,this.paint={},this.layout={},this._paintSpecifications=l[\"paint_\"+this.type],this._layoutSpecifications=l[\"layout_\"+this.type],this._paintTransitions={},this._paintTransitionOptions={},this._paintDeclarations={},this._layoutDeclarations={},this._layoutFunctions={};var r,n;for(var i in t){var a=i.match(/^paint(?:\\.(.*))?$/);if(a){var o=a[1]||\"\";for(r in t[i])this.setPaintProperty(r,t[i][r],o)}}if(this.ref)this._layoutDeclarations=e._layoutDeclarations;else for(n in t.layout)this.setLayoutProperty(n,t.layout[n]);for(r in this._paintSpecifications)this.paint[r]=this.getPaintValue(r);for(n in this._layoutSpecifications)this._updateLayoutValue(n)},setLayoutProperty:function(t,e){if(null==e)delete this._layoutDeclarations[t];else{var r=\"layers.\"+this.id+\".layout.\"+t;if(this._handleErrors(u.layoutProperty,r,t,e))return;this._layoutDeclarations[t]=new s(this._layoutSpecifications[t],e)}this._updateLayoutValue(t)},getLayoutProperty:function(t){return this._layoutDeclarations[t]&&this._layoutDeclarations[t].value},getLayoutValue:function(t,e,r){var n=this._layoutSpecifications[t],i=this._layoutDeclarations[t];return i?i.calculate(e,r):n.default},setPaintProperty:function(t,e,r){var n=\"layers.\"+this.id+(r?'[\"paint.'+r+'\"].':\".paint.\")+t;if(a.endsWith(t,\"-transition\"))if(this._paintTransitionOptions[r||\"\"]||(this._paintTransitionOptions[r||\"\"]={}),null===e||void 0===e)delete this._paintTransitionOptions[r||\"\"][t];else{if(this._handleErrors(u.paintProperty,n,t,e))return;this._paintTransitionOptions[r||\"\"][t]=e}else if(this._paintDeclarations[r||\"\"]||(this._paintDeclarations[r||\"\"]={}),null===e||void 0===e)delete this._paintDeclarations[r||\"\"][t];else{if(this._handleErrors(u.paintProperty,n,t,e))return;this._paintDeclarations[r||\"\"][t]=new s(this._paintSpecifications[t],e)}},getPaintProperty:function(t,e){return e=e||\"\",a.endsWith(t,\"-transition\")?this._paintTransitionOptions[e]&&this._paintTransitionOptions[e][t]:this._paintDeclarations[e]&&this._paintDeclarations[e][t]&&this._paintDeclarations[e][t].value},getPaintValue:function(t,e,r){var n=this._paintSpecifications[t],i=this._paintTransitions[t];return i?i.calculate(e,r):\"color\"===n.type&&n.default?c(n.default):n.default},getPaintValueStopZoomLevels:function(t){var e=this._paintTransitions[t];return e?e.declaration.stopZoomLevels:[]},getPaintInterpolationT:function(t,e){return this._paintTransitions[t].declaration.calculateInterpolationT({zoom:e})},isPaintValueFeatureConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isFeatureConstant},isLayoutValueFeatureConstant:function(t){var e=this._layoutDeclarations[t];return!e||e.isFeatureConstant},isPaintValueZoomConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isZoomConstant},isHidden:function(t){return!!(this.minzoom&&t<this.minzoom)||(!!(this.maxzoom&&t>=this.maxzoom)||(\"none\"===this.layout.visibility||0===this.paint[this.type+\"-opacity\"]))},updatePaintTransitions:function(t,e,r,n){for(var i=a.extend({},this._paintDeclarations[\"\"]),o=0;o<t.length;o++)a.extend(i,this._paintDeclarations[t[o]]);var s;for(s in i)this._applyPaintDeclaration(s,i[s],e,r,n);for(s in this._paintTransitions)s in i||this._applyPaintDeclaration(s,null,e,r,n)},updatePaintTransition:function(t,e,r,n,i){for(var a=this._paintDeclarations[\"\"][t],o=0;o<e.length;o++){var s=this._paintDeclarations[e[o]];s&&s[t]&&(a=s[t])}this._applyPaintDeclaration(t,a,r,n,i)},recalculate:function(t,e){for(var r in this._paintTransitions)this.paint[r]=this.getPaintValue(r,{zoom:t,zoomHistory:e});for(var n in this._layoutFunctions)this.layout[n]=this.getLayoutValue(n,{zoom:t,zoomHistory:e})},serialize:function(t){var e={id:this.id,ref:this.ref,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom};for(var r in this._paintDeclarations){e[\"\"===r?\"paint\":\"paint.\"+r]=a.mapObject(this._paintDeclarations[r],i)}return(!this.ref||t&&t.includeRefProperties)&&a.extend(e,{type:this.type,source:this.source,\"source-layer\":this.sourceLayer,filter:this.filter,layout:a.mapObject(this._layoutDeclarations,i)}),a.filterObject(e,function(t,e){return void 0!==t&&!(\"layout\"===e&&!Object.keys(t).length)})},_applyPaintDeclaration:function(t,e,r,n,i){var l=r.transition?this._paintTransitions[t]:void 0,u=this._paintSpecifications[t];if(null!==e&&void 0!==e||(e=new s(u,u.default)),!l||l.declaration.json!==e.json){var c=a.extend({duration:300,delay:0},n,this.getPaintProperty(t+\"-transition\")),h=this._paintTransitions[t]=new o(u,e,l,c);h.instant()||(h.loopID=i.set(h.endTime-Date.now())),l&&i.cancel(l.loopID)}},_updateLayoutValue:function(t){var e=this._layoutDeclarations[t];e&&e.isFunction?this._layoutFunctions[t]=!0:(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t))},_handleErrors:function(t,e,r,n){return u.emitErrors(this,t.call(u,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:l,style:{glyphs:!0,sprite:!0}}))}})},{\"../util/evented\":414,\"../util/util\":422,\"./parse_color\":357,\"./style_declaration\":359,\"./style_layer/background_style_layer\":362,\"./style_layer/circle_style_layer\":363,\"./style_layer/fill_style_layer\":364,\"./style_layer/line_style_layer\":365,\"./style_layer/raster_style_layer\":366,\"./style_layer/symbol_style_layer\":367,\"./style_spec\":368,\"./style_transition\":369,\"./validate_style\":370}],362:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{})},{\"../../util/util\":422,\"../style_layer\":361}],363:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{})},{\"../../util/util\":422,\"../style_layer\":361}],364:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.getPaintValue.call(this,\"fill-color\",e,r):a.prototype.getPaintValue.call(this,t,e,r)},getPaintValueStopZoomLevels:function(t){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.getPaintValueStopZoomLevels.call(this,\"fill-color\"):a.prototype.getPaintValueStopZoomLevels.call(this,arguments)},getPaintInterpolationT:function(t,e){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.getPaintInterpolationT.call(this,\"fill-color\",e):a.prototype.getPaintInterpolationT.call(this,t,e)},isPaintValueFeatureConstant:function(t){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.isPaintValueFeatureConstant.call(this,\"fill-color\"):a.prototype.isPaintValueFeatureConstant.call(this,t)},isPaintValueZoomConstant:function(t){return\"fill-outline-color\"===t&&void 0===this.getPaintProperty(\"fill-outline-color\")?a.prototype.isPaintValueZoomConstant.call(this,\"fill-color\"):a.prototype.isPaintValueZoomConstant.call(this,t)}}),e.exports=n},{\"../../util/util\":422,\"../style_layer\":361}],365:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){var n=a.prototype.getPaintValue.apply(this,arguments);if(n&&\"line-dasharray\"===t){var i=Math.floor(e.zoom);this._flooredZoom!==i&&(this._flooredZoom=i,this._flooredLineWidth=this.getPaintValue(\"line-width\",e,r)),n.fromScale*=this._flooredLineWidth,n.toScale*=this._flooredLineWidth}return n}})},{\"../../util/util\":422,\"../style_layer\":361}],366:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{})},{\"../../util/util\":422,\"../style_layer\":361}],367:[function(t,e,r){\"use strict\";function n(){a.apply(this,arguments)}var i=t(\"../../util/util\"),a=t(\"../style_layer\");e.exports=n,n.prototype=i.inherit(a,{isHidden:function(){if(a.prototype.isHidden.apply(this,arguments))return!0;var t=0===this.paint[\"text-opacity\"]||!this.layout[\"text-field\"],e=0===this.paint[\"icon-opacity\"]||!this.layout[\"icon-image\"];return!(!t||!e)},getLayoutValue:function(t,e,r){return(\"text-rotation-alignment\"!==t||\"line\"!==this.getLayoutValue(\"symbol-placement\",e,r)||this.getLayoutProperty(\"text-rotation-alignment\"))&&(\"icon-rotation-alignment\"!==t||\"line\"!==this.getLayoutValue(\"symbol-placement\",e,r)||this.getLayoutProperty(\"icon-rotation-alignment\"))?\"text-pitch-alignment\"!==t||this.getLayoutProperty(\"text-pitch-alignment\")?a.prototype.getLayoutValue.apply(this,arguments):this.getLayoutValue(\"text-rotation-alignment\"):\"map\"}})},{\"../../util/util\":422,\"../style_layer\":361}],368:[function(t,e,r){\"use strict\";e.exports=t(\"mapbox-gl-style-spec/reference/latest.min\")},{\"mapbox-gl-style-spec/reference/latest.min\":305}],369:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.declaration=e,this.startTime=this.endTime=(new Date).getTime(),\"piecewise-constant\"===t.function&&t.transition?this.interp=i:this.interp=o[t.type],this.oldTransition=r,this.duration=n.duration||0,this.delay=n.delay||0,this.instant()||(this.endTime=this.startTime+this.duration+this.delay,this.ease=a.easeCubicInOut),r&&r.endTime<=this.startTime&&delete r.oldTransition}function i(t,e,r){return void 0===(t&&t.to)||void 0===(e&&e.to)?void 0:{from:t.to,fromScale:t.toScale,to:e.to,toScale:e.toScale,t:r}}var a=t(\"../util/util\"),o=t(\"../util/interpolate\");e.exports=n,n.prototype.instant=function(){return!this.oldTransition||!this.interp||0===this.duration&&0===this.delay},n.prototype.calculate=function(t,e){var r=this.declaration.calculate(a.extend({},t,{duration:this.duration}),e);if(this.instant())return r;var n=t.time||Date.now();if(n<this.endTime){var i=this.oldTransition.calculate(a.extend({},t,{time:this.startTime}),e),o=this.ease((n-this.startTime-this.delay)/this.duration);r=this.interp(i,r,o)}return r}},{\"../util/interpolate\":416,\"../util/util\":422}],370:[function(t,e,r){\"use strict\";e.exports=t(\"mapbox-gl-style-spec/lib/validate_style.min\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0;r<e.length;r++)t.fire(\"error\",{error:new Error(e[r].message)});return!0}return!1},e.exports.throwErrors=function(t,e){if(e)for(var r=0;r<e.length;r++)throw new Error(e[r].message)}},{\"mapbox-gl-style-spec/lib/validate_style.min\":304}],371:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.x=t,this.y=e,this.angle=r,void 0!==n&&(this.segment=n)}var i=t(\"point-geometry\");e.exports=n,n.prototype=Object.create(i.prototype),n.prototype.clone=function(){return new n(this.x,this.y,this.angle,this.segment)}},{\"point-geometry\":463}],372:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;s<r/2;){var c=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var d=c.angleTo(h)-h.angleTo(f);for(d=Math.abs((d+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:d}),u+=d;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=h.dist(f)}return!0}e.exports=n},{}],373:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var l,u=t[s],c=0;c<u.length-1;c++){var h=u[c],f=u[c+1];h.x<e&&f.x<e||(h.x<e?h=new i(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round():f.x<e&&(f=new i(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round()),h.y<r&&f.y<r||(h.y<r?h=new i(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round():f.y<r&&(f=new i(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round()),h.x>=n&&f.x>=n||(h.x>=n?h=new i(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new i(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=a&&f.y>=a||(h.y>=a?h=new i(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round():f.y>=a&&(f=new i(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round()),l&&h.equals(l[l.length-1])||(l=[h],o.push(l)),l.push(f)))))}return o}var i=t(\"point-geometry\");e.exports=n},{\"point-geometry\":463}],374:[function(t,e,r){\"use strict\";var n=t(\"../util/struct_array\"),i=t(\"../util/util\"),a=t(\"point-geometry\"),o=e.exports=new n({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{\"../util/struct_array\":420,\"../util/util\":422,\"point-geometry\":463}],375:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l,u,c){var h=o.top*s-l,f=o.bottom*s+l,d=o.left*s-l,p=o.right*s+l;if(this.boxStartIndex=t.length,u){var m=f-h,g=p-d;if(m>0)if(m=Math.max(10*s,m),c){var v=e[r.segment+1].sub(e[r.segment])._unit()._mult(g),y=[r.sub(v),r.add(v)];this._addLineCollisionBoxes(t,y,r,0,g,m,n,i,a)}else this._addLineCollisionBoxes(t,e,r,r.segment,g,m,n,i,a)}else t.emplaceBack(r.x,r.y,d,h,p,f,1/0,n,i,a,0,0,0,0,0);this.boxEndIndex=t.length}e.exports=n,n.prototype._addLineCollisionBoxes=function(t,e,r,n,i,a,o,s,l){var u=a/2,c=Math.floor(i/u),h=-a/2,f=this.boxes,d=r,p=n+1,m=h;do{if(--p<0)return f;m-=e[p].dist(d),d=e[p]}while(m>-i/2);for(var g=e[p].dist(e[p+1]),v=0;v<c;v++){for(var y=-i/2+v*u;m+g<y;){if(m+=g,++p+1>=e.length)return f;g=e[p].dist(e[p+1])}var b=y-m,x=e[p],_=e[p+1],w=_.sub(x)._unit()._mult(b)._add(x)._round(),M=Math.max(Math.abs(y-h)-u/2,0),A=i/2/M;t.emplaceBack(w.x,w.y,-a/2,-a/2,a/2,a/2,A,o,s,l,0,0,0,0,0)}return f}},{}],376:[function(t,e,r){\"use strict\";function n(t,e,r){if(\"object\"==typeof t){var n=t;r=e,t=n.angle,e=n.pitch,this.grid=new o(n.grid),this.ignoredGrid=new o(n.ignoredGrid)}else this.grid=new o(a,12,6),this.ignoredGrid=new o(a,12,0);this.angle=t,this.pitch=e;var i=Math.sin(t),s=Math.cos(t);if(this.rotationMatrix=[s,-i,i,s],this.reverseRotationMatrix=[s,i,-i,s],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=r,0===r.length){r.emplaceBack();r.emplaceBack(0,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(a,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,a,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]}var i=t(\"point-geometry\"),a=t(\"../data/bucket\").EXTENT,o=t(\"grid-index\");e.exports=n,n.prototype.serialize=function(){var t={angle:this.angle,pitch:this.pitch,grid:this.grid.toArrayBuffer(),ignoredGrid:this.ignoredGrid.toArrayBuffer()};return{data:t,transferables:[t.grid,t.ignoredGrid]}},n.prototype.minScale=.25,n.prototype.maxScale=2,n.prototype.placeCollisionFeature=function(t,e,r){for(var n=this.collisionBoxArray,a=this.minScale,o=this.rotationMatrix,s=this.yStretch,l=t.boxStartIndex;l<t.boxEndIndex;l++){var u=n.get(l),c=u.anchorPoint._matMult(o),h=c.x,f=c.y,d=h+u.x1,p=f+u.y1*s,m=h+u.x2,g=f+u.y2*s;if(u.bbox0=d,u.bbox1=p,u.bbox2=m,u.bbox3=g,!e)for(var v=this.grid.query(d,p,m,g),y=0;y<v.length;y++){var b=n.get(v[y]),x=b.anchorPoint._matMult(o);if((a=this.getPlacementScale(a,c,u,x,b))>=this.maxScale)return a}if(r){var _;if(this.angle){var w=this.reverseRotationMatrix,M=new i(u.x1,u.y1).matMult(w),A=new i(u.x2,u.y1).matMult(w),k=new i(u.x1,u.y2).matMult(w),T=new i(u.x2,u.y2).matMult(w);_=this.tempCollisionBox,_.anchorPointX=u.anchorPoint.x,_.anchorPointY=u.anchorPoint.y,_.x1=Math.min(M.x,A.x,k.x,T.x),_.y1=Math.min(M.y,A.x,k.x,T.x),\n_.x2=Math.max(M.x,A.x,k.x,T.x),_.y2=Math.max(M.y,A.x,k.x,T.x),_.maxScale=u.maxScale}else _=u;for(var E=0;E<this.edges.length;E++){var S=this.edges[E];if((a=this.getPlacementScale(a,u.anchorPoint,_,S.anchorPoint,S))>=this.maxScale)return a}}}return a},n.prototype.queryRenderedSymbols=function(t,e,r,n,a){var o={},s=[],l=this.collisionBoxArray,u=this.rotationMatrix,c=new i(t,e)._matMult(u),h=this.tempCollisionBox;h.anchorX=c.x,h.anchorY=c.y,h.x1=0,h.y1=0,h.x2=r-t,h.y2=n-e,h.maxScale=a,a=h.maxScale;for(var f=[c.x+h.x1/a,c.y+h.y1/a*this.yStretch,c.x+h.x2/a,c.y+h.y2/a*this.yStretch],d=this.grid.query(f[0],f[1],f[2],f[3]),p=this.ignoredGrid.query(f[0],f[1],f[2],f[3]),m=0;m<p.length;m++)d.push(p[m]);for(var g=0;g<d.length;g++){var v=l.get(d[g]),y=v.sourceLayerIndex,b=v.featureIndex;if(void 0===o[y]&&(o[y]={}),!o[y][b]){var x=v.anchorPoint.matMult(u);this.getPlacementScale(this.minScale,c,h,x,v)>=a&&(o[y][b]=!0,s.push(d[g]))}}return s},n.prototype.getPlacementScale=function(t,e,r,n,i){var a=e.x-n.x,o=e.y-n.y,s=(i.x1-r.x2)/a,l=(i.x2-r.x1)/a,u=(i.y1-r.y2)*this.yStretch/o,c=(i.y2-r.y1)*this.yStretch/o;(isNaN(s)||isNaN(l))&&(s=l=1),(isNaN(u)||isNaN(c))&&(u=c=1);var h=Math.min(Math.max(s,l),Math.max(u,c)),f=i.maxScale,d=r.maxScale;return h>f&&(h=f),h>d&&(h=d),h>t&&h>=i.placementScale&&(t=h),t},n.prototype.insertCollisionFeature=function(t,e,r){for(var n=r?this.ignoredGrid:this.grid,i=this.collisionBoxArray,a=t.boxStartIndex;a<t.boxEndIndex;a++){var o=i.get(a);o.placementScale=e,e<this.maxScale&&n.insert(a,o.bbox0,o.bbox1,o.bbox2,o.bbox3)}}},{\"../data/bucket\":309,\"grid-index\":269,\"point-geometry\":463}],377:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,o,s,l,u){var c=n?.6*o*s:0,h=Math.max(n?n.right-n.left:0,a?a.right-a.left:0),f=0===t[0].x||t[0].x===u||0===t[0].y||t[0].y===u;e-h*s<e/4&&(e=h*s+e/4);var d=2*o;return i(t,f?e/2*l%e:(h/2+d)*s*l%e,e,c,r,h*s,f,!1,u)}function i(t,e,r,n,l,u,c,h,f){for(var d=u/2,p=0,m=0;m<t.length-1;m++)p+=t[m].dist(t[m+1]);for(var g=0,v=e-r,y=[],b=0;b<t.length-1;b++){for(var x=t[b],_=t[b+1],w=x.dist(_),M=_.angleTo(x);v+r<g+w;){v+=r;var A=(v-g)/w,k=a(x.x,_.x,A),T=a(x.y,_.y,A);if(k>=0&&k<f&&T>=0&&T<f&&v-d>=0&&v+d<=p){var E=new o(k,T,M,b)._round();n&&!s(t,E,u,n,l)||y.push(E)}}g+=w}return h||y.length||c||(y=i(t,g/2,r,n,l,u,c,!0,f)),y}var a=t(\"../util/interpolate\"),o=t(\"../symbol/anchor\"),s=t(\"./check_max_angle\");e.exports=n},{\"../symbol/anchor\":371,\"../util/interpolate\":416,\"./check_max_angle\":372}],378:[function(t,e,r){\"use strict\";function n(){this.width=o,this.height=o,this.bin=new i(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)}var i=t(\"shelf-pack\"),a=t(\"../util/util\"),o=128;e.exports=n,n.prototype.getGlyphs=function(){var t,e,r,n={};for(var i in this.ids)t=i.split(\"#\"),e=t[0],r=t[1],n[e]||(n[e]=[]),n[e].push(r);return n},n.prototype.getRects=function(){var t,e,r,n={};for(var i in this.ids)t=i.split(\"#\"),e=t[0],r=t[1],n[e]||(n[e]={}),n[e][r]=this.index[i];return n},n.prototype.addGlyph=function(t,e,r,n){if(!r)return null;var i=e+\"#\"+r.id;if(this.index[i])return this.ids[i].indexOf(t)<0&&this.ids[i].push(t),this.index[i];if(!r.bitmap)return null;var o=r.width+2*n,s=r.height+2*n,l=o+2,u=s+2;l+=4-l%4,u+=4-u%4;var c=this.bin.packOne(l,u);if(c||(this.resize(),c=this.bin.packOne(l,u)),!c)return a.warnOnce(\"glyph bitmap overflow\"),null;this.index[i]=c,this.ids[i]=[t];for(var h=this.data,f=r.bitmap,d=0;d<s;d++)for(var p=this.width*(c.y+d+1)+c.x+1,m=o*d,g=0;g<o;g++)h[p+g]=f[m+g];return this.dirty=!0,c},n.prototype.resize=function(){var t=this.width,e=this.height;if(!(t>=2048||e>=2048)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=4,this.height*=4,this.bin.resize(this.width,this.height);for(var r=new ArrayBuffer(this.width*this.height),n=0;n<e;n++){var i=new Uint8Array(this.data.buffer,e*n,t);new Uint8Array(r,e*n*4,t).set(i)}this.data=new Uint8Array(r)}},n.prototype.bind=function(t){this.gl=t,this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,null))},n.prototype.updateTexture=function(t){this.bind(t),this.dirty&&(t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data),this.dirty=!1)}},{\"../util/util\":422,\"shelf-pack\":493}],379:[function(t,e,r){\"use strict\";function n(t){this.url=t&&o(t),this.atlases={},this.stacks={},this.loading={}}function i(t,e,r){this.advance=t.advance,this.left=t.left-r-1,this.top=t.top+r+1,this.rect=e}function a(t,e,r,n){return n=n||\"abc\",r.replace(\"{s}\",n[t.length%n.length]).replace(\"{fontstack}\",t).replace(\"{range}\",e)}var o=t(\"../util/mapbox\").normalizeGlyphsURL,s=t(\"../util/ajax\").getArrayBuffer,l=t(\"../util/glyphs\"),u=t(\"../symbol/glyph_atlas\"),c=t(\"pbf\");e.exports=n,n.prototype.getSimpleGlyphs=function(t,e,r,n){void 0===this.stacks[t]&&(this.stacks[t]={}),void 0===this.atlases[t]&&(this.atlases[t]=new u);for(var a,o={},s=this.stacks[t],l=this.atlases[t],c={},h=0,f=0;f<e.length;f++){var d=e[f];if(a=Math.floor(d/256),s[a]){var p=s[a].glyphs[d],m=l.addGlyph(r,t,p,3);p&&(o[d]=new i(p,m,3))}else void 0===c[a]&&(c[a]=[],h++),c[a].push(d)}h||n(void 0,o,t);var g=function(e,a,s){if(!e)for(var u=this.stacks[t][a]=s.stacks[0],f=0;f<c[a].length;f++){var d=c[a][f],p=u.glyphs[d],m=l.addGlyph(r,t,p,3);p&&(o[d]=new i(p,m,3))}--h||n(void 0,o,t)}.bind(this);for(var v in c)this.loadRange(t,v,g)},n.prototype.loadRange=function(t,e,r){if(256*e>65535)return r(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var n=this.loading[t];if(n[e])n[e].push(r);else{n[e]=[r];s(a(t,256*e+\"-\"+(256*e+255),this.url),function(t,r){for(var i=!t&&new l(new c(new Uint8Array(r))),a=0;a<n[e].length;a++)n[e][a](t,e,i);delete n[e]})}},n.prototype.getGlyphAtlas=function(t){return this.atlases[t]}},{\"../symbol/glyph_atlas\":378,\"../util/ajax\":405,\"../util/glyphs\":415,\"../util/mapbox\":419,pbf:457}],380:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){function n(n){c.push(t[n]),h.push(r[n]),f.push(e[n]),d++}function i(t,e,r){var n=u[t];return delete u[t],u[e]=n,h[n][0].pop(),h[n][0]=h[n][0].concat(r[0]),n}function a(t,e,r){var n=l[e];return delete l[e],l[t]=n,h[n][0].shift(),h[n][0]=r[0].concat(h[n][0]),n}function o(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}var s,l={},u={},c=[],h=[],f=[],d=0;for(s=0;s<t.length;s++){var p=r[s],m=e[s];if(m){var g=o(m,p),v=o(m,p,!0);if(g in u&&v in l&&u[g]!==l[v]){var y=a(g,v,p),b=i(g,v,h[y]);delete l[g],delete u[v],u[o(m,h[b],!0)]=b,h[y]=null}else g in u?i(g,v,p):v in l?a(g,v,p):(n(s),l[g]=d-1,u[v]=d-1)}else n(s)}return{features:c,textFeatures:f,geometries:h}}},{}],381:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l,u){this.anchorPoint=t,this.tl=e,this.tr=r,this.bl=n,this.br=i,this.tex=a,this.anchorAngle=o,this.glyphAngle=s,this.minScale=l,this.maxScale=u}function i(t,e,r,i,a,o,u,c,h){var f,d,p,m,g=e.image.rect,v=a.layout,y=e.left-1,b=y+g.w/e.image.pixelRatio,x=e.top-1,_=x+g.h/e.image.pixelRatio;if(\"none\"!==v[\"icon-text-fit\"]&&u){var w=b-y,M=_-x,A=v[\"text-size\"]/24,k=u.left*A,T=u.right*A,E=u.top*A,S=u.bottom*A,L=T-k,C=S-E,D=v[\"icon-text-fit-padding\"][0],I=v[\"icon-text-fit-padding\"][1],z=v[\"icon-text-fit-padding\"][2],P=v[\"icon-text-fit-padding\"][3],O=\"width\"===v[\"icon-text-fit\"]?.5*(C-M):0,R=\"height\"===v[\"icon-text-fit\"]?.5*(L-w):0,F=\"width\"===v[\"icon-text-fit\"]||\"both\"===v[\"icon-text-fit\"]?L:w,j=\"height\"===v[\"icon-text-fit\"]||\"both\"===v[\"icon-text-fit\"]?C:M;f=new s(k+R-P,E+O-D),d=new s(k+R+I+F,E+O-D),p=new s(k+R+I+F,E+O+z+j),m=new s(k+R-P,E+O+z+j)}else f=new s(y,x),d=new s(b,x),p=new s(b,_),m=new s(y,_);var N=a.getLayoutValue(\"icon-rotate\",c,h)*Math.PI/180;if(o){var B=i[t.segment];if(t.y===B.y&&t.x===B.x&&t.segment+1<i.length){var U=i[t.segment+1];N+=Math.atan2(t.y-U.y,t.x-U.x)+Math.PI}else N+=Math.atan2(t.y-B.y,t.x-B.x)}if(N){var V=Math.sin(N),H=Math.cos(N),q=[H,-V,V,H];f=f.matMult(q),d=d.matMult(q),m=m.matMult(q),p=p.matMult(q)}return[new n(new s(t.x,t.y),f,d,m,p,e.image.rect,0,0,l,1/0)]}function a(t,e,r,i,a,u){for(var c=a.layout[\"text-rotate\"]*Math.PI/180,h=a.layout[\"text-keep-upright\"],f=e.positionedGlyphs,d=[],p=0;p<f.length;p++){var m=f[p],g=m.glyph,v=g.rect;if(v){var y,b=(m.x+g.advance/2)*r,x=l;u?(y=[],x=o(y,t,b,i,t.segment,!0),h&&(x=Math.min(x,o(y,t,b,i,t.segment,!1)))):y=[{anchorPoint:new s(t.x,t.y),offset:0,angle:0,maxScale:1/0,minScale:l}];for(var _=m.x+g.left,w=m.y-g.top,M=_+v.w,A=w+v.h,k=new s(_,w),T=new s(M,w),E=new s(_,A),S=new s(M,A),L=0;L<y.length;L++){var C=y[L],D=k,I=T,z=E,P=S;if(c){var O=Math.sin(c),R=Math.cos(c),F=[R,-O,O,R];D=D.matMult(F),I=I.matMult(F),z=z.matMult(F),P=P.matMult(F)}var j=Math.max(C.minScale,x),N=(t.angle+C.offset+2*Math.PI)%(2*Math.PI),B=(C.angle+C.offset+2*Math.PI)%(2*Math.PI);d.push(new n(C.anchorPoint,D,I,z,P,v,N,B,j,C.maxScale))}}}return d}function o(t,e,r,n,i,a){var o=!a;r<0&&(a=!a),a&&i++;var u=new s(e.x,e.y),c=n[i],h=1/0;r=Math.abs(r);for(var f=l;;){var d=u.dist(c),p=r/d,m=Math.atan2(c.y-u.y,c.x-u.x);if(a||(m+=Math.PI),t.push({anchorPoint:u,offset:o?Math.PI:0,minScale:p,maxScale:h,angle:(m+2*Math.PI)%(2*Math.PI)}),p<=f)break;for(u=c;u.equals(c);)if(i+=a?1:-1,!(c=n[i]))return p;var g=c.sub(u)._unit();u=u.sub(g._mult(d)),h=p}return f}var s=t(\"point-geometry\");e.exports={getIconQuads:i,getGlyphQuads:a,SymbolQuad:n};var l=.5},{\"point-geometry\":463}],382:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=[],a=0,o=t.length;a<o;a++){var s=i(t[a].properties,e[\"text-field\"]);if(s){s=s.toString();var l=e[\"text-transform\"];\"uppercase\"===l?s=s.toLocaleUpperCase():\"lowercase\"===l&&(s=s.toLocaleLowerCase());for(var u=0;u<s.length;u++)r[s.charCodeAt(u)]=!0;n[a]=s}else n[a]=null}return n}var i=t(\"../util/token\");e.exports=n},{\"../util/token\":421}],383:[function(t,e,r){\"use strict\";function n(t,e,r,n){this.codePoint=t,this.x=e,this.y=r,this.glyph=n}function i(t,e,r,n,i,a){this.positionedGlyphs=t,this.text=e,this.top=r,this.bottom=n,this.left=i,this.right=a}function a(t,e,r,a,s,l,u,c,h){for(var f=[],d=new i(f,t,h[1],h[1],h[0],h[0]),p=0,m=0;m<t.length;m++){var g=t.charCodeAt(m),v=e[g];v&&(f.push(new n(g,p,-17,v)),p+=v.advance+c)}return!!f.length&&(o(d,e,a,r,s,l,u,h),d)}function o(t,e,r,n,i,a,o,u){var c=null,d=0,p=0,m=0,g=0,v=t.positionedGlyphs;if(n)for(var y=0;y<v.length;y++){var b=v[y];if(b.x-=d,b.y+=r*m,b.x>n&&null!==c){var x=v[c+1].x;g=Math.max(x,g);for(var _=c+1;_<=y;_++)v[_].y+=r,v[_].x-=x;if(o){var w=c;h[v[c].codePoint]&&w--,s(v,e,p,w,o)}p=c+1,c=null,d+=x,m++}f[b.codePoint]&&(c=y)}var M=v[v.length-1],A=M.x+e[M.codePoint].advance;g=Math.max(g,A);var k=(m+1)*r;s(v,e,p,v.length-1,o),l(v,o,i,a,g,r,m,u),t.top+=-a*k,t.bottom=t.top+k,t.left+=-i*g,t.right=t.left+g}function s(t,e,r,n,i){for(var a=e[t[n].codePoint].advance,o=(t[n].x+a)*i,s=r;s<=n;s++)t[s].x-=o}function l(t,e,r,n,i,a,o,s){for(var l=(e-r)*i+s[0],u=(-n*(o+1)+.5)*a+s[1],c=0;c<t.length;c++)t[c].x+=l,t[c].y+=u}function u(t,e){if(!t||!t.rect)return null;var r=e[\"icon-offset\"][0],n=e[\"icon-offset\"][1],i=r-t.width/2,a=i+t.width,o=n-t.height/2;return new c(t,o,o+t.height,i,a)}function c(t,e,r,n,i){this.image=t,this.top=e,this.bottom=r,this.left=n,this.right=i}e.exports={shapeText:a,shapeIcon:u};var h={32:!0,8203:!0},f={32:!0,38:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0}},{}],384:[function(t,e,r){\"use strict\";function n(t,e){this.width=t,this.height=e,this.bin=new o(t,e),this.images={},this.data=!1,this.texture=0,this.filter=0,this.pixelRatio=1,this.dirty=!0}function i(t,e,r,n,i,a,o,s,l,u,c){var h,f,d=n*e+r,p=s*a+o;if(c)for(p-=a,f=-1;f<=u;f++,d=((f+u)%u+n)*e+r,p+=a)for(h=-1;h<=l;h++)i[p+h]=t[d+(h+l)%l];else for(f=0;f<u;f++,d+=e,p+=a)for(h=0;h<l;h++)i[p+h]=t[d+h]}function a(t,e,r,n,i){this.rect=t,this.width=e,this.height=r,this.sdf=n,this.pixelRatio=i}var o=t(\"shelf-pack\"),s=t(\"../util/browser\"),l=t(\"../util/util\");e.exports=n,n.prototype.allocateImage=function(t,e){t/=this.pixelRatio,e/=this.pixelRatio;var r=t+2+(4-(t+2)%4),n=e+2+(4-(e+2)%4),i=this.bin.packOne(r,n);return i?i:(l.warnOnce(\"SpriteAtlas out of space.\"),null)},n.prototype.getImage=function(t,e){if(this.images[t])return this.images[t];if(!this.sprite)return null;var r=this.sprite.getSpritePosition(t);if(!r.width||!r.height)return null;var n=this.allocateImage(r.width,r.height);if(!n)return null;var i=new a(n,r.width/r.pixelRatio,r.height/r.pixelRatio,r.sdf,r.pixelRatio/this.pixelRatio);return this.images[t]=i,this.copy(n,r,e),i},n.prototype.getPosition=function(t,e){var r=this.getImage(t,e),n=r&&r.rect;if(!n)return null;var i=r.width*r.pixelRatio,a=r.height*r.pixelRatio;return{size:[r.width,r.height],tl:[(n.x+1)/this.width,(n.y+1)/this.height],br:[(n.x+1+i)/this.width,(n.y+1+a)/this.height]}},n.prototype.allocate=function(){if(!this.data){var t=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(t*e);for(var r=0;r<this.data.length;r++)this.data[r]=0}},n.prototype.copy=function(t,e,r){if(this.sprite.img.data){var n=new Uint32Array(this.sprite.img.data.buffer);this.allocate();var a=this.data;i(n,this.sprite.img.width,e.x,e.y,a,this.width*this.pixelRatio,(t.x+1)*this.pixelRatio,(t.y+1)*this.pixelRatio,e.width,e.height,r),this.dirty=!0}},n.prototype.setSprite=function(t){t&&(this.pixelRatio=s.devicePixelRatio>1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},n.prototype.addIcons=function(t,e){for(var r=0;r<t.length;r++)this.getImage(t[r]);e(null,this.images)},n.prototype.bind=function(t,e){var r=!1;this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),r=!0);var n=e?t.LINEAR:t.NEAREST;n!==this.filter&&(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n),this.filter=n),this.dirty&&(this.allocate(),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width*this.pixelRatio,this.height*this.pixelRatio,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)):t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width*this.pixelRatio,this.height*this.pixelRatio,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)),this.dirty=!1)}},{\"../util/browser\":406,\"../util/util\":422,\"shelf-pack\":493}],385:[function(t,e,r){\"use strict\";var n=t(\"../util/struct_array\"),i=t(\"../util/util\"),a=t(\"point-geometry\"),o=e.exports=new n({members:[{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"glyphQuadStartIndex\"},{type:\"Uint16\",name:\"glyphQuadEndIndex\"},{type:\"Uint16\",name:\"iconQuadStartIndex\"},{type:\"Uint16\",name:\"iconQuadEndIndex\"},{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int8\",name:\"index\"}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{\"../util/struct_array\":420,\"../util/util\":422,\"point-geometry\":463}],386:[function(t,e,r){\"use strict\";var n=t(\"../util/struct_array\"),i=t(\"../util/util\"),a=t(\"point-geometry\"),o=t(\"./quads\").SymbolQuad,s=e.exports=new n({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Float32\",name:\"tlX\"},{type:\"Float32\",name:\"tlY\"},{type:\"Float32\",name:\"trX\"},{type:\"Float32\",name:\"trY\"},{type:\"Float32\",name:\"blX\"},{type:\"Float32\",name:\"blY\"},{type:\"Float32\",name:\"brX\"},{type:\"Float32\",name:\"brY\"},{type:\"Int16\",name:\"texH\"},{type:\"Int16\",name:\"texW\"},{type:\"Int16\",name:\"texX\"},{type:\"Int16\",name:\"texY\"},{type:\"Float32\",name:\"anchorAngle\"},{type:\"Float32\",name:\"glyphAngle\"},{type:\"Float32\",name:\"maxScale\"},{type:\"Float32\",name:\"minScale\"}]});i.extendAll(s.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)},get SymbolQuad(){return new o(this.anchorPoint,new a(this.tlX,this.tlY),new a(this.trX,this.trY),new a(this.blX,this.blY),new a(this.brX,this.brY),{x:this.texX,y:this.texY,h:this.texH,w:this.texW,height:this.texH,width:this.texW},this.anchorAngle,this.glyphAngle,this.minScale,this.maxScale)}})},{\"../util/struct_array\":420,\"../util/util\":422,\"./quads\":381,\"point-geometry\":463}],387:[function(t,e,r){\"use strict\";var n=t(\"../util/dom\"),i=t(\"point-geometry\"),a={scrollZoom:t(\"./handler/scroll_zoom\"),boxZoom:t(\"./handler/box_zoom\"),dragRotate:t(\"./handler/drag_rotate\"),dragPan:t(\"./handler/drag_pan\"),keyboard:t(\"./handler/keyboard\"),doubleClickZoom:t(\"./handler/dblclick_zoom\"),touchZoomRotate:t(\"./handler/touch_zoom_rotate\")};e.exports=function(t,e){function r(t){v(\"mouseout\",t)}function o(e){t.stop(),_=n.mousePos(b,e),v(\"mousedown\",e)}function s(e){var r=t.dragRotate&&t.dragRotate.isActive();x&&!r&&v(\"contextmenu\",x),x=null,v(\"mouseup\",e)}function l(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==b;)r=r.parentNode;r===b&&v(\"mousemove\",e)}}function u(e){t.stop(),y(\"touchstart\",e),!e.touches||e.touches.length>1||(w?(clearTimeout(w),w=null,v(\"dblclick\",e)):w=setTimeout(d,300))}function c(t){y(\"touchmove\",t)}function h(t){y(\"touchend\",t)}function f(t){y(\"touchcancel\",t)}function d(){w=null}function p(t){n.mousePos(b,t).equals(_)&&v(\"click\",t)}function m(t){v(\"dblclick\",t),t.preventDefault()}function g(t){x=t,t.preventDefault()}function v(e,r){var i=n.mousePos(b,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function y(e,r){var a=n.touchPos(b,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var b=t.getCanvasContainer(),x=null,_=null,w=null;for(var M in a)t[M]=new a[M](t,e),e.interactive&&e[M]&&t[M].enable();b.addEventListener(\"mouseout\",r,!1),b.addEventListener(\"mousedown\",o,!1),b.addEventListener(\"mouseup\",s,!1),b.addEventListener(\"mousemove\",l,!1),b.addEventListener(\"touchstart\",u,!1),b.addEventListener(\"touchend\",h,!1),b.addEventListener(\"touchmove\",c,!1),b.addEventListener(\"touchcancel\",f,!1),b.addEventListener(\"click\",p,!1),b.addEventListener(\"dblclick\",m,!1),b.addEventListener(\"contextmenu\",g,!1)}},{\"../util/dom\":408,\"./handler/box_zoom\":393,\"./handler/dblclick_zoom\":394,\"./handler/drag_pan\":395,\"./handler/drag_rotate\":396,\"./handler/keyboard\":397,\"./handler/scroll_zoom\":398,\"./handler/touch_zoom_rotate\":399,\"point-geometry\":463}],388:[function(t,e,r){\"use strict\";var n=t(\"../util/util\"),i=t(\"../util/interpolate\"),a=t(\"../util/browser\"),o=t(\"../geo/lng_lat\"),s=t(\"../geo/lng_lat_bounds\"),l=t(\"point-geometry\"),u=e.exports=function(){};n.extend(u.prototype,{getCenter:function(){return this.transform.center},setCenter:function(t,e){return this.jumpTo({center:t},e),this},panBy:function(t,e,r){return this.panTo(this.transform.center,n.extend({offset:l.convert(t).mult(-1)},e),r),this},panTo:function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},getZoom:function(){return this.transform.zoom},setZoom:function(t,e){return this.jumpTo({zoom:t},e),this},zoomTo:function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},zoomIn:function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},zoomOut:function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},getBearing:function(){return this.transform.bearing},setBearing:function(t,e){return this.jumpTo({bearing:t},e),this},rotateTo:function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},resetNorth:function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},snapToNorth:function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},getPitch:function(){return this.transform.pitch},setPitch:function(t,e){return this.jumpTo({pitch:t},e),this},fitBounds:function(t,e,r){e=n.extend({padding:0,offset:[0,0],maxZoom:1/0},e),t=s.convert(t);var i=l.convert(e.offset),a=this.transform,o=a.project(t.getNorthWest()),u=a.project(t.getSouthEast()),c=u.sub(o),h=(a.width-2*e.padding-2*Math.abs(i.x))/c.x,f=(a.height-2*e.padding-2*Math.abs(i.y))/c.y;return e.center=a.unproject(o.add(u).div(2)),e.zoom=Math.min(a.scaleZoom(a.scale*Math.min(h,f)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r)},jumpTo:function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return\"zoom\"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),\"center\"in t&&(r.center=o.convert(t.center)),\"bearing\"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),\"pitch\"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire(\"movestart\",e).fire(\"move\",e),n&&this.fire(\"zoomstart\",e).fire(\"zoom\",e).fire(\"zoomend\",e),i&&this.fire(\"rotate\",e),a&&this.fire(\"pitch\",e),this.fire(\"moveend\",e)},easeTo:function(t,e){this.stop(),t=n.extend({offset:[0,0],duration:500,easing:n.ease},t);var r,a,s=this.transform,u=l.convert(t.offset),c=this.getZoom(),h=this.getBearing(),f=this.getPitch(),d=\"zoom\"in t?+t.zoom:c,p=\"bearing\"in t?this._normalizeBearing(t.bearing,h):h,m=\"pitch\"in t?+t.pitch:f;\"center\"in t?(r=o.convert(t.center),a=s.centerPoint.add(u)):\"around\"in t?(r=o.convert(t.around),a=s.locationPoint(r)):(a=s.centerPoint.add(u),r=s.pointLocation(a));var g=s.locationPoint(r);return t.animate===!1&&(t.duration=0),this.zooming=d!==c,this.rotating=h!==p,this.pitching=m!==f,t.noMoveStart||this.fire(\"movestart\",e),this.zooming&&this.fire(\"zoomstart\",e),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(s.zoom=i(c,d,t)),this.rotating&&(s.bearing=i(h,p,t)),this.pitching&&(s.pitch=i(f,m,t)),s.setLocationAtPoint(r,g.add(a.sub(g)._mult(t))),this.fire(\"move\",e),this.zooming&&this.fire(\"zoom\",e),this.rotating&&this.fire(\"rotate\",e),this.pitching&&this.fire(\"pitch\",e)},function(){t.delayEndEvents?this._onEaseEnd=setTimeout(this._easeToEnd.bind(this,e),t.delayEndEvents):this._easeToEnd(e)}.bind(this),t),this},_easeToEnd:function(t){var e=this.zooming;this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\"zoomend\",t),this.fire(\"moveend\",t)},flyTo:function(t,e){function r(t){var e=(k*k-A*A+(t?-1:1)*L*L*T*T)/(2*(t?k:A)*L*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function u(t){return a(t)/s(t)}this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,h=l.convert(t.offset),f=this.getZoom(),d=this.getBearing(),p=this.getPitch(),m=\"center\"in t?o.convert(t.center):this.getCenter(),g=\"zoom\"in t?+t.zoom:f,v=\"bearing\"in t?this._normalizeBearing(t.bearing,d):d,y=\"pitch\"in t?+t.pitch:p;Math.abs(c.center.lng)+Math.abs(m.lng)>180&&(c.center.lng>0&&m.lng<0?m.lng+=360:c.center.lng<0&&m.lng>0&&(m.lng-=360));var b=c.zoomScale(g-f),x=c.point,_=\"center\"in t?c.project(m).sub(h.div(b)):x,w=c.worldSize,M=t.curve,A=Math.max(c.width,c.height),k=A/b,T=_.sub(x).mag();if(\"minZoom\"in t){var E=n.clamp(Math.min(t.minZoom,f,g),c.minZoom,c.maxZoom),S=A/c.zoomScale(E-f);M=Math.sqrt(S/T*2)}var L=M*M,C=r(0),D=function(t){return s(C)/s(C+M*t)},I=function(t){return A*((s(C)*u(C+M*t)-a(C))/L)/T},z=(r(1)-C)/M;if(Math.abs(T)<1e-6){if(Math.abs(A-k)<1e-6)return this.easeTo(t);var P=k<A?-1:1;z=Math.abs(Math.log(k/A))/M,I=function(){return 0},D=function(t){return Math.exp(P*M*t)}}if(\"duration\"in t)t.duration=+t.duration;else{var O=\"screenSpeed\"in t?+t.screenSpeed/M:+t.speed;t.duration=1e3*z/O}return this.zooming=!0,d!==v&&(this.rotating=!0),p!==y&&(this.pitching=!0),this.fire(\"movestart\",e),this.fire(\"zoomstart\",e),this._ease(function(t){var r=t*z,n=I(r);c.zoom=f+c.scaleZoom(1/D(r)),c.center=c.unproject(x.add(_.sub(x).mult(n)),w),this.rotating&&(c.bearing=i(d,v,t)),this.pitching&&(c.pitch=i(p,y,t)),this.fire(\"move\",e),this.fire(\"zoom\",e),this.rotating&&this.fire(\"rotate\",e),this.pitching&&this.fire(\"pitch\",e)},function(){this.zooming=!1,this.rotating=!1,this.pitching=!1,this.fire(\"zoomend\",e),this.fire(\"moveend\",e)},t),this},isEasing:function(){return!!this._abortFn},stop:function(){return this._abortFn&&(this._abortFn(),this._finishEase()),this},_ease:function(t,e,r){this._finishFn=e,this._abortFn=a.timed(function(e){t.call(this,r.easing(e)),1===e&&this._finishEase()},r.animate===!1?0:r.duration,this)},_finishEase:function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},_normalizeBearing:function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)<r&&(t-=360),Math.abs(t+360-e)<r&&(t+=360),t},_updateEasing:function(t,e,r){var i;if(this.ease){var a=this.ease,o=(Date.now()-a.start)/a.duration,s=a.easing(o+.01)-a.easing(o),l=.27/Math.sqrt(s*s+1e-4)*.01,u=Math.sqrt(.0729-l*l);i=n.bezier(l,u,.25,1)}else i=r?n.bezier.apply(n,r):n.ease;return this.ease={start:(new Date).getTime(),to:Math.pow(2,e),duration:t,easing:i},i}})},{\"../geo/lng_lat\":319,\"../geo/lng_lat_bounds\":320,\"../util/browser\":406,\"../util/interpolate\":416,\"../util/util\":422,\"point-geometry\":463}],389:[function(t,e,r){\"use strict\";function n(t){o.setOptions(this,t)}var i=t(\"./control\"),a=t(\"../../util/dom\"),o=t(\"../../util/util\");e.exports=n,n.createAttributionString=function(t){var e=[];for(var r in t){var n=t[r];n.attribution&&e.indexOf(n.attribution)<0&&e.push(n.attribution)}return e.sort(function(t,e){return t.length-e.length}),e=e.filter(function(t,r){for(var n=r+1;n<e.length;n++)if(e[n].indexOf(t)>=0)return!1;return!0}),e.join(\" | \")},n.prototype=o.inherit(i,{options:{position:\"bottom-right\"},onAdd:function(t){var e=this._container=a.create(\"div\",\"mapboxgl-ctrl-attrib\",t.getContainer());return this._update(),t.on(\"source.load\",this._update.bind(this)),t.on(\"source.change\",this._update.bind(this)),t.on(\"source.remove\",this._update.bind(this)),t.on(\"moveend\",this._updateEditLink.bind(this)),e},_update:function(){this._map.style&&(this._container.innerHTML=n.createAttributionString(this._map.style.sources)),this._editLink=this._container.getElementsByClassName(\"mapbox-improve-map\")[0],this._updateEditLink()},_updateEditLink:function(){if(this._editLink){var t=this._map.getCenter();this._editLink.href=\"https://www.mapbox.com/map-feedback/#/\"+t.lng+\"/\"+t.lat+\"/\"+Math.round(this._map.getZoom()+1)}}})},{\"../../util/dom\":408,\"../../util/util\":422,\"./control\":390}],390:[function(t,e,r){\"use strict\";function n(){}var i=t(\"../../util/util\"),a=t(\"../../util/evented\");e.exports=n,n.prototype={addTo:function(t){this._map=t;var e=this._container=this.onAdd(t);if(this.options&&this.options.position){var r=this.options.position,n=t._controlCorners[r];e.className+=\" mapboxgl-ctrl\",r.indexOf(\"bottom\")!==-1?n.insertBefore(e,n.firstChild):n.appendChild(e)}return this},remove:function(){return this._container.parentNode.removeChild(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this}},i.extend(n.prototype,a)},{\"../../util/evented\":414,\"../../util/util\":422}],391:[function(t,e,r){\"use strict\";function n(t){s.setOptions(this,t)}var i=t(\"./control\"),a=t(\"../../util/browser\"),o=t(\"../../util/dom\"),s=t(\"../../util/util\");e.exports=n;var l={enableHighAccuracy:!1,timeout:6e3};n.prototype=s.inherit(i,{options:{position:\"top-right\"},onAdd:function(t){var e=this._container=o.create(\"div\",\"mapboxgl-ctrl-group\",t.getContainer());return a.supportsGeolocation?(this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._geolocateButton=o.create(\"button\",\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)),e):e},_onContextMenu:function(t){t.preventDefault()},_onClickGeolocate:function(){navigator.geolocation.getCurrentPosition(this._success.bind(this),this._error.bind(this),l),this._timeoutId=setTimeout(this._finish.bind(this),1e4)},_success:function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},_error:function(t){this.fire(\"error\",t),this._finish()},_finish:function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}})},{\"../../util/browser\":406,\"../../util/dom\":408,\"../../util/util\":422,\"./control\":390}],392:[function(t,e,r){\"use strict\";function n(t){s.setOptions(this,t)}function i(t){return new MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var a=t(\"./control\"),o=t(\"../../util/dom\"),s=t(\"../../util/util\");e.exports=n,n.prototype=s.inherit(a,{options:{position:\"top-right\"},onAdd:function(t){var e=\"mapboxgl-ctrl\",r=this._container=o.create(\"div\",e+\"-group\",t.getContainer());return this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(e+\"-icon \"+e+\"-zoom-in\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(e+\"-icon \"+e+\"-zoom-out\",t.zoomOut.bind(t)),this._compass=this._createButton(e+\"-icon \"+e+\"-compass\",t.resetNorth.bind(t)),this._compassArrow=o.create(\"div\",\"arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),t.on(\"rotate\",this._rotateCompassArrow.bind(this)),this._rotateCompassArrow(),this._el=t.getCanvasContainer(),r},_onContextMenu:function(t){t.preventDefault()},_onCompassDown:function(t){0===t.button&&(o.disableDrag(),document.addEventListener(\"mousemove\",this._onCompassMove),document.addEventListener(\"mouseup\",this._onCompassUp),this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassMove:function(t){0===t.button&&(this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassUp:function(t){0===t.button&&(document.removeEventListener(\"mousemove\",this._onCompassMove),document.removeEventListener(\"mouseup\",this._onCompassUp),o.enableDrag(),this._el.dispatchEvent(i(t)),t.stopPropagation())},_createButton:function(t,e){var r=o.create(\"button\",t,this._container);return r.type=\"button\",r.addEventListener(\"click\",function(){e()}),r},_rotateCompassArrow:function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t}})},{\"../../util/dom\":408,\"../../util/util\":422,\"./control\":390}],393:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),o.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"../../geo/lng_lat_bounds\"),o=t(\"../../util/util\");e.exports=n,n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},_onMouseDown:function(t){t.shiftKey&&0===t.button&&(document.addEventListener(\"mousemove\",this._onMouseMove,!1),document.addEventListener(\"keydown\",this._onKeyDown,!1),document.addEventListener(\"mouseup\",this._onMouseUp,!1),i.disableDrag(),this._startPos=i.mousePos(this._el,t),this._active=!0)},_onMouseMove:function(t){var e=this._startPos,r=i.mousePos(this._el,t);this._box||(this._box=i.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var n=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y)\n;i.setTransform(this._box,\"translate(\"+n+\"px,\"+o+\"px)\"),this._box.style.width=a-n+\"px\",this._box.style.height=s-o+\"px\"},_onMouseUp:function(t){if(0===t.button){var e=this._startPos,r=i.mousePos(this._el,t),n=new a(this._map.unproject(e),this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\"boxzoomcancel\",t):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:t,boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",t))},_finish:function(){this._active=!1,document.removeEventListener(\"mousemove\",this._onMouseMove,!1),document.removeEventListener(\"keydown\",this._onKeyDown,!1),document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),i.enableDrag()},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})}}},{\"../../geo/lng_lat_bounds\":320,\"../../util/dom\":408,\"../../util/util\":422}],394:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._onDblClick=this._onDblClick.bind(this)}e.exports=n,n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},_onDblClick:function(t){this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)}}},{}],395:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"../../util/util\");e.exports=n;var o=a.bezier(0,0,.3,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},_onDown:function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(document.addEventListener(\"touchmove\",this._onMove),document.addEventListener(\"touchend\",this._onTouchEnd)):(document.addEventListener(\"mousemove\",this._onMove),document.addEventListener(\"mouseup\",this._onMouseUp)),this._active=!1,this._startPos=this._pos=i.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=i.mousePos(this._el,t),r=this._map;r.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),r.transform.setLocationAtPoint(r.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},_onUp:function(t){if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var e=function(){this._fireEvent(\"moveend\",t)}.bind(this),r=this._inertia;if(r.length<2)return void e();var n=r[r.length-1],i=r[0],a=n[1].sub(i[1]),s=(n[0]-i[0])/1e3;if(0===s||n[1].equals(i[1]))return void e();var l=a.mult(.3/s),u=l.mag();u>1400&&(u=1400,l._unit()._mult(u));var c=u/750,h=l.mult(-c/2);this._map.panBy(h,{duration:1e3*c,easing:o,noMoveStart:!0},{originalEvent:t})}},_onMouseUp:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(\"mousemove\",this._onMove),document.removeEventListener(\"mouseup\",this._onMouseUp))},_onTouchEnd:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(\"touchmove\",this._onMove),document.removeEventListener(\"touchend\",this._onTouchEnd))},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;return\"mousemove\"===t.type?t.buttons&!1:0!==t.button},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()}}},{\"../../util/dom\":408,\"../../util/util\":422}],396:[function(t,e,r){\"use strict\";function n(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,o.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"point-geometry\"),o=t(\"../../util/util\");e.exports=n;var s=o.bezier(0,0,.25,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},_onDown:function(t){if(!this._ignoreEvent(t)&&!this.isActive()){document.addEventListener(\"mousemove\",this._onMove),document.addEventListener(\"mouseup\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=i.mousePos(this._el,t),this._center=this._map.transform.centerPoint;var e=this._startPos.sub(this._center);e.mag()<200&&(this._center=this._startPos.add(new a(-200,0)._rotate(e.angle()))),t.preventDefault()}},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t));var e=this._map;e.stop();var r=this._pos,n=i.mousePos(this._el,t),a=this._center,o=r.sub(a).angleWith(n.sub(a))/Math.PI*180,s=e.getBearing()-o,l=this._inertia,u=l[l.length-1];this._drainInertiaBuffer(),l.push([Date.now(),e._normalizeBearing(s,u[1])]),e.transform.bearing=s,this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},_onUp:function(t){if(!this._ignoreEvent(t)&&(document.removeEventListener(\"mousemove\",this._onMove),document.removeEventListener(\"mouseup\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var e=this._map,r=e.getBearing(),n=this._inertia,i=function(){Math.abs(r)<this._bearingSnap?e.resetNorth({noMoveStart:!0},{originalEvent:t}):this._fireEvent(\"moveend\",t)}.bind(this);if(n.length<2)return void i();var a=n[0],o=n[n.length-1],l=n[n.length-2],u=e._normalizeBearing(r,l[1]),c=o[1]-a[1],h=c<0?-1:1,f=(o[0]-a[0])/1e3;if(0===c||0===f)return void i();var d=Math.abs(c*(.25/f));d>180&&(d=180);var p=d/180;u+=h*d*(p/2),Math.abs(e._normalizeBearing(u,0))<this._bearingSnap&&(u=e._normalizeBearing(0,u)),e.rotateTo(u,{duration:1e3*p,easing:s,noMoveStart:!0},{originalEvent:t})}},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragPan&&e.dragPan.isActive())return!0;if(t.touches)return t.touches.length>1;var r=t.ctrlKey?1:2,n=t.ctrlKey?0:2;return\"mousemove\"===t.type?t.buttons&0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()}}},{\"../../util/dom\":408,\"../../util/util\":422,\"point-geometry\":463}],397:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)}e.exports=n;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=this._map,r={originalEvent:t};if(!e.isEasing())switch(t.keyCode){case 61:case 107:case 171:case 187:e.zoomTo(Math.round(e.getZoom())+(t.shiftKey?2:1),r);break;case 189:case 109:case 173:e.zoomTo(Math.round(e.getZoom())-(t.shiftKey?2:1),r);break;case 37:t.shiftKey?e.easeTo({bearing:e.getBearing()-2},r):(t.preventDefault(),e.panBy([-80,0],r));break;case 39:t.shiftKey?e.easeTo({bearing:e.getBearing()+2},r):(t.preventDefault(),e.panBy([80,0],r));break;case 38:t.shiftKey?e.easeTo({pitch:e.getPitch()+5},r):(t.preventDefault(),e.panBy([0,-80],r));break;case 40:t.shiftKey?e.easeTo({pitch:Math.max(e.getPitch()-5,0)},r):(t.preventDefault(),e.panBy([0,80],r))}}}}},{}],398:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),o.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"../../util/browser\"),o=t(\"../../util/util\");e.exports=n;var s=\"undefined\"!=typeof navigator?navigator.userAgent.toLowerCase():\"\",l=s.indexOf(\"firefox\")!==-1,u=s.indexOf(\"safari\")!==-1&&s.indexOf(\"chrom\")===-1;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},_onWheel:function(t){var e;\"wheel\"===t.type?(e=t.deltaY,l&&t.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\"mousewheel\"===t.type&&(e=-t.wheelDeltaY,u&&(e/=3));var r=a.now(),n=r-(this._time||0);this._pos=i.mousePos(this._el,t),this._time=r,0!==e&&e%4.000244140625==0?(this._type=\"wheel\",e=Math.floor(e/4)):0!==e&&Math.abs(e)<4?this._type=\"trackpad\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(n*e)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&this._zoom(-e,t),t.preventDefault()},_onTimeout:function(){this._type=\"wheel\",this._zoom(-this._lastValue)},_zoom:function(t,e){if(0!==t){var r=this._map,n=2/(1+Math.exp(-Math.abs(t/100)));t<0&&0!==n&&(n=1/n);var i=r.ease?r.ease.to:r.transform.scale,a=r.transform.scaleZoom(i*n);r.zoomTo(a,{duration:0,around:r.unproject(this._pos),delayEndEvents:200},{originalEvent:e})}}}},{\"../../util/browser\":406,\"../../util/dom\":408,\"../../util/util\":422}],399:[function(t,e,r){\"use strict\";function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(\"../../util/dom\"),a=t(\"../../util/util\");e.exports=n;var o=a.bezier(0,0,.15,1);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},disableRotation:function(){this._rotationDisabled=!0},enableRotation:function(){this._rotationDisabled=!1},_onStart:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],document.addEventListener(\"touchmove\",this._onMove,!1),document.addEventListener(\"touchend\",this._onEnd,!1)}},_onMove:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]),n=e.add(r).div(2),a=e.sub(r),o=a.mag()/this._startVec.mag(),s=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,l=this._map;if(this._gestureIntent){var u={duration:0,around:l.unproject(n)};\"rotate\"===this._gestureIntent&&(u.bearing=this._startBearing+s),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(u.zoom=l.transform.scaleZoom(this._startScale*o)),l.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),o,n]),l.easeTo(u,{originalEvent:t})}else{var c=Math.abs(1-o)>.15;Math.abs(s)>4?this._gestureIntent=\"rotate\":c&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=a,this._startScale=l.transform.scale,this._startBearing=l.transform.bearing)}t.preventDefault()}},_onEnd:function(t){document.removeEventListener(\"touchmove\",this._onMove),document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)return void r.snapToNorth({},{originalEvent:t});var n=e[e.length-1],i=e[0],a=r.transform.scaleZoom(this._startScale*n[1]),s=r.transform.scaleZoom(this._startScale*i[1]),l=a-s,u=(n[0]-i[0])/1e3,c=n[2];if(0===u||a===s)return void r.snapToNorth({},{originalEvent:t});var h=.15*l/u;Math.abs(h)>2.5&&(h=h>0?2.5:-2.5);var f=1e3*Math.abs(h/(12*.15)),d=a+h*f/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:f,easing:o,around:r.unproject(c)},{originalEvent:t})},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>2&&e-t[0][0]>160;)t.shift()}}},{\"../../util/dom\":408,\"../../util/util\":422}],400:[function(t,e,r){\"use strict\";function n(){i.bindAll([\"_onHashChange\",\"_updateHash\"],this)}e.exports=n;var i=t(\"../util/util\");n.prototype={addTo:function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},remove:function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},_onHashChange:function(){var t=location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0)}),!0)},_updateHash:function(){var t=this._map.getCenter(),e=this._map.getZoom(),r=this._map.getBearing(),n=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),i=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(n)+\"/\"+t.lng.toFixed(n)+(r?\"/\"+Math.round(10*r)/10:\"\");window.history.replaceState(\"\",\"\",i)}}},{\"../util/util\":422}],401:[function(t,e,r){\"use strict\";function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\"../util/canvas\"),a=t(\"../util/util\"),o=t(\"../util/browser\"),s=t(\"../util/browser\").window,l=t(\"../util/evented\"),u=t(\"../util/dom\"),c=t(\"../style/style\"),h=t(\"../style/animation_loop\"),f=t(\"../render/painter\"),d=t(\"../geo/transform\"),p=t(\"./hash\"),m=t(\"./bind_handlers\"),g=t(\"./camera\"),v=t(\"../geo/lng_lat\"),y=t(\"../geo/lng_lat_bounds\"),b=t(\"point-geometry\"),x=t(\"./control/attribution\"),_={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:20,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,workerCount:Math.max(o.hardwareConcurrency-1,1)},w=e.exports=function(t){if(t=a.extend({},_,t),t.workerCount<1)throw new Error(\"workerCount must an integer greater than or equal to 1.\");this._interactive=t.interactive,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._trackResize=t.trackResize,this._workerCount=t.workerCount,this._bearingSnap=t.bearingSnap,\"string\"==typeof t.container?this._container=document.getElementById(t.container):this._container=t.container,this.animationLoop=new h,this.transform=new d(t.minZoom,t.maxZoom),t.maxBounds&&this.setMaxBounds(t.maxBounds),a.bindAll([\"_forwardStyleEvent\",\"_forwardSourceEvent\",\"_forwardLayerEvent\",\"_forwardTileEvent\",\"_onStyleLoad\",\"_onStyleChange\",\"_onSourceAdd\",\"_onSourceRemove\",\"_onSourceUpdate\",\"_onWindowOnline\",\"_onWindowResize\",\"_update\",\"_render\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){this.animationLoop.set(300),this._rerender()}.bind(this)),void 0!==s&&(s.addEventListener(\"online\",this._onWindowOnline,!1),s.addEventListener(\"resize\",this._onWindowResize,!1)),m(this,t),this._hash=t.hash&&(new p).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),this.stacks={},this._classes=[],this.resize(),t.classes&&this.setClasses(t.classes),t.style&&this.setStyle(t.style),t.attributionControl&&this.addControl(new x(t.attributionControl));var e=this.fire.bind(this,\"error\");this.on(\"style.error\",e),this.on(\"source.error\",e),this.on(\"tile.error\",e),this.on(\"layer.error\",e)};a.extend(w.prototype,l),a.extend(w.prototype,g.prototype),a.extend(w.prototype,{addControl:function(t){return t.addTo(this),this},addClass:function(t,e){return this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},removeClass:function(t,e){var r=this._classes.indexOf(t);return r<0||\"\"===t?this:(this._classes.splice(r,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},setClasses:function(t,e){for(var r={},n=0;n<t.length;n++)\"\"!==t[n]&&(r[t[n]]=!0);return this._classes=Object.keys(r),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0)},hasClass:function(t){return this._classes.indexOf(t)>=0},getClasses:function(){return this._classes},resize:function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),this._canvas.resize(t,e),this.transform.resize(t,e),this.painter.resize(t,e),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},getBounds:function(){var t=new y(this.transform.pointLocation(new b(0,0)),this.transform.pointLocation(this.transform.size));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new b(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new b(0,this.transform.size.y)))),t},setMaxBounds:function(t){if(t){var e=y.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},setMinZoom:function(t){if((t=null===t||void 0===t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error(\"minZoom must be between 0 and the current maxZoom, inclusive\")},setMaxZoom:function(t){if((t=null===t||void 0===t?20:t)>=this.transform.minZoom&&t<=20)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be between the current minZoom and 20, inclusive\")},project:function(t){return this.transform.locationPoint(v.convert(t))},unproject:function(t){return this.transform.pointLocation(b.convert(t))},queryRenderedFeatures:function(){var t,e={};return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof b||Array.isArray(t)}(arguments[0])?t=arguments[0]:1===arguments.length&&(e=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle)},_makeQueryGeometry:function(t){void 0===t&&(t=[b.convert([0,0]),b.convert([this.transform.width,this.transform.height])]);var e;if(t instanceof b||\"number\"==typeof t[0])e=[b.convert(t)];else{var r=[b.convert(t[0]),b.convert(t[1])];e=[r[0],new b(r[1].x,r[0].y),r[1],new b(r[0].x,r[1].y),r[0]]}return e=e.map(function(t){return this.transform.pointCoordinate(t)}.bind(this))},querySourceFeatures:function(t,e){return this.style.querySourceFeatures(t,e)},setStyle:function(t){return this.style&&(this.style.off(\"load\",this._onStyleLoad).off(\"error\",this._forwardStyleEvent).off(\"change\",this._onStyleChange).off(\"source.add\",this._onSourceAdd).off(\"source.remove\",this._onSourceRemove).off(\"source.load\",this._onSourceUpdate).off(\"source.error\",this._forwardSourceEvent).off(\"source.change\",this._onSourceUpdate).off(\"layer.add\",this._forwardLayerEvent).off(\"layer.remove\",this._forwardLayerEvent).off(\"layer.error\",this._forwardLayerEvent).off(\"tile.add\",this._forwardTileEvent).off(\"tile.remove\",this._forwardTileEvent).off(\"tile.load\",this._update).off(\"tile.error\",this._forwardTileEvent).off(\"tile.stats\",this._forwardTileEvent)._remove(),this.off(\"rotate\",this.style._redoPlacement),this.off(\"pitch\",this.style._redoPlacement)),t?(this.style=t instanceof c?t:new c(t,this.animationLoop,this._workerCount),this.style.on(\"load\",this._onStyleLoad).on(\"error\",this._forwardStyleEvent).on(\"change\",this._onStyleChange).on(\"source.add\",this._onSourceAdd).on(\"source.remove\",this._onSourceRemove).on(\"source.load\",this._onSourceUpdate).on(\"source.error\",this._forwardSourceEvent).on(\"source.change\",this._onSourceUpdate).on(\"layer.add\",this._forwardLayerEvent).on(\"layer.remove\",this._forwardLayerEvent).on(\"layer.error\",this._forwardLayerEvent).on(\"tile.add\",this._forwardTileEvent).on(\"tile.remove\",this._forwardTileEvent).on(\"tile.load\",this._update).on(\"tile.error\",this._forwardTileEvent).on(\"tile.stats\",this._forwardTileEvent),this.on(\"rotate\",this.style._redoPlacement),this.on(\"pitch\",this.style._redoPlacement),this):(this.style=null,this)},getStyle:function(){if(this.style)return this.style.serialize()},addSource:function(t,e){return this.style.addSource(t,e),this._update(!0),this},addSourceType:function(t,e,r){return this.style.addSourceType(t,e,r)},removeSource:function(t){return this.style.removeSource(t),this._update(!0),this},getSource:function(t){return this.style.getSource(t)},addLayer:function(t,e){return this.style.addLayer(t,e),this._update(!0),this},removeLayer:function(t){return this.style.removeLayer(t),this._update(!0),this},getLayer:function(t){return this.style.getLayer(t)},setFilter:function(t,e){return this.style.setFilter(t,e),this._update(!0),this},setLayerZoomRange:function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},getFilter:function(t){return this.style.getFilter(t)},setPaintProperty:function(t,e,r,n){return this.style.setPaintProperty(t,e,r,n),this._update(!0),this},getPaintProperty:function(t,e,r){return this.style.getPaintProperty(t,e,r)},setLayoutProperty:function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},getLayoutProperty:function(t,e){return this.style.getLayoutProperty(t,e)},getContainer:function(){return this._container},getCanvasContainer:function(){return this._canvasContainer},getCanvas:function(){return this._canvas.getElement()},_setupContainer:function(){var t=this._container;t.classList.add(\"mapboxgl-map\");var e=this._canvasContainer=u.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=new i(this,e);var r=this._controlContainer=u.create(\"div\",\"mapboxgl-control-container\",t),n=this._controlCorners={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){n[t]=u.create(\"div\",\"mapboxgl-ctrl-\"+t,r)})},_setupPainter:function(){var t=this._canvas.getWebGLContext({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer});if(!t)return void this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")});this.painter=new f(t,this.transform)},_contextLost:function(t){t.preventDefault(),this._frameId&&o.cancelFrame(this._frameId),this.fire(\"webglcontextlost\",{originalEvent:t})},_contextRestored:function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},loaded:function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},_update:function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},_render:function(){try{this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{debug:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,vertices:this.vertices,rotating:this.rotating,zooming:this.zooming}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender()}catch(t){this.fire(\"error\",{error:t})}return this},remove:function(){this._hash&&this._hash.remove(),o.cancelFrame(this._frameId),this.setStyle(null),void 0!==s&&s.removeEventListener(\"resize\",this._onWindowResize,!1);var t=this.painter.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),this._container.classList.remove(\"mapboxgl-map\")},_rerender:function(){this.style&&!this._frameId&&(this._frameId=o.frame(this._render))},_forwardStyleEvent:function(t){this.fire(\"style.\"+t.type,a.extend({style:t.target},t))},_forwardSourceEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardLayerEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardTileEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_onStyleLoad:function(t){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1}),this._forwardStyleEvent(t)},_onStyleChange:function(t){this._update(!0),this._forwardStyleEvent(t)},_onSourceAdd:function(t){var e=t.source;e.onAdd&&e.onAdd(this),this._forwardSourceEvent(t)},_onSourceRemove:function(t){var e=t.source;e.onRemove&&e.onRemove(this),this._forwardSourceEvent(t)},_onSourceUpdate:function(t){this._update(),this._forwardSourceEvent(t)},_onWindowOnline:function(){this._update()},_onWindowResize:function(){this._trackResize&&this.stop().resize()._update()}}),a.extendAll(w.prototype,{_showTileBoundaries:!1,get showTileBoundaries(){return this._showTileBoundaries},set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},_showCollisionBoxes:!1,get showCollisionBoxes(){return this._showCollisionBoxes},set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},_showOverdrawInspector:!1,get showOverdrawInspector(){return this._showOverdrawInspector},set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},_repaint:!1,get repaint(){return this._repaint},set repaint(t){this._repaint=t,this._update()},_vertices:!1,get vertices(){return this._vertices},set vertices(t){this._vertices=t,this._update()}})},{\"../geo/lng_lat\":319,\"../geo/lng_lat_bounds\":320,\"../geo/transform\":321,\"../render/painter\":335,\"../style/animation_loop\":355,\"../style/style\":358,\"../util/browser\":406,\"../util/canvas\":407,\"../util/dom\":408,\"../util/evented\":414,\"../util/util\":422,\"./bind_handlers\":387,\"./camera\":388,\"./control/attribution\":389,\"./hash\":400,\"point-geometry\":463}],402:[function(t,e,r){\"use strict\";function n(t,e){t||(t=i.create(\"div\")),t.classList.add(\"mapboxgl-marker\"),this._el=t,this._offset=o.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this)}e.exports=n;var i=t(\"../util/dom\"),a=t(\"../geo/lng_lat\"),o=t(\"point-geometry\");n.prototype={addTo:function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._el),t.on(\"move\",this._update),this._update(),this},remove:function(){this._map&&(this._map.off(\"move\",this._update),this._map=null);var t=this._el.parentNode;return t&&t.removeChild(this._el),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=a.convert(t),this._update(),this},getElement:function(){return this._el},_update:function(){if(this._map){var t=this._map.project(this._lngLat)._add(this._offset);i.setTransform(this._el,\"translate(\"+t.x+\"px,\"+t.y+\"px)\")}}}},{\"../geo/lng_lat\":319,\"../util/dom\":408,\"point-geometry\":463}],403:[function(t,e,r){\"use strict\";function n(t){i.setOptions(this,t),i.bindAll([\"_update\",\"_onClickClose\"],this)}e.exports=n;var i=t(\"../util/util\"),a=t(\"../util/evented\"),o=t(\"../util/dom\"),s=t(\"../geo/lng_lat\");n.prototype=i.inherit(a,{options:{closeButton:!0,closeOnClick:!0},addTo:function(t){return this._map=t,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this},remove:function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(\"close\"),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=s.convert(t),this._update(),this},setText:function(t){return this.setDOMContent(document.createTextNode(t))},setHTML:function(t){var e,r=document.createDocumentFragment(),n=document.createElement(\"body\");for(n.innerHTML=t;;){if(!(e=n.firstChild))break;r.appendChild(e)}return this.setDOMContent(r)},setDOMContent:function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},_createContent:function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=o.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClickClose))},_update:function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content));var t=this._map.project(this._lngLat).round(),e=this.options.anchor;if(!e){var r=this._container.offsetWidth,n=this._container.offsetHeight;e=t.y<n?[\"top\"]:t.y>this._map.transform.height-n?[\"bottom\"]:[],t.x<r/2?e.push(\"left\"):t.x>this._map.transform.width-r/2&&e.push(\"right\"),e=0===e.length?\"bottom\":e.join(\"-\")}var i={top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"},a=this._container.classList;for(var s in i)a.remove(\"mapboxgl-popup-anchor-\"+s);a.add(\"mapboxgl-popup-anchor-\"+e),o.setTransform(this._container,i[e]+\" translate(\"+t.x+\"px,\"+t.y+\"px)\")}},_onClickClose:function(){this.remove()}})},{\"../geo/lng_lat\":319,\"../util/dom\":408,\"../util/evented\":414,\"../util/util\":422}],404:[function(t,e,r){\"use strict\";function n(t,e){this.target=t,this.parent=e,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)}e.exports=n,n.prototype.receive=function(t){function e(t,e,r){this.postMessage({type:\"<response>\",id:String(i),error:t?String(t):null,data:e},r)}var r,n=t.data,i=n.id;if(\"<response>\"===n.type)r=this.callbacks[n.id],delete this.callbacks[n.id],r&&r(n.error||null,n.data);else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.data,e.bind(this));else if(void 0!==n.id&&this.parent.workerSources){var a=n.type.split(\".\");this.parent.workerSources[a[0]][a[1]](n.data,e.bind(this))}else this.parent[n.type](n.data)},n.prototype.send=function(t,e,r,n){var i=null;r&&(this.callbacks[i=this.callbackID++]=r),this.postMessage({type:t,id:String(i),data:e},n)},n.prototype.postMessage=function(t,e){this.target.postMessage(t,e)}},{}],405:[function(t,e,r){\"use strict\";function n(t){var e=document.createElement(\"a\");return e.href=t,e.protocol===document.location.protocol&&e.host===document.location.host}r.getJSON=function(t,e){var r=new XMLHttpRequest;return r.open(\"GET\",t,!0),r.setRequestHeader(\"Accept\",\"application/json\"),r.onerror=function(t){e(t)},r.onload=function(){\nif(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new Error(r.statusText))},r.send(),r},r.getArrayBuffer=function(t,e){var r=new XMLHttpRequest;return r.open(\"GET\",t,!0),r.responseType=\"arraybuffer\",r.onerror=function(t){e(t)},r.onload=function(){r.status>=200&&r.status<300&&r.response?e(null,r.response):e(new Error(r.statusText))},r.send(),r},r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)return e(t);var n=new Image;n.onload=function(){e(null,n),(window.URL||window.webkitURL).revokeObjectURL(n.src)};var i=new Blob([new Uint8Array(r)],{type:\"image/png\"});return n.src=(window.URL||window.webkitURL).createObjectURL(i),n.getData=function(){var t=document.createElement(\"canvas\"),e=t.getContext(\"2d\");return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height).data},n})},r.getVideo=function(t,e){var r=document.createElement(\"video\");r.onloadstart=function(){e(null,r)};for(var i=0;i<t.length;i++){var a=document.createElement(\"source\");n(t[i])||(r.crossOrigin=\"Anonymous\"),a.src=t[i],r.appendChild(a)}return r.getData=function(){return r},r}},{}],406:[function(t,e,r){\"use strict\";r.window=window,e.exports.now=function(){return window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now.bind(Date)}();var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;r.frame=function(t){return n(t)};var i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r.cancelFrame=function(t){i(t)},r.timed=function(t,n,i){function a(l){o||(l=e.exports.now(),l>=s+n?t.call(i,1):(t.call(i,(l-s)/n),r.frame(a)))}if(!n)return t.call(i,1),null;var o=!1,s=e.exports.now();return r.frame(a),function(){o=!0}},r.supported=t(\"mapbox-gl-supported\"),r.hardwareConcurrency=navigator.hardwareConcurrency||4,Object.defineProperty(r,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),r.supportsWebp=!1;var a=document.createElement(\"img\");a.onload=function(){r.supportsWebp=!0},a.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\",r.supportsGeolocation=!!navigator.geolocation},{\"mapbox-gl-supported\":307}],407:[function(t,e,r){\"use strict\";function n(t,e){this.canvas=document.createElement(\"canvas\"),t&&e&&(this.canvas.style.position=\"absolute\",this.canvas.classList.add(\"mapboxgl-canvas\"),this.canvas.addEventListener(\"webglcontextlost\",t._contextLost.bind(t),!1),this.canvas.addEventListener(\"webglcontextrestored\",t._contextRestored.bind(t),!1),this.canvas.setAttribute(\"tabindex\",0),e.appendChild(this.canvas))}var i=t(\"../util\"),a=t(\"mapbox-gl-supported\");e.exports=n,n.prototype.resize=function(t,e){var r=window.devicePixelRatio||1;this.canvas.width=r*t,this.canvas.height=r*e,this.canvas.style.width=t+\"px\",this.canvas.style.height=e+\"px\"},n.prototype.getWebGLContext=function(t){return t=i.extend({},t,a.webGLContextAttributes),this.canvas.getContext(\"webgl\",t)||this.canvas.getContext(\"experimental-webgl\",t)},n.prototype.getElement=function(){return this.canvas}},{\"../util\":422,\"mapbox-gl-supported\":307}],408:[function(t,e,r){\"use strict\";function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e]}function i(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(\"click\",i,!0)}var a=t(\"point-geometry\");r.create=function(t,e,r){var n=document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n};var o,s=document.documentElement.style,l=n([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);r.disableDrag=function(){l&&(o=s[l],s[l]=\"none\")},r.enableDrag=function(){l&&(s[l]=o)};var u=n([\"transform\",\"WebkitTransform\"]);r.setTransform=function(t,e){t.style[u]=e},r.suppressClick=function(){window.addEventListener(\"click\",i,!0),window.setTimeout(function(){window.removeEventListener(\"click\",i,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new a(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],i=0;i<e.touches.length;i++)n.push(new a(e.touches[i].clientX-r.left-t.clientLeft,e.touches[i].clientY-r.top-t.clientTop));return n}},{\"point-geometry\":463}],409:[function(t,e,r){\"use strict\";var n=t(\"webworkify\");e.exports=function(){return new n(t(\"../../source/worker\"))}},{\"../../source/worker\":353,webworkify:542}],410:[function(t,e,r){\"use strict\";function n(t,e){return e.area-t.area}function i(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}var a=t(\"quickselect\");e.exports=function(t,e){var r=t.length;if(r<=1)return[t];for(var o,s,l=[],u=0;u<r;u++){var c=i(t[u]);0!==c&&(t[u].area=Math.abs(c),void 0===s&&(s=c<0),s===c<0?(o&&l.push(o),o=[t[u]]):o.push(t[u]))}if(o&&l.push(o),e>1)for(var h=0;h<l.length;h++)l[h].length<=e||(a(l[h],e,1,l[h].length-1,n),l[h]=l[h].slice(0,e));return l}},{quickselect:472}],411:[function(t,e,r){\"use strict\";e.exports={API_URL:\"https://api.mapbox.com\",REQUIRE_ACCESS_TOKEN:!0}},{}],412:[function(t,e,r){\"use strict\";function n(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}}var i=t(\"assert\");e.exports=n,n.prototype.encode=function(t){return i(t in this._stringToNumber),this._stringToNumber[t]},n.prototype.decode=function(t){return i(t<this._numberToString.length),this._numberToString[t]}},{assert:37}],413:[function(t,e,r){\"use strict\";function n(t,e){this.actors=[],this.currentActor=0;for(var r=0;r<t;r++){var n=new o,i=new a(n,e);i.name=\"Worker \"+r,this.actors.push(i)}}var i=t(\"./util\"),a=t(\"./actor\"),o=t(\"./web_worker\");e.exports=n,n.prototype={broadcast:function(t,e,r){r=r||function(){},i.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},send:function(t,e,r,n,i){return(\"number\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r,i),n},remove:function(){for(var t=0;t<this.actors.length;t++)this.actors[t].target.terminate();this.actors=[]}}},{\"./actor\":404,\"./util\":422,\"./web_worker\":409}],414:[function(t,e,r){\"use strict\";var n=t(\"./util\"),i={on:function(t,e){return this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e),this},off:function(t,e){if(!t)return delete this._events,this;if(!this.listens(t))return this;if(e){var r=this._events[t].indexOf(e);r>=0&&this._events[t].splice(r,1),this._events[t].length||delete this._events[t]}else delete this._events[t];return this},once:function(t,e){var r=function(n){this.off(t,r),e.call(this,n)}.bind(this);return this.on(t,r),this},fire:function(t,e){if(!this.listens(t))return n.endsWith(t,\"error\")&&console.error(e&&e.error||e||\"Empty error event\"),this;e=n.extend({},e),n.extend(e,{type:t,target:this});for(var r=this._events[t].slice(),i=0;i<r.length;i++)r[i].call(this,e);return this},listens:function(t){return!(!this._events||!this._events[t])}};e.exports=i},{\"./util\":422}],415:[function(t,e,r){\"use strict\";function n(t,e){this.stacks=t.readFields(i,[],e)}function i(t,e,r){if(1===t){var n=r.readMessage(a,{glyphs:{}});e.push(n)}}function a(t,e,r){if(1===t)e.name=r.readString();else if(2===t)e.range=r.readString();else if(3===t){var n=r.readMessage(o,{});e.glyphs[n.id]=n}}function o(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}e.exports=n},{}],416:[function(t,e,r){\"use strict\";function n(t,e,r){return t*(1-r)+e*r}e.exports=n,n.number=n,n.vec2=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r)]},n.color=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r),n(t[2],e[2],r),n(t[3],e[3],r)]},n.array=function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}},{}],417:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s];if(d(i,l))return!0;if(c(l,i,r))return!0}return!1}function i(t,e){if(1===t.length&&1===t[0].length)return f(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(f(t,n[i]))return!0;for(var a=0;a<t.length;a++){for(var o=t[a],l=0;l<o.length;l++)if(f(e,o[l]))return!0;for(var u=0;u<e.length;u++)if(s(o,e[u]))return!0}return!1}function a(t,e,r){for(var n=0;n<e.length;n++)for(var i=e[n],a=0;a<t.length;a++){var s=t[a];if(s.length>=3)for(var l=0;l<i.length;l++)if(d(s,i[l]))return!0;if(o(s,i,r))return!0}return!1}function o(t,e,r){if(t.length>1){if(s(t,e))return!0;for(var n=0;n<e.length;n++)if(c(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(c(t[i],e,r))return!0;return!1}function s(t,e){for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++){var o=e[a],s=e[a+1];if(u(n,i,o,s))return!0}return!1}function l(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function u(t,e,r,n){return l(t,r,n)!==l(e,r,n)&&l(t,e,r)!==l(t,e,n)}function c(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++){if(h(t,e[i-1],e[i])<n)return!0}return!1}function h(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function f(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++){r=t[o];for(var s=0,l=r.length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function d(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}e.exports={multiPolygonIntersectsBufferedMultiPoint:n,multiPolygonIntersectsMultiPolygon:i,multiPolygonIntersectsBufferedMultiLine:a}},{}],418:[function(t,e,r){\"use strict\";function n(t,e){this.max=t,this.onRemove=e,this.reset()}e.exports=n,n.prototype.reset=function(){for(var t in this.data)this.onRemove(this.data[t]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this.get(this.order[0]);e&&this.onRemove(e)}return this}},{}],419:[function(t,e,r){\"use strict\";function n(t,e,r){if(!(r=r||o.ACCESS_TOKEN)&&o.REQUIRE_ACCESS_TOKEN)throw new Error(\"An API access token is required to use Mapbox GL. See https://www.mapbox.com/developers/api/#access-tokens\");if(t=t.replace(/^mapbox:\\/\\//,o.API_URL+e),t+=t.indexOf(\"?\")!==-1?\"&access_token=\":\"?access_token=\",o.REQUIRE_ACCESS_TOKEN){if(\"s\"===r[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL JS, not a secret access token (sk.*). See https://www.mapbox.com/developers/api/#access-tokens\");t+=r}return t}function i(t){return t?\"?\"+t:\"\"}function a(t){return t.access_token&&\"tk.\"===t.access_token.slice(0,3)?u.extend({},t,{access_token:o.ACCESS_TOKEN}):t}var o=t(\"./config\"),s=t(\"./browser\"),l=t(\"url\"),u=t(\"./util\");e.exports.normalizeStyleURL=function(t,e){var r=l.parse(t);return\"mapbox:\"!==r.protocol?t:n(\"mapbox:/\"+r.pathname+i(r.query),\"/styles/v1/\",e)},e.exports.normalizeSourceURL=function(t,e){return\"mapbox:\"!==l.parse(t).protocol?t:n(t+\".json\",\"/v4/\",e)+\"&secure\"},e.exports.normalizeGlyphsURL=function(t,e){var r=l.parse(t);return\"mapbox:\"!==r.protocol?t:n(\"mapbox://\"+r.pathname.split(\"/\")[1]+\"/{fontstack}/{range}.pbf\"+i(r.query),\"/fonts/v1/\",e)},e.exports.normalizeSpriteURL=function(t,e,r,a){var o=l.parse(t);return\"mapbox:\"!==o.protocol?(o.pathname+=e+r,l.format(o)):n(\"mapbox:/\"+o.pathname+\"/sprite\"+e+r+i(o.query),\"/styles/v1/\",a)},e.exports.normalizeTileURL=function(t,e,r){var n=l.parse(t,!0);if(!e)return t;if(\"mapbox:\"!==l.parse(e).protocol)return t;var i=s.supportsWebp?\".webp\":\"$1\",o=s.devicePixelRatio>=2||512===r?\"@2x\":\"\";return l.format({protocol:n.protocol,hostname:n.hostname,pathname:n.pathname.replace(/(\\.(?:png|jpg)\\d*)/,o+i),query:a(n.query)})}},{\"./browser\":406,\"./config\":411,\"./util\":422,url:523}],420:[function(t,e,r){\"use strict\";function n(t){function e(){f.apply(this,arguments)}function r(){d.apply(this,arguments),this.members=e.prototype.members}var n=JSON.stringify(t);if(g[n])return g[n];void 0===t.alignment&&(t.alignment=1),e.prototype=Object.create(f.prototype);var s=0,u=0,v=[\"Uint8\"];return e.prototype.members=t.members.map(function(r){r={name:r.name,type:r.type,components:r.components||1},p(r.name.length),p(r.type in m),v.indexOf(r.type)<0&&v.push(r.type);var n=o(r.type);u=Math.max(u,n),r.offset=s=a(s,Math.max(t.alignment,n));for(var i=0;i<r.components;i++)Object.defineProperty(e.prototype,r.name+(1===r.components?\"\":i),{get:c(r,i),set:h(r,i)});return s+=n*r.components,r}),e.prototype.alignment=t.alignment,e.prototype.size=a(s,Math.max(u,t.alignment)),r.serialize=i,r.prototype=Object.create(d.prototype),r.prototype.StructType=e,r.prototype.bytesPerElement=e.prototype.size,r.prototype.emplaceBack=l(e.prototype.members,e.prototype.size),r.prototype._usedTypes=v,g[n]=r,r}function i(){return{members:this.prototype.StructType.prototype.members,alignment:this.prototype.StructType.prototype.alignment,bytesPerElement:this.prototype.bytesPerElement}}function a(t,e){return Math.ceil(t/e)*e}function o(t){return m[t].BYTES_PER_ELEMENT}function s(t){return t.toLowerCase()}function l(t,e){for(var r=[],n=[],i=\"var i = this.length;\\nthis.resize(this.length + 1);\\n\",a=0;a<t.length;a++){var l=t[a],u=o(l.type);r.indexOf(u)<0&&(r.push(u),i+=\"var o\"+u.toFixed(0)+\" = i * \"+(e/u).toFixed(0)+\";\\n\");for(var c=0;c<l.components;c++){var h=\"v\"+n.length,f=\"o\"+u.toFixed(0)+\" + \"+(l.offset/u+c).toFixed(0);i+=\"this.\"+s(l.type)+\"[\"+f+\"] = \"+h+\";\\n\",n.push(h)}}return i+=\"return i;\",new Function(n,i)}function u(t,e){var r=\"this._pos\"+o(t.type).toFixed(0),n=(t.offset/o(t.type)+e).toFixed(0),i=r+\" + \"+n;return\"this._structArray.\"+s(t.type)+\"[\"+i+\"]\"}function c(t,e){return new Function([],\"return \"+u(t,e)+\";\")}function h(t,e){return new Function([\"x\"],u(t,e)+\" = x;\")}function f(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}function d(t){void 0!==t?(this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.capacity=this.arrayBuffer.byteLength/this.bytesPerElement,this._refreshViews()):(this.capacity=-1,this.resize(0))}var p=t(\"assert\");e.exports=n;var m={Int8:Int8Array,Uint8:Uint8Array,Uint8Clamped:Uint8ClampedArray,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array,Float64:Float64Array},g={};d.prototype.DEFAULT_CAPACITY=128,d.prototype.RESIZE_MULTIPLIER=5,d.prototype.serialize=function(){return this.trim(),{length:this.length,arrayBuffer:this.arrayBuffer}},d.prototype.get=function(t){return new this.StructType(this,t)},d.prototype.trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},d.prototype.resize=function(t){if(this.length=t,t>this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*this.RESIZE_MULTIPLIER),this.DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},d.prototype._refreshViews=function(){for(var t=0;t<this._usedTypes.length;t++){var e=this._usedTypes[t];this[s(e)]=new m[e](this.arrayBuffer)}},d.prototype.toArray=function(t,e){for(var r=[],n=t;n<e;n++){var i=this.get(n);r.push(i)}return r}},{assert:37}],421:[function(t,e,r){\"use strict\";function n(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?t[r]:\"\"})}e.exports=n},{}],422:[function(t,e,r){\"use strict\";var n=t(\"unitbezier\"),i=t(\"../geo/coordinate\");r.easeCubicInOut=function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.coalesce=function(){for(var t=0;t<arguments.length;t++){var e=arguments[t];if(null!==e&&void 0!==e)return e}},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t},r.extendAll=function(t,e){for(var r in e)Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},r.inherit=function(t,e){var n=\"function\"==typeof t?t.prototype:t,i=Object.create(n);return r.extendAll(i,e),i},r.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.debounce=function(t,e){var r,n;return function(){n=arguments,clearTimeout(r),r=setTimeout(function(){t.apply(null,n)},e)}},r.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},r.bindHandlers=function(t){for(var e in t)\"function\"==typeof t[e]&&0===e.indexOf(\"_on\")&&(t[e]=t[e].bind(t))},r.setOptions=function(t,e){t.hasOwnProperty(\"options\")||(t.options=t.options?Object.create(t.options):{});for(var r in e)t.options[r]=e[r];return t.options},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-(1/0),a=-(1/0),o=0;o<t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,u=Math.max(s,l);return new i((e+n)/2,(r+a)/2,0).zoomTo(Math.floor(-Math.log(u)/Math.LN2))},r.endsWith=function(t,e){return t.indexOf(e,t.length-e.length)!==-1},r.startsWith=function(t,e){return 0===t.indexOf(e)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n},r.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\"object\"==typeof t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(\"undefined\"!=typeof console&&console.warn(t),o[t]=!0)}},{\"../geo/coordinate\":318,unitbezier:522}],423:[function(t,e,r){\"use strict\";function n(t,e,r,n){this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)}e.exports=n,n.prototype={type:\"Feature\",get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},set geometry(t){this._geometry=t},toJSON:function(){var t={};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&\"toJSON\"!==e&&(t[e]=this[e]);return t}}},{}],424:[function(t,e,r){e.exports={_args:[[{raw:\"mapbox-gl@^0.22.0\",scope:null,escapedName:\"mapbox-gl\",name:\"mapbox-gl\",rawSpec:\"^0.22.0\",spec:\">=0.22.0 <0.23.0\",type:\"range\"},\"/home/etienne/Documents/plotly/plotly.js\"]],_from:\"mapbox-gl@>=0.22.0 <0.23.0\",_id:\"mapbox-gl@0.22.1\",_inCache:!0,_location:\"/mapbox-gl\",_nodeVersion:\"4.4.5\",_npmOperationalInternal:{host:\"packages-12-west.internal.npmjs.com\",tmp:\"tmp/mapbox-gl-0.22.1.tgz_1471549891670_0.8762630566488951\"},_npmUser:{name:\"lucaswoj\",email:\"lucas@lucaswoj.com\"},_npmVersion:\"2.15.5\",_phantomChildren:{},_requested:{raw:\"mapbox-gl@^0.22.0\",scope:null,escapedName:\"mapbox-gl\",name:\"mapbox-gl\",rawSpec:\"^0.22.0\",spec:\">=0.22.0 <0.23.0\",type:\"range\"},_requiredBy:[\"/\"],_resolved:\"https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz\",_shasum:\"92a965547d4c2f24c22cbc487eeda48694cb627a\",_shrinkwrap:null,_spec:\"mapbox-gl@^0.22.0\",_where:\"/home/etienne/Documents/plotly/plotly.js\",browser:{\"./js/util/ajax.js\":\"./js/util/browser/ajax.js\",\"./js/util/browser.js\":\"./js/util/browser/browser.js\",\"./js/util/canvas.js\":\"./js/util/browser/canvas.js\",\"./js/util/dom.js\":\"./js/util/browser/dom.js\",\"./js/util/web_worker.js\":\"./js/util/browser/web_worker.js\"},bugs:{url:\"https://github.com/mapbox/mapbox-gl-js/issues\"},dependencies:{csscolorparser:\"^1.0.2\",earcut:\"^2.0.3\",\"feature-filter\":\"^2.2.0\",\"geojson-rewind\":\"^0.1.0\",\"geojson-vt\":\"^2.4.0\",\"gl-matrix\":\"^2.3.1\",\"grid-index\":\"^1.0.0\",\"mapbox-gl-function\":\"^1.2.1\",\"mapbox-gl-shaders\":\"github:mapbox/mapbox-gl-shaders#de2ab007455aa2587c552694c68583f94c9f2747\",\"mapbox-gl-style-spec\":\"github:mapbox/mapbox-gl-style-spec#83b1a3e5837d785af582efd5ed1a212f2df6a4ae\",\"mapbox-gl-supported\":\"^1.2.0\",pbf:\"^1.3.2\",pngjs:\"^2.2.0\",\"point-geometry\":\"^0.0.0\",quickselect:\"^1.0.0\",request:\"^2.39.0\",\"resolve-url\":\"^0.2.1\",\"shelf-pack\":\"^1.0.0\",supercluster:\"^2.0.1\",unassertify:\"^2.0.0\",unitbezier:\"^0.0.0\",\"vector-tile\":\"^1.3.0\",\"vt-pbf\":\"^2.0.2\",webworkify:\"^1.3.0\",\"whoots-js\":\"^2.0.0\"},description:\"A WebGL interactive maps library\",devDependencies:{\"babel-preset-react\":\"^6.11.1\",babelify:\"^7.3.0\",benchmark:\"~2.1.0\",browserify:\"^13.0.0\",clipboard:\"^1.5.12\",\"concat-stream\":\"1.5.1\",coveralls:\"^2.11.8\",doctrine:\"^1.2.1\",documentation:\"https://github.com/documentationjs/documentation/archive/bb41619c734e59ef3fbc3648610032efcfdaaace.tar.gz\",\"documentation-theme-utils\":\"3.0.0\",envify:\"^3.4.0\",eslint:\"^2.5.3\",\"eslint-config-mourner\":\"^2.0.0\",\"eslint-plugin-html\":\"^1.5.1\",gl:\"^4.0.1\",handlebars:\"4.0.5\",\"highlight.js\":\"9.3.0\",istanbul:\"^0.4.2\",\"json-loader\":\"^0.5.4\",lodash:\"^4.13.1\",\"mapbox-gl-test-suite\":\"github:mapbox/mapbox-gl-test-suite#7babab52fb02788ebbc38384139bf350e8e38552\",\"memory-fs\":\"^0.3.0\",minifyify:\"^7.0.1\",\"npm-run-all\":\"^3.0.0\",nyc:\"6.4.0\",proxyquire:\"^1.7.9\",remark:\"4.2.2\",\"remark-html\":\"3.0.0\",sinon:\"^1.15.4\",st:\"^1.2.0\",tap:\"^5.7.0\",\"transform-loader\":\"^0.2.3\",\"unist-util-visit\":\"1.1.0\",vinyl:\"1.1.1\",\"vinyl-fs\":\"2.4.3\",watchify:\"^3.7.0\",webpack:\"^1.13.1\",\"webworkify-webpack\":\"^1.1.3\"},directories:{},dist:{shasum:\"92a965547d4c2f24c22cbc487eeda48694cb627a\",tarball:\"https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz\"},engines:{node:\">=4.0.0\"},gitHead:\"13a9015341f0602ccb55c98c53079838ad4b70b5\",homepage:\"https://github.com/mapbox/mapbox-gl-js#readme\",license:\"BSD-3-Clause\",main:\"js/mapbox-gl.js\",maintainers:[{name:\"aaronlidman\",email:\"aaronlidman@gmail.com\"},{name:\"ajashton\",email:\"aj.ashton@gmail.com\"},{name:\"ansis\",email:\"ansis.brammanis@gmail.com\"},{name:\"bergwerkgis\",email:\"wb@bergwerk-gis.at\"},{name:\"bhousel\",email:\"bryan@mapbox.com\"},{name:\"bsudekum\",email:\"bobby@mapbox.com\"},{name:\"camilleanne\",email:\"camille@mapbox.com\"},{name:\"dnomadb\",email:\"damon@mapbox.com\"},{name:\"dthompson\",email:\"dthompson@gmail.com\"},{name:\"emilymcafee\",email:\"emily@mapbox.com\"},{name:\"flippmoke\",email:\"flippmoke@gmail.com\"},{name:\"freenerd\",email:\"spam@freenerd.de\"},{name:\"gretacb\",email:\"carol@mapbox.com\"},{name:\"ian29\",email:\"ian.villeda@gmail.com\"},{name:\"ianshward\",email:\"ian@mapbox.com\"},{name:\"ingalls\",email:\"nicholas.ingalls@gmail.com\"},{name:\"jfirebaugh\",email:\"john.firebaugh@gmail.com\"},{name:\"jrpruit1\",email:\"jake@jakepruitt.com\"},{name:\"karenzshea\",email:\"karen@mapbox.com\"},{name:\"kkaefer\",email:\"kkaefer@gmail.com\"},{name:\"lbud\",email:\"lauren@mapbox.com\"},{name:\"lucaswoj\",email:\"lucas@lucaswoj.com\"},{name:\"lxbarth\",email:\"alex@mapbox.com\"},{name:\"lyzidiamond\",email:\"lyzi@mapbox.com\"},{name:\"mapbox-admin\",email:\"accounts@mapbox.com\"},{name:\"mateov\",email:\"matt@mapbox.com\"},{name:\"mcwhittemore\",email:\"mcwhittemore@gmail.com\"},{name:\"miccolis\",email:\"jeff@miccolis.net\"},{name:\"mikemorris\",email:\"michael.patrick.morris@gmail.com\"},{name:\"morganherlocker\",email:\"morgan.herlocker@gmail.com\"},{name:\"mourner\",email:\"agafonkin@gmail.com\"},{name:\"nickidlugash\",email:\"nicki@mapbox.com\"},{name:\"rclark\",email:\"ryan.clark.j@gmail.com\"},{name:\"samanbb\",email:\"saman@mapbox.com\"},{name:\"sbma44\",email:\"tlee@mapbox.com\"},{name:\"scothis\",email:\"scothis@gmail.com\"},{name:\"sgillies\",email:\"sean@mapbox.com\"},{name:\"springmeyer\",email:\"dane@mapbox.com\"},{name:\"themarex\",email:\"patrick@mapbox.com\"},{name:\"tmcw\",email:\"tom@macwright.org\"},{name:\"tristen\",email:\"tristen.brown@gmail.com\"},{name:\"willwhite\",email:\"will@mapbox.com\"},{name:\"yhahn\",email:\"young@mapbox.com\"}],name:\"mapbox-gl\",optionalDependencies:{},readme:\"ERROR: No README data found!\",repository:{type:\"git\",url:\"git://github.com/mapbox/mapbox-gl-js.git\"},scripts:{build:\"npm run build-docs # invoked by publisher when publishing docs on the mb-pages branch\",\"build-dev\":\"browserify js/mapbox-gl.js --debug --standalone mapboxgl > dist/mapbox-gl-dev.js && tap --no-coverage test/build/dev.test.js\",\"build-docs\":\"documentation build --github --format html -c documentation.yml --theme ./docs/_theme --output docs/api/\",\"build-min\":\"browserify js/mapbox-gl.js --debug -t unassertify --plugin [minifyify --map mapbox-gl.js.map --output dist/mapbox-gl.js.map] --standalone mapboxgl > dist/mapbox-gl.js && tap --no-coverage test/build/min.test.js\",\"build-token\":\"browserify debug/access-token-src.js --debug -t envify > debug/access-token.js\",lint:\"eslint  --ignore-path .gitignore js test bench docs/_posts/examples/*.html\",\"open-changed-examples\":\"git diff --name-only mb-pages HEAD -- docs/_posts/examples/*.html | awk '{print \\\"http://127.0.0.1:4000/mapbox-gl-js/example/\\\" substr($0,33,length($0)-37)}' | xargs open\",start:\"run-p build-token watch-dev watch-bench start-server\",\"start-bench\":\"run-p build-token watch-bench start-server\",\"start-debug\":\"run-p build-token watch-dev start-server\",\"start-docs\":\"npm run build-min && npm run build-docs && jekyll serve -w\",\"start-server\":\"st --no-cache --localhost --port 9966 --index index.html .\",test:\"npm run lint && tap --reporter dot test/js/*/*.js test/build/webpack.test.js\",\"test-suite\":\"node test/render.test.js && node test/query.test.js\",\"watch-bench\":\"node bench/download-data.js && watchify bench/index.js --plugin [minifyify --no-map] -t [babelify --presets react] -t unassertify -t envify -o bench/bench.js -v\",\"watch-dev\":\"watchify js/mapbox-gl.js --debug --standalone mapboxgl -o dist/mapbox-gl-dev.js -v\"},version:\"0.22.1\"}},{}],425:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function i(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],i=[],a=0;a<=t;++a)if(e&1<<a){r.push(n(t,a-1,a-1)),i.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(n(t,a-1,s-1)),i.push([a,s]))}var l=o(r),u=[];t:for(var a=0;a<l.length;++a){for(var c=l[a],h=[],s=0;s<c.length;++s){if(!i[c[s]])continue t;h.push(i[c[s]].slice())}u.push(h)}return u}function a(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=i(t,n);return r}e.exports=a;var o=t(\"convex-hull\")},{\"convex-hull\":93}],426:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}function i(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}function a(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}var o=t(\"./normalize\"),s=t(\"gl-mat4/create\"),l=t(\"gl-mat4/clone\"),u=t(\"gl-mat4/determinant\"),c=t(\"gl-mat4/invert\"),h=t(\"gl-mat4/transpose\"),f={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},d=s(),p=s(),m=[0,0,0,0],g=[[0,0,0],[0,0,0],[0,0,0]],v=[0,0,0];e.exports=function(t,e,r,s,y,b){if(e||(e=[0,0,0]),r||(r=[0,0,0]),s||(s=[0,0,0]),y||(y=[0,0,0,1]),b||(b=[0,0,0,1]),!o(d,t))return!1;if(l(p,d),p[3]=0,p[7]=0,p[11]=0,p[15]=1,Math.abs(u(p)<1e-8))return!1;var x=d[3],_=d[7],w=d[11],M=d[12],A=d[13],k=d[14],T=d[15];if(0!==x||0!==_||0!==w){m[0]=x,m[1]=_,m[2]=w,m[3]=T;if(!c(p,p))return!1;h(p,p),n(y,m,p)}else y[0]=y[1]=y[2]=0,y[3]=1;if(e[0]=M,e[1]=A,e[2]=k,i(g,d),r[0]=f.length(g[0]),f.normalize(g[0],g[0]),s[0]=f.dot(g[0],g[1]),a(g[1],g[1],g[0],1,-s[0]),r[1]=f.length(g[1]),f.normalize(g[1],g[1]),s[0]/=r[1],s[1]=f.dot(g[0],g[2]),a(g[2],g[2],g[0],1,-s[1]),s[2]=f.dot(g[1],g[2]),a(g[2],g[2],g[1],1,-s[2]),r[2]=f.length(g[2]),f.normalize(g[2],g[2]),s[1]/=r[2],s[2]/=r[2],f.cross(v,g[1],g[2]),f.dot(g[0],v)<0)for(var E=0;E<3;E++)r[E]*=-1,g[E][0]*=-1,g[E][1]*=-1,g[E][2]*=-1;return b[0]=.5*Math.sqrt(Math.max(1+g[0][0]-g[1][1]-g[2][2],0)),b[1]=.5*Math.sqrt(Math.max(1-g[0][0]+g[1][1]-g[2][2],0)),b[2]=.5*Math.sqrt(Math.max(1-g[0][0]-g[1][1]+g[2][2],0)),b[3]=.5*Math.sqrt(Math.max(1+g[0][0]+g[1][1]+g[2][2],0)),g[2][1]>g[1][2]&&(b[0]=-b[0]),g[0][2]>g[2][0]&&(b[1]=-b[1]),g[1][0]>g[0][1]&&(b[2]=-b[2]),!0}},{\"./normalize\":427,\"gl-mat4/clone\":156,\"gl-mat4/create\":157,\"gl-mat4/determinant\":158,\"gl-mat4/invert\":162,\"gl-mat4/transpose\":172,\"gl-vec3/cross\":254,\"gl-vec3/dot\":255,\"gl-vec3/length\":256,\"gl-vec3/normalize\":258}],427:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],428:[function(t,e,r){function n(t,e,r,n){if(0===c(e)||0===c(r))return!1;var i=u(e,f.translate,f.scale,f.skew,f.perspective,f.quaternion),a=u(r,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!(!i||!a)&&(s(p.translate,f.translate,d.translate,n),s(p.skew,f.skew,d.skew,n),s(p.scale,f.scale,d.scale,n),s(p.perspective,f.perspective,d.perspective,n),h(p.quaternion,f.quaternion,d.quaternion,n),l(t,p.translate,p.scale,p.skew,p.perspective,p.quaternion),!0)}function i(){return{translate:a(),scale:a(1),skew:a(),perspective:o(),quaternion:o()}}function a(t){return[t||0,t||0,t||0]}function o(){return[0,0,0,1]}var s=t(\"gl-vec3/lerp\"),l=t(\"mat4-recompose\"),u=t(\"mat4-decompose\"),c=t(\"gl-mat4/determinant\"),h=t(\"quat-slerp\"),f=i(),d=i(),p=i();e.exports=n},{\"gl-mat4/determinant\":158,\"gl-vec3/lerp\":257,\"mat4-decompose\":426,\"mat4-recompose\":429,\"quat-slerp\":468}],429:[function(t,e,r){var n={identity:t(\"gl-mat4/identity\"),translate:t(\"gl-mat4/translate\"),multiply:t(\"gl-mat4/multiply\"),create:t(\"gl-mat4/create\"),scale:t(\"gl-mat4/scale\"),fromRotationTranslation:t(\"gl-mat4/fromRotationTranslation\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\"gl-mat4/create\":157,\"gl-mat4/fromRotationTranslation\":160,\"gl-mat4/identity\":161,\"gl-mat4/multiply\":164,\"gl-mat4/scale\":170,\"gl-mat4/translate\":171}],430:[function(t,e,r){\"use strict\";function n(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-(1/0),1/0]}function i(t){return t=t||{},new n(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}\nvar a=t(\"binary-search-bounds\"),o=t(\"mat4-interpolate\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/rotateX\"),u=t(\"gl-mat4/rotateY\"),c=t(\"gl-mat4/rotateZ\"),h=t(\"gl-mat4/lookAt\"),f=t(\"gl-mat4/translate\"),d=(t(\"gl-mat4/scale\"),t(\"gl-vec3/normalize\")),p=[0,0,0];e.exports=i;var m=n.prototype;m.recalcMatrix=function(t){var e=this._time,r=a.le(e,t),n=this.computedMatrix;if(!(r<0)){var i=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)n[u]=i[l++];else{for(var c=e[r+1]-e[r],l=16*r,h=this.prevMatrix,f=!0,u=0;u<16;++u)h[u]=i[l++];for(var p=this.nextMatrix,u=0;u<16;++u)p[u]=i[l++],f=f&&h[u]===p[u];if(c<1e-6||f)for(var u=0;u<16;++u)n[u]=h[u];else o(n,h,p,(t-e[r])/c)}var m=this.computedUp;m[0]=n[1],m[1]=n[5],m[2]=n[6],d(m,m);var g=this.computedInverse;s(g,n);var v=this.computedEye,y=g[15];v[0]=g[12]/y,v[1]=g[13]/y,v[2]=g[14]/y;for(var b=this.computedCenter,x=Math.exp(this.computedRadius[0]),u=0;u<3;++u)b[u]=v[u]-n[2+4*u]*x}},m.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},m.flush=function(t){var e=a.gt(this._time,t)-2;e<0||(this._time.slice(0,e),this._components.slice(0,16*e))},m.lastT=function(){return this._time[this._time.length-1]},m.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||p,n=n||this.computedUp,this.setMatrix(t,h(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},m.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&u(i,i,e),r&&l(i,i,r),n&&c(i,i,n),this.setMatrix(t,s(this.computedMatrix,i))};var g=[0,0,0];m.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;f(i,i,g),this.setMatrix(t,s(i,i))},m.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;f(i,i,g),this.setMatrix(t,i)},m.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},m.setDistance=function(t,e){this.computedRadius[0]=e},m.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},m.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{\"binary-search-bounds\":56,\"gl-mat4/invert\":162,\"gl-mat4/lookAt\":163,\"gl-mat4/rotateX\":167,\"gl-mat4/rotateY\":168,\"gl-mat4/rotateZ\":169,\"gl-mat4/scale\":170,\"gl-mat4/translate\":171,\"gl-vec3/normalize\":258,\"mat4-interpolate\":428}],431:[function(t,e,r){\"use strict\";function n(t){var e=t.length;if(e<3){for(var r=new Array(e),n=0;n<e;++n)r[n]=n;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),n=0;n<e;++n)a[n]=n;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n?n:t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],n=2;n<e;++n){for(var l=a[n],u=t[l],c=o.length;c>1&&i(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&i(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),h=0,n=0,f=o.length;n<f;++n)r[h++]=o[n];for(var d=s.length-2;d>0;--d)r[h++]=s[d];return r}e.exports=n;var i=t(\"robust-orientation\")[3]},{\"robust-orientation\":487}],432:[function(t,e,r){\"use strict\";function n(t,e){function r(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==g.alt,g.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==g.shift,g.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==g.control,g.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==g.meta,g.meta=!!t.metaKey),e}function n(t,n){var a=i.x(n),o=i.y(n);\"buttons\"in n&&(t=0|n.buttons),(t!==d||a!==p||o!==m||r(n))&&(d=0|t,p=a||0,m=o||0,e&&e(d,p,m,g))}function a(t){n(0,t)}function o(){(d||p||m||g.shift||g.alt||g.meta||g.control)&&(p=m=0,d=0,g.shift=g.alt=g.control=g.meta=!1,e&&e(0,0,0,g))}function s(t){r(t)&&e&&e(d,p,m,g)}function l(t){0===i.buttons(t)?n(0,t):n(d,t)}function u(t){n(d|i.buttons(t),t)}function c(t){n(d&~i.buttons(t),t)}function h(){v||(v=!0,t.addEventListener(\"mousemove\",l),t.addEventListener(\"mousedown\",u),t.addEventListener(\"mouseup\",c),t.addEventListener(\"mouseleave\",a),t.addEventListener(\"mouseenter\",a),t.addEventListener(\"mouseout\",a),t.addEventListener(\"mouseover\",a),t.addEventListener(\"blur\",o),t.addEventListener(\"keyup\",s),t.addEventListener(\"keydown\",s),t.addEventListener(\"keypress\",s),t!==window&&(window.addEventListener(\"blur\",o),window.addEventListener(\"keyup\",s),window.addEventListener(\"keydown\",s),window.addEventListener(\"keypress\",s)))}function f(){v&&(v=!1,t.removeEventListener(\"mousemove\",l),t.removeEventListener(\"mousedown\",u),t.removeEventListener(\"mouseup\",c),t.removeEventListener(\"mouseleave\",a),t.removeEventListener(\"mouseenter\",a),t.removeEventListener(\"mouseout\",a),t.removeEventListener(\"mouseover\",a),t.removeEventListener(\"blur\",o),t.removeEventListener(\"keyup\",s),t.removeEventListener(\"keydown\",s),t.removeEventListener(\"keypress\",s),t!==window&&(window.removeEventListener(\"blur\",o),window.removeEventListener(\"keyup\",s),window.removeEventListener(\"keydown\",s),window.removeEventListener(\"keypress\",s)))}e||(e=t,t=window);var d=0,p=0,m=0,g={shift:!1,alt:!1,control:!1,meta:!1},v=!1;h();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return v},set:function(t){t?h():f()},enumerable:!0},buttons:{get:function(){return d},enumerable:!0},x:{get:function(){return p},enumerable:!0},y:{get:function(){return m},enumerable:!0},mods:{get:function(){return g},enumerable:!0}}),y}e.exports=n;var i=t(\"mouse-event\")},{\"mouse-event\":434}],433:[function(t,e,r){function n(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var n=t.clientX||0,a=t.clientY||0,o=i(e);return r[0]=n-o.left,r[1]=a-o.top,r}function i(t){return t===window||t===document||t===document.body?a:t.getBoundingClientRect()}var a={left:0,top:0};e.exports=n},{}],434:[function(t,e,r){\"use strict\";function n(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){var e=t.which;if(2===e)return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\"button\"in t){var e=t.button;if(1===e)return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0}function i(t){return t.target||t.srcElement||window}function a(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=i(t),r=e.getBoundingClientRect();return t.clientX-r.left}return 0}function o(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=i(t),r=e.getBoundingClientRect();return t.clientY-r.top}return 0}r.buttons=n,r.element=i,r.x=a,r.y=o},{}],435:[function(t,e,r){\"use strict\";function n(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var n=i(\"ex\",t),a=function(t){r&&t.preventDefault();var i=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=n;break;case 2:l=window.innerHeight}if(i*=l,a*=l,o*=l,i||a||o)return e(i,a,o,t)};return t.addEventListener(\"wheel\",a),a}var i=t(\"to-px\");e.exports=n},{\"to-px\":513}],436:[function(t,e,r){\"use strict\";function n(t){return\"a\"+t}function i(t){return\"d\"+t}function a(t,e){return\"c\"+t+\"_\"+e}function o(t){return\"s\"+t}function s(t,e){return\"t\"+t+\"_\"+e}function l(t){return\"o\"+t}function u(t){return\"x\"+t}function c(t){return\"p\"+t}function h(t,e){return\"d\"+t+\"_\"+e}function f(t){return\"i\"+t}function d(t,e){return\"u\"+t+\"_\"+e}function p(t){return\"b\"+t}function m(t){return\"y\"+t}function g(t){return\"e\"+t}function v(t){return\"v\"+t}function y(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}function b(t,e,r,b,x,S){function L(t,e){j.push(\"for(\",f(x[t]),\"=\",e,\";\",f(x[t]),\"<\",o(x[t]),\";\",\"++\",f(x[t]),\"){\")}function C(t){for(var e=0;e<O;++e)j.push(c(e),\"+=\",d(e,x[t]),\";\");j.push(\"}\")}function D(t){for(var e=t-1;e>=0;--e)L(e,0);for(var r=[],e=0;e<O;++e)S[e]?r.push(i(e)+\".get(\"+c(e)+\")\"):r.push(i(e)+\"[\"+c(e)+\"]\");for(var e=0;e<b;++e)r.push(u(e));j.push(M,\"[\",T,\"++]=phase(\",r.join(),\");\");for(var e=0;e<t;++e)C(e);for(var n=0;n<O;++n)j.push(c(n),\"+=\",d(n,x[t]),\";\")}function I(t){for(var e=0;e<O;++e)S[e]?j.push(a(e,0),\"=\",i(e),\".get(\",c(e),\");\"):j.push(a(e,0),\"=\",i(e),\"[\",c(e),\"];\");for(var r=[],e=0;e<O;++e)r.push(a(e,0));for(var e=0;e<b;++e)r.push(u(e));j.push(p(0),\"=\",M,\"[\",T,\"]=phase(\",r.join(),\");\");for(var n=1;n<1<<R;++n)j.push(p(n),\"=\",M,\"[\",T,\"+\",g(n),\"];\");for(var o=[],n=1;n<1<<R;++n)o.push(\"(\"+p(0)+\"!==\"+p(n)+\")\");j.push(\"if(\",o.join(\"||\"),\"){\");for(var s=[],e=0;e<R;++e)s.push(f(e));for(var e=0;e<O;++e){s.push(a(e,0));for(var n=1;n<1<<R;++n)S[e]?j.push(a(e,n),\"=\",i(e),\".get(\",c(e),\"+\",h(e,n),\");\"):j.push(a(e,n),\"=\",i(e),\"[\",c(e),\"+\",h(e,n),\"];\"),s.push(a(e,n))}for(var e=0;e<1<<R;++e)s.push(p(e));for(var e=0;e<b;++e)s.push(u(e));j.push(\"vertex(\",s.join(),\");\",v(0),\"=\",w,\"[\",T,\"]=\",A,\"++;\");for(var l=(1<<R)-1,d=p(l),n=0;n<R;++n)if(0==(t&~(1<<n))){for(var m=l^1<<n,y=p(m),x=[],_=m;_>0;_=_-1&m)x.push(w+\"[\"+T+\"+\"+g(_)+\"]\");x.push(v(0));for(var _=0;_<O;++_)1&n?x.push(a(_,l),a(_,m)):x.push(a(_,m),a(_,l));1&n?x.push(d,y):x.push(y,d);for(var _=0;_<b;++_)x.push(u(_));j.push(\"if(\",d,\"!==\",y,\"){\",\"face(\",x.join(),\")}\")}j.push(\"}\",T,\"+=1;\")}function z(){for(var t=1;t<1<<R;++t)j.push(E,\"=\",g(t),\";\",g(t),\"=\",m(t),\";\",m(t),\"=\",E,\";\")}function P(t,e){if(t<0)return void I(e);D(t),j.push(\"if(\",o(x[t]),\">0){\",f(x[t]),\"=1;\"),P(t-1,e|1<<x[t]);for(var r=0;r<O;++r)j.push(c(r),\"+=\",d(r,x[t]),\";\");t===R-1&&(j.push(T,\"=0;\"),z()),L(t,2),P(t-1,e),t===R-1&&(j.push(\"if(\",f(x[R-1]),\"&1){\",T,\"=0;}\"),z()),C(t),j.push(\"}\")}var O=S.length,R=x.length;if(R<2)throw new Error(\"ndarray-extract-contour: Dimension must be at least 2\");for(var F=\"extractContour\"+x.join(\"_\"),j=[],N=[],B=[],U=0;U<O;++U)B.push(n(U));for(var U=0;U<b;++U)B.push(u(U));for(var U=0;U<R;++U)N.push(o(U)+\"=\"+n(0)+\".shape[\"+U+\"]|0\");for(var U=0;U<O;++U){N.push(i(U)+\"=\"+n(U)+\".data\",l(U)+\"=\"+n(U)+\".offset|0\");for(var V=0;V<R;++V)N.push(s(U,V)+\"=\"+n(U)+\".stride[\"+V+\"]|0\")}for(var U=0;U<O;++U){N.push(c(U)+\"=\"+l(U)),N.push(a(U,0));for(var V=1;V<1<<R;++V){for(var H=[],q=0;q<R;++q)V&1<<q&&H.push(\"-\"+s(U,q));N.push(h(U,V)+\"=(\"+H.join(\"\")+\")|0\"),N.push(a(U,V)+\"=0\")}}for(var U=0;U<O;++U)for(var V=0;V<R;++V){var G=[s(U,x[V])];V>0&&G.push(s(U,x[V-1])+\"*\"+o(x[V-1])),N.push(d(U,x[V])+\"=(\"+G.join(\"-\")+\")|0\")}for(var U=0;U<R;++U)N.push(f(U)+\"=0\");N.push(A+\"=0\");for(var Y=[\"2\"],U=R-2;U>=0;--U)Y.push(o(x[U]));N.push(k+\"=(\"+Y.join(\"*\")+\")|0\",M+\"=mallocUint32(\"+k+\")\",w+\"=mallocUint32(\"+k+\")\",T+\"=0\"),N.push(p(0)+\"=0\");for(var V=1;V<1<<R;++V){for(var X=[],W=[],q=0;q<R;++q)V&1<<q&&(0===W.length?X.push(\"1\"):X.unshift(W.join(\"*\"))),W.push(o(x[q]));var Z=\"\";X[0].indexOf(o(x[R-2]))<0&&(Z=\"-\");var J=y(R,V,x);N.push(g(J)+\"=(-\"+X.join(\"-\")+\")|0\",m(J)+\"=(\"+Z+X.join(\"-\")+\")|0\",p(J)+\"=0\")}N.push(v(0)+\"=0\",E+\"=0\"),P(R-1,0),j.push(\"freeUint32(\",w,\");freeUint32(\",M,\");\");var K=[\"'use strict';\",\"function \",F,\"(\",B.join(),\"){\",\"var \",N.join(),\";\",j.join(\"\"),\"}\",\"return \",F].join(\"\");return new Function(\"vertex\",\"face\",\"phase\",\"mallocUint32\",\"freeUint32\",K)(t,e,r,_.mallocUint32,_.freeUint32)}function x(t){function e(t){throw new Error(\"ndarray-extract-contour: \"+t)}\"object\"!=typeof t&&e(\"Must specify arguments\");var r=t.order;Array.isArray(r)||e(\"Must specify order\");var n=t.arrayArguments||1;n<1&&e(\"Must have at least one array argument\");var i=t.scalarArguments||0;i<0&&e(\"Scalar arg count must be > 0\"),\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\"),\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\"),\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var a=t.getters||[],o=new Array(n),s=0;s<n;++s)a.indexOf(s)>=0?o[s]=!0:o[s]=!1;return b(t.vertex,t.cell,t.phase,i,r,o)}var _=t(\"typedarray-pool\");e.exports=x;var w=\"V\",M=\"P\",A=\"N\",k=\"Q\",T=\"X\",E=\"T\"},{\"typedarray-pool\":519}],437:[function(t,e,r){\"use strict\";var n=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"cwise\",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{\"cwise/lib/wrapper\":103}],438:[function(t,e,r){\"use strict\";function n(t){if(t in l)return l[t];for(var e=[],r=0;r<t;++r)e.push(\"out\",r,\"s=0.5*(inp\",r,\"l-inp\",r,\"r);\");for(var n=[\"array\"],i=[\"junk\"],r=0;r<t;++r){n.push(\"array\"),i.push(\"out\"+r+\"s\");var a=o(t);a[r]=-1,n.push({array:0,offset:a.slice()}),a[r]=1,n.push({array:0,offset:a.slice()}),i.push(\"inp\"+r+\"l\",\"inp\"+r+\"r\")}return l[t]=s({args:n,pre:c,post:c,body:{body:e.join(\"\"),args:i.map(function(t){return{name:t,lvalue:0===t.indexOf(\"out\"),rvalue:0===t.indexOf(\"inp\"),count:\"junk\"!==t|0}}),thisVars:[],localVars:[]},funcName:\"fdTemplate\"+t})}function i(t){var e=t.join(),r=u[e];if(r)return r;for(var i=t.length,a=[\"function gradient(dst,src){var s=src.shape.slice();\"],o=0;o<1<<i;++o){for(var s=[],c=0;c<i;++c)o&1<<c&&s.push(c+1);for(var d=0;d<1<<s.length;++d){for(var p=s.slice(),c=0;c<s.length;++c)d&1<<c&&(p[c]=-p[c]);!function(e){for(var r=i-e.length,n=[],o=[],s=[],l=0;l<i;++l)e.indexOf(l+1)>=0?s.push(\"0\"):e.indexOf(-(l+1))>=0?s.push(\"s[\"+l+\"]-1\"):(s.push(\"-1\"),n.push(\"1\"),o.push(\"s[\"+l+\"]-2\"));var u=\".lo(\"+n.join()+\").hi(\"+o.join()+\")\";if(0===n.length&&(u=\"\"),r>0){a.push(\"if(1\");for(var l=0;l<i;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||a.push(\"&&s[\",l,\"]>2\");a.push(\"){grad\",r,\"(src.pick(\",s.join(),\")\",u);for(var l=0;l<i;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||a.push(\",dst.pick(\",s.join(),\",\",l,\")\",u);a.push(\");\")}for(var l=0;l<e.length;++l){var c=Math.abs(e[l])-1,h=\"dst.pick(\"+s.join()+\",\"+c+\")\"+u;switch(t[c]){case\"clamp\":var f=s.slice(),d=s.slice();e[l]<0?f[c]=\"s[\"+c+\"]-2\":d[c]=\"1\",0===r?a.push(\"if(s[\",c,\"]>1){dst.set(\",s.join(),\",\",c,\",0.5*(src.get(\",f.join(),\")-src.get(\",d.join(),\")))}else{dst.set(\",s.join(),\",\",c,\",0)};\"):a.push(\"if(s[\",c,\"]>1){diff(\",h,\",src.pick(\",f.join(),\")\",u,\",src.pick(\",d.join(),\")\",u,\");}else{zero(\",h,\");};\");break;case\"mirror\":0===r?a.push(\"dst.set(\",s.join(),\",\",c,\",0);\"):a.push(\"zero(\",h,\");\");break;case\"wrap\":var p=s.slice(),m=s.slice();e[l]<0?(p[c]=\"s[\"+c+\"]-2\",m[c]=\"0\"):(p[c]=\"s[\"+c+\"]-1\",m[c]=\"1\"),0===r?a.push(\"if(s[\",c,\"]>2){dst.set(\",s.join(),\",\",c,\",0.5*(src.get(\",p.join(),\")-src.get(\",m.join(),\")))}else{dst.set(\",s.join(),\",\",c,\",0)};\"):a.push(\"if(s[\",c,\"]>2){diff(\",h,\",src.pick(\",p.join(),\")\",u,\",src.pick(\",m.join(),\")\",u,\");}else{zero(\",h,\");};\");break;default:throw new Error(\"ndarray-gradient: Invalid boundary condition\")}}r>0&&a.push(\"};\")}(p)}}a.push(\"return dst;};return gradient\");for(var m=[\"diff\",\"zero\"],g=[h,f],o=1;o<=i;++o)m.push(\"grad\"+o),g.push(n(o));m.push(a.join(\"\"));var v=Function.apply(void 0,m),r=v.apply(void 0,g);return l[e]=r,r}function a(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\"ndarray-gradient: invalid boundary conditions\")}else r=\"string\"==typeof r?o(e.dimension,r):o(e.dimension,\"clamp\");if(t.dimension!==e.dimension+1)throw new Error(\"ndarray-gradient: output dimension must be +1 input dimension\");if(t.shape[e.dimension]!==e.dimension)throw new Error(\"ndarray-gradient: output shape must match input shape\");for(var n=0;n<e.dimension;++n)if(t.shape[n]!==e.shape[n])throw new Error(\"ndarray-gradient: shape mismatch\");return 0===e.size?t:e.dimension<=0?(t.set(0),t):i(r)(t,e)}e.exports=a;var o=t(\"dup\"),s=t(\"cwise-compiler\"),l={},u={},c={body:\"\",args:[],thisVars:[],localVars:[]},h=s({args:[\"array\",\"array\",\"array\"],pre:c,post:c,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1},{name:\"left\",lvalue:!1,rvalue:!0,count:1},{name:\"right\",lvalue:!1,rvalue:!0,count:1}],body:\"out=0.5*(left-right)\",thisVars:[],localVars:[]},funcName:\"cdiff\"}),f=s({args:[\"array\"],pre:c,post:c,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1}],body:\"out=0\",thisVars:[],localVars:[]},funcName:\"zero\"})},{\"cwise-compiler\":100,dup:107}],439:[function(t,e,r){\"use strict\";function n(t,e,r){var n=e.dimension,o=a([],r);return i(t,e,function(t,e){for(var r=0;r<n;++r){t[r]=o[(n+1)*n+r];for(var i=0;i<n;++i)t[r]+=o[(n+1)*i+r]*e[i]}for(var a=o[(n+1)*(n+1)-1],i=0;i<n;++i)a+=o[(n+1)*i+n]*e[i];for(var s=1/a,r=0;r<n;++r)t[r]*=s;return t}),t}var i=t(\"ndarray-warp\"),a=t(\"gl-matrix-invert\");e.exports=n},{\"gl-matrix-invert\":173,\"ndarray-warp\":446}],440:[function(t,e,r){\"use strict\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,u=0<=s&&s<t.shape[1],c=0<=s+1&&s+1<t.shape[1],h=a&&u?t.get(n,s):0,f=a&&c?t.get(n,s+1):0;return(1-l)*((1-i)*h+i*(o&&u?t.get(n+1,s):0))+l*((1-i)*f+i*(o&&c?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),u=r-l,c=0<=l&&l<t.shape[1],h=0<=l+1&&l+1<t.shape[1],f=Math.floor(n),d=n-f,p=0<=f&&f<t.shape[2],m=0<=f+1&&f+1<t.shape[2],g=o&&c&&p?t.get(i,l,f):0,v=o&&h&&p?t.get(i,l+1,f):0,y=s&&c&&p?t.get(i+1,l,f):0,b=s&&h&&p?t.get(i+1,l+1,f):0,x=o&&c&&m?t.get(i,l,f+1):0,_=o&&h&&m?t.get(i,l+1,f+1):0;return(1-d)*((1-u)*((1-a)*g+a*y)+u*((1-a)*v+a*b))+d*((1-u)*((1-a)*x+a*(s&&c&&m?t.get(i+1,l,f+1):0))+u*((1-a)*_+a*(s&&h&&m?t.get(i+1,l+1,f+1):0)))}function o(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,u,c,h=0;t:for(e=0;e<1<<n;++e){for(u=1,c=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;u*=a[l],c+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;u*=1-a[l],c+=t.stride[l]*i[l]}h+=u*t.data[c]}return h}function s(t,e,r,s){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,s);default:return o.apply(void 0,arguments)}}e.exports=s,e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],441:[function(t,e,r){\"use strict\";function n(t){if(!t)return s;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function i(t){return o({args:t.args,pre:n(t.pre),body:n(t.body),post:n(t.proc),funcName:t.funcName})}function a(t){for(var e=[],r=0;r<t.args.length;++r)e.push(\"a\"+r);return new Function(\"P\",[\"return function \",t.funcName,\"_ndarrayops(\",e.join(\",\"),\") {P(\",e.join(\",\"),\");return a0}\"].join(\"\"))(i(t))}var o=t(\"cwise-compiler\"),s={body:\"\",args:[],thisVars:[],localVars:[]},l={add:\"+\",sub:\"-\",mul:\"*\",div:\"/\",mod:\"%\",band:\"&\",bor:\"|\",bxor:\"^\",lshift:\"<<\",rshift:\">>\",rrshift:\">>>\"};!function(){for(var t in l){var e=l[t];r[t]=a({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"eq\"]=a({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a\"+e+\"=b\"},rvalue:!0,funcName:t+\"eq\"}),r[t+\"s\"]=a({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"seq\"]=a({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a\"+e+\"=s\"},rvalue:!0,funcName:t+\"seq\"})}}();var u={not:\"!\",bnot:\"~\",neg:\"-\",recip:\"1.0/\"};!function(){for(var t in u){var e=u[t];r[t]=a({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=\"+e+\"b\"},funcName:t}),r[t+\"eq\"]=a({args:[\"array\"],body:{args:[\"a\"],body:\"a=\"+e+\"a\"},rvalue:!0,count:2,funcName:t+\"eq\"})}}();var c={and:\"&&\",or:\"||\",eq:\"===\",neq:\"!==\",lt:\"<\",gt:\">\",leq:\"<=\",geq:\">=\"};!function(){for(var t in c){var e=c[t];r[t]=a({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"s\"]=a({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"eq\"]=a({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=a\"+e+\"b\"},rvalue:!0,count:2,funcName:t+\"eq\"}),r[t+\"seq\"]=a({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a=a\"+e+\"s\"},rvalue:!0,count:2,funcName:t+\"seq\"})}}();var h=[\"abs\",\"acos\",\"asin\",\"atan\",\"ceil\",\"cos\",\"exp\",\"floor\",\"log\",\"round\",\"sin\",\"sqrt\",\"tan\"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=a({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"eq\"]=a({args:[\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f(a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"})}}();var f=[\"max\",\"min\",\"atan2\",\"pow\"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=a({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"s\"]=a({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e+\"s\"}),r[e+\"eq\"]=a({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"}),r[e+\"seq\"]=a({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"seq\"})}}();var d=[\"atan2\",\"pow\"];!function(){for(var t=0;t<d.length;++t){var e=d[t];r[e+\"op\"]=a({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"op\"}),r[e+\"ops\"]=a({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"ops\"}),r[e+\"opeq\"]=a({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opeq\"}),r[e+\"opseq\"]=a({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opseq\"})}}(),r.any=o({args:[\"array\"],pre:s,body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"if(a){return true}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return false\"},funcName:\"any\"}),r.all=o({args:[\"array\"],pre:s,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1}],body:\"if(!x){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"all\"}),r.sum=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s+=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"sum\"}),r.prod=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=1\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s*=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"prod\"}),r.norm2squared=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm2squared\"}),r.norm2=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return Math.sqrt(this_s)\"},funcName:\"norm2\"}),r.norminf=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:4}],body:\"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norminf\"}),r.norm1=o({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:3}],body:\"this_s+=a<0?-a:a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm1\"}),r.sup=o({args:[\"array\"],pre:{body:\"this_h=-Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.inf=o({args:[\"array\"],pre:{body:\"this_h=Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.argmin=o({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.argmax=o({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.random=a({args:[\"array\"],pre:{args:[],body:\"this_f=Math.random\",thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f()\",thisVars:[\"this_f\"]},funcName:\"random\"}),r.assign=a({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assign\"}),r.assigns=a({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assigns\"}),r.equals=o({args:[\"array\",\"array\"],pre:s,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1},{name:\"y\",lvalue:!1,rvalue:!0,count:1}],body:\"if(x!==y){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"equals\"})},{\"cwise-compiler\":100}],442:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),i=t(\"./doConvert.js\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\"./doConvert.js\":443,ndarray:447}],443:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\\n}\\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\\n}\",args:[{name:\"_inline_1_arg0_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[\"_inline_1_i\",\"_inline_1_v\"]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},funcName:\"convert\",blockSize:64})},{\"cwise-compiler\":100}],444:[function(t,e,r){\"use strict\";function n(t){switch(t){case\"uint8\":return[l.mallocUint8,l.freeUint8];case\"uint16\":return[l.mallocUint16,l.freeUint16];case\"uint32\":return[l.mallocUint32,l.freeUint32];case\"int8\":return[l.mallocInt8,l.freeInt8];case\"int16\":return[l.mallocInt16,l.freeInt16];case\"int32\":return[l.mallocInt32,l.freeInt32];case\"float32\":return[l.mallocFloat,l.freeFloat];case\"float64\":return[l.mallocDouble,l.freeDouble];default:return null}}function i(t){for(var e=[],r=0;r<t;++r)e.push(\"s\"+r);for(var r=0;r<t;++r)e.push(\"n\"+r);for(var r=1;r<t;++r)e.push(\"d\"+r);for(var r=1;r<t;++r)e.push(\"e\"+r);for(var r=1;r<t;++r)e.push(\"f\"+r);return e}function a(t,e){function r(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function a(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}var o=[\"'use strict'\"],s=[\"ndarrayInsertionSort\",t.join(\"d\"),e].join(\"\"),l=[\"left\",\"right\",\"data\",\"offset\"].concat(i(t.length)),u=n(e),c=[\"i,j,cptr,ptr=left*s0+offset\"];if(t.length>1){for(var h=[],f=1;f<t.length;++f)c.push(\"i\"+f),h.push(\"n\"+f);u?c.push(\"scratch=malloc(\"+h.join(\"*\")+\")\"):c.push(\"scratch=new Array(\"+h.join(\"*\")+\")\"),c.push(\"dptr\",\"sptr\",\"a\",\"b\")}else c.push(\"scratch\");if(o.push([\"function \",s,\"(\",l.join(\",\"),\"){var \",c.join(\",\")].join(\"\"),\"for(i=left+1;i<=right;++i){\",\"j=i;ptr+=s0\",\"cptr=ptr\"),t.length>1){o.push(\"dptr=0;sptr=ptr\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\"for(i\",d,\"=0;i\",d,\"<n\",d,\";++i\",d,\"){\"].join(\"\"))}o.push(\"scratch[dptr++]=\",r(\"sptr\"));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push(\"sptr+=d\"+d,\"}\")}o.push(\"__g:while(j-->left){\",\"dptr=0\",\"sptr=cptr-s0\");for(var f=1;f<t.length;++f)1===f&&o.push(\"__l:\"),o.push([\"for(i\",f,\"=0;i\",f,\"<n\",f,\";++i\",f,\"){\"].join(\"\"));o.push([\"a=\",r(\"sptr\"),\"\\nb=scratch[dptr]\\nif(a<b){break __g}\\nif(a>b){break __l}\"].join(\"\"));for(var f=t.length-1;f>=1;--f)o.push(\"sptr+=e\"+f,\"dptr+=f\"+f,\"}\");o.push(\"dptr=cptr;sptr=cptr-s0\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\"for(i\",d,\"=0;i\",d,\"<n\",d,\";++i\",d,\"){\"].join(\"\"))}o.push(a(\"dptr\",r(\"sptr\")));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push([\"dptr+=d\",d,\";sptr+=d\",d].join(\"\"),\"}\")}o.push(\"cptr-=s0\\n}\"),o.push(\"dptr=cptr;sptr=0\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\"for(i\",d,\"=0;i\",d,\"<n\",d,\";++i\",d,\"){\"].join(\"\"))}o.push(a(\"dptr\",\"scratch[sptr++]\"));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push(\"dptr+=d\"+d,\"}\")}}else o.push(\"scratch=\"+r(\"ptr\"),\"while((j-->left)&&(\"+r(\"cptr-s0\")+\">scratch)){\",a(\"cptr\",r(\"cptr-s0\")),\"cptr-=s0\",\"}\",a(\"cptr\",\"scratch\"));if(o.push(\"}\"),t.length>1&&u&&o.push(\"free(scratch)\"),o.push(\"} return \"+s),u){var p=new Function(\"malloc\",\"free\",o.join(\"\\n\"));return p(u[0],u[1])}var p=new Function(o.join(\"\\n\"));return p()}function o(t,e,r){function a(t){return[\"(offset+\",t,\"*s0)\"].join(\"\")}function o(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function s(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}function l(e,r,n){if(1===e.length)_.push(\"ptr0=\"+a(e[0]));else for(var i=0;i<e.length;++i)_.push([\"b_ptr\",i,\"=s0*\",e[i]].join(\"\"));r&&_.push(\"pivot_ptr=0\"),_.push(\"ptr_shift=offset\");for(var i=t.length-1;i>=0;--i){var o=t[i];0!==o&&_.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"))}if(e.length>1)for(var i=0;i<e.length;++i)_.push([\"ptr\",i,\"=b_ptr\",i,\"+ptr_shift\"].join(\"\"));_.push(n),r&&_.push(\"++pivot_ptr\");for(var i=0;i<t.length;++i){var o=t[i];0!==o&&(e.length>1?_.push(\"ptr_shift+=d\"+o):_.push(\"ptr0+=d\"+o),_.push(\"}\"))}}function c(e,r,n,i){if(1===r.length)_.push(\"ptr0=\"+a(r[0]));else{for(var o=0;o<r.length;++o)_.push([\"b_ptr\",o,\"=s0*\",r[o]].join(\"\"));_.push(\"ptr_shift=offset\")}n&&_.push(\"pivot_ptr=0\"),e&&_.push(e+\":\");for(var o=1;o<t.length;++o)_.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"))\n;if(r.length>1)for(var o=0;o<r.length;++o)_.push([\"ptr\",o,\"=b_ptr\",o,\"+ptr_shift\"].join(\"\"));_.push(i);for(var o=t.length-1;o>=1;--o)n&&_.push(\"pivot_ptr+=f\"+o),r.length>1?_.push(\"ptr_shift+=e\"+o):_.push(\"ptr0+=e\"+o),_.push(\"}\")}function h(){t.length>1&&A&&_.push(\"free(pivot1)\",\"free(pivot2)\")}function f(e,r){var n=\"el\"+e,i=\"el\"+r;if(t.length>1){var s=\"__l\"+ ++k;c(s,[n,i],!1,[\"comp=\",o(\"ptr0\"),\"-\",o(\"ptr1\"),\"\\n\",\"if(comp>0){tmp0=\",n,\";\",n,\"=\",i,\";\",i,\"=tmp0;break \",s,\"}\\n\",\"if(comp<0){break \",s,\"}\"].join(\"\"))}else _.push([\"if(\",o(a(n)),\">\",o(a(i)),\"){tmp0=\",n,\";\",n,\"=\",i,\";\",i,\"=tmp0}\"].join(\"\"))}function d(e,r){t.length>1?l([e,r],!1,s(\"ptr0\",o(\"ptr1\"))):_.push(s(a(e),o(a(r))))}function p(e,r,n){if(t.length>1){var i=\"__l\"+ ++k;c(i,[r],!0,[e,\"=\",o(\"ptr0\"),\"-pivot\",n,\"[pivot_ptr]\\n\",\"if(\",e,\"!==0){break \",i,\"}\"].join(\"\"))}else _.push([e,\"=\",o(a(r)),\"-pivot\",n].join(\"\"))}function m(e,r){t.length>1?l([e,r],!1,[\"tmp=\",o(\"ptr0\"),\"\\n\",s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",\"tmp\")].join(\"\")):_.push([\"ptr0=\",a(e),\"\\n\",\"ptr1=\",a(r),\"\\n\",\"tmp=\",o(\"ptr0\"),\"\\n\",s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",\"tmp\")].join(\"\"))}function g(e,r,n){t.length>1?(l([e,r,n],!1,[\"tmp=\",o(\"ptr0\"),\"\\n\",s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",o(\"ptr2\")),\"\\n\",s(\"ptr2\",\"tmp\")].join(\"\")),_.push(\"++\"+r,\"--\"+n)):_.push([\"ptr0=\",a(e),\"\\n\",\"ptr1=\",a(r),\"\\n\",\"ptr2=\",a(n),\"\\n\",\"++\",r,\"\\n\",\"--\",n,\"\\n\",\"tmp=\",o(\"ptr0\"),\"\\n\",s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",o(\"ptr2\")),\"\\n\",s(\"ptr2\",\"tmp\")].join(\"\"))}function v(t,e){m(t,e),_.push(\"--\"+e)}function y(e,r,n){t.length>1?l([e,r],!0,[s(\"ptr0\",o(\"ptr1\")),\"\\n\",s(\"ptr1\",[\"pivot\",n,\"[pivot_ptr]\"].join(\"\"))].join(\"\")):_.push(s(a(e),o(a(r))),s(a(r),\"pivot\"+n))}function b(e,r){_.push([\"if((\",r,\"-\",e,\")<=\",u,\"){\\n\",\"insertionSort(\",e,\",\",r,\",data,offset,\",i(t.length).join(\",\"),\")\\n\",\"}else{\\n\",w,\"(\",e,\",\",r,\",data,offset,\",i(t.length).join(\",\"),\")\\n\",\"}\"].join(\"\"))}function x(e,r,n){t.length>1?(_.push([\"__l\",++k,\":while(true){\"].join(\"\")),l([e],!0,[\"if(\",o(\"ptr0\"),\"!==pivot\",r,\"[pivot_ptr]){break __l\",k,\"}\"].join(\"\")),_.push(n,\"}\")):_.push([\"while(\",o(a(e)),\"===pivot\",r,\"){\",n,\"}\"].join(\"\"))}var _=[\"'use strict'\"],w=[\"ndarrayQuickSort\",t.join(\"d\"),e].join(\"\"),M=[\"left\",\"right\",\"data\",\"offset\"].concat(i(t.length)),A=n(e),k=0;_.push([\"function \",w,\"(\",M.join(\",\"),\"){\"].join(\"\"));var T=[\"sixth=((right-left+1)/6)|0\",\"index1=left+sixth\",\"index5=right-sixth\",\"index3=(left+right)>>1\",\"index2=index3-sixth\",\"index4=index3+sixth\",\"el1=index1\",\"el2=index2\",\"el3=index3\",\"el4=index4\",\"el5=index5\",\"less=left+1\",\"great=right-1\",\"pivots_are_equal=true\",\"tmp\",\"tmp0\",\"x\",\"y\",\"z\",\"k\",\"ptr0\",\"ptr1\",\"ptr2\",\"comp_pivot1=0\",\"comp_pivot2=0\",\"comp=0\"];if(t.length>1){for(var E=[],S=1;S<t.length;++S)E.push(\"n\"+S),T.push(\"i\"+S);for(var S=0;S<8;++S)T.push(\"b_ptr\"+S);T.push(\"ptr3\",\"ptr4\",\"ptr5\",\"ptr6\",\"ptr7\",\"pivot_ptr\",\"ptr_shift\",\"elementSize=\"+E.join(\"*\")),A?T.push(\"pivot1=malloc(elementSize)\",\"pivot2=malloc(elementSize)\"):T.push(\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\")}else T.push(\"pivot1\",\"pivot2\");if(_.push(\"var \"+T.join(\",\")),f(1,2),f(4,5),f(1,3),f(2,3),f(1,4),f(3,4),f(2,5),f(2,3),f(4,5),t.length>1?l([\"el1\",\"el2\",\"el3\",\"el4\",\"el5\",\"index1\",\"index3\",\"index5\"],!0,[\"pivot1[pivot_ptr]=\",o(\"ptr1\"),\"\\n\",\"pivot2[pivot_ptr]=\",o(\"ptr3\"),\"\\n\",\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\n\",\"x=\",o(\"ptr0\"),\"\\n\",\"y=\",o(\"ptr2\"),\"\\n\",\"z=\",o(\"ptr4\"),\"\\n\",s(\"ptr5\",\"x\"),\"\\n\",s(\"ptr6\",\"y\"),\"\\n\",s(\"ptr7\",\"z\")].join(\"\")):_.push([\"pivot1=\",o(a(\"el2\")),\"\\n\",\"pivot2=\",o(a(\"el4\")),\"\\n\",\"pivots_are_equal=pivot1===pivot2\\n\",\"x=\",o(a(\"el1\")),\"\\n\",\"y=\",o(a(\"el3\")),\"\\n\",\"z=\",o(a(\"el5\")),\"\\n\",s(a(\"index1\"),\"x\"),\"\\n\",s(a(\"index3\"),\"y\"),\"\\n\",s(a(\"index5\"),\"z\")].join(\"\")),d(\"index2\",\"left\"),d(\"index4\",\"right\"),_.push(\"if(pivots_are_equal){\"),_.push(\"for(k=less;k<=great;++k){\"),p(\"comp\",\"k\",1),_.push(\"if(comp===0){continue}\"),_.push(\"if(comp<0){\"),_.push(\"if(k!==less){\"),m(\"k\",\"less\"),_.push(\"}\"),_.push(\"++less\"),_.push(\"}else{\"),_.push(\"while(true){\"),p(\"comp\",\"great\",1),_.push(\"if(comp>0){\"),_.push(\"great--\"),_.push(\"}else if(comp<0){\"),g(\"k\",\"less\",\"great\"),_.push(\"break\"),_.push(\"}else{\"),v(\"k\",\"great\"),_.push(\"break\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}else{\"),_.push(\"for(k=less;k<=great;++k){\"),p(\"comp_pivot1\",\"k\",1),_.push(\"if(comp_pivot1<0){\"),_.push(\"if(k!==less){\"),m(\"k\",\"less\"),_.push(\"}\"),_.push(\"++less\"),_.push(\"}else{\"),p(\"comp_pivot2\",\"k\",2),_.push(\"if(comp_pivot2>0){\"),_.push(\"while(true){\"),p(\"comp\",\"great\",2),_.push(\"if(comp>0){\"),_.push(\"if(--great<k){break}\"),_.push(\"continue\"),_.push(\"}else{\"),p(\"comp\",\"great\",1),_.push(\"if(comp<0){\"),g(\"k\",\"less\",\"great\"),_.push(\"}else{\"),v(\"k\",\"great\"),_.push(\"}\"),_.push(\"break\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),y(\"left\",\"(less-1)\",1),y(\"right\",\"(great+1)\",2),b(\"left\",\"(less-2)\"),b(\"(great+2)\",\"right\"),_.push(\"if(pivots_are_equal){\"),h(),_.push(\"return\"),_.push(\"}\"),_.push(\"if(less<index1&&great>index5){\"),x(\"less\",1,\"++less\"),x(\"great\",2,\"--great\"),_.push(\"for(k=less;k<=great;++k){\"),p(\"comp_pivot1\",\"k\",1),_.push(\"if(comp_pivot1===0){\"),_.push(\"if(k!==less){\"),m(\"k\",\"less\"),_.push(\"}\"),_.push(\"++less\"),_.push(\"}else{\"),p(\"comp_pivot2\",\"k\",2),_.push(\"if(comp_pivot2===0){\"),_.push(\"while(true){\"),p(\"comp\",\"great\",2),_.push(\"if(comp===0){\"),_.push(\"if(--great<k){break}\"),_.push(\"continue\"),_.push(\"}else{\"),p(\"comp\",\"great\",1),_.push(\"if(comp<0){\"),g(\"k\",\"less\",\"great\"),_.push(\"}else{\"),v(\"k\",\"great\"),_.push(\"}\"),_.push(\"break\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),_.push(\"}\"),h(),b(\"less\",\"great\"),_.push(\"}return \"+w),t.length>1&&A){var L=new Function(\"insertionSort\",\"malloc\",\"free\",_.join(\"\\n\"));return L(r,A[0],A[1])}var L=new Function(\"insertionSort\",_.join(\"\\n\"));return L(r)}function s(t,e){var r=[\"'use strict'\"],n=[\"ndarraySortWrapper\",t.join(\"d\"),e].join(\"\"),s=[\"array\"];r.push([\"function \",n,\"(\",s.join(\",\"),\"){\"].join(\"\"));for(var l=[\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\"],c=0;c<t.length;++c)l.push([\"s\",c,\"=stride[\",c,\"]|0,n\",c,\"=shape[\",c,\"]|0\"].join(\"\"));for(var h=new Array(t.length),f=[],c=0;c<t.length;++c){var d=t[c];0!==d&&(0===f.length?h[d]=\"1\":h[d]=f.join(\"*\"),f.push(\"n\"+d))}for(var p=-1,m=-1,c=0;c<t.length;++c){var g=t[c];0!==g&&(p>0?l.push([\"d\",g,\"=s\",g,\"-d\",p,\"*n\",p].join(\"\")):l.push([\"d\",g,\"=s\",g].join(\"\")),p=g);var d=t.length-1-c;0!==d&&(m>0?l.push([\"e\",d,\"=s\",d,\"-e\",m,\"*n\",m,\",f\",d,\"=\",h[d],\"-f\",m,\"*n\",m].join(\"\")):l.push([\"e\",d,\"=s\",d,\",f\",d,\"=\",h[d]].join(\"\")),m=d)}r.push(\"var \"+l.join(\",\"));var v=[\"0\",\"n0-1\",\"data\",\"offset\"].concat(i(t.length));r.push([\"if(n0<=\",u,\"){\",\"insertionSort(\",v.join(\",\"),\")}else{\",\"quickSort(\",v.join(\",\"),\")}\"].join(\"\")),r.push(\"}return \"+n);var y=new Function(\"insertionSort\",\"quickSort\",r.join(\"\\n\")),b=a(t,e);return y(b,o(t,e,b))}var l=t(\"typedarray-pool\"),u=32;e.exports=s},{\"typedarray-pool\":519}],445:[function(t,e,r){\"use strict\";function n(t){var e=t.order,r=t.dtype,n=[e,r],o=n.join(\":\"),s=a[o];return s||(a[o]=s=i(e,r)),s(t),t}var i=t(\"./lib/compile_sort.js\"),a={};e.exports=n},{\"./lib/compile_sort.js\":444}],446:[function(t,e,r){\"use strict\";var n=t(\"ndarray-linear-interpolate\"),i=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=new Array(_inline_9_arg4_)}\",args:[{name:\"_inline_9_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_9_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_9_arg2_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_9_arg3_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_9_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_.apply(void 0,this_warped)}\",args:[{name:\"_inline_10_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_10_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg4_\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warpND\",blockSize:64}),a=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0])}\",args:[{name:\"_inline_13_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_13_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp1D\",blockSize:64}),o=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_16_arg2_(this_warped,_inline_16_arg0_),_inline_16_arg1_=_inline_16_arg3_(_inline_16_arg4_,this_warped[0],this_warped[1])}\",args:[{name:\"_inline_16_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_16_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp2D\",blockSize:64}),s=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_19_arg2_(this_warped,_inline_19_arg0_),_inline_19_arg1_=_inline_19_arg3_(_inline_19_arg4_,this_warped[0],this_warped[1],this_warped[2])}\",args:[{name:\"_inline_19_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_19_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_19_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_19_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_19_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp3D\",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{\"cwise/lib/wrapper\":103,\"ndarray-linear-interpolate\":440}],447:[function(t,e,r){function n(t,e){return t[0]-e[0]}function i(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(n);var i=new Array(r.length);for(t=0;t<i.length;++t)i[t]=r[t][1];return i}function a(t,e){var r=[\"View\",e,\"d\",t].join(\"\");e<0&&(r=\"View_Nil\"+t);var n=\"generic\"===t;if(e===-1){var a=\"function \"+r+\"(a){this.data=a;};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new \"+r+\"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_\"+r+\"(a){return new \"+r+\"(a);}\",o=new Function(a);return o()}if(0===e){var a=\"function \"+r+\"(a,d) {this.data = a;this.offset = d};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function \"+r+\"_copy() {return new \"+r+\"(this.data,this.offset)};proto.pick=function \"+r+\"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function \"+r+\"_get(){return \"+(n?\"this.data.get(this.offset)\":\"this.data[this.offset]\")+\"};proto.set=function \"+r+\"_set(v){return \"+(n?\"this.data.set(this.offset,v)\":\"this.data[this.offset]=v\")+\"};return function construct_\"+r+\"(a,b,c,d){return new \"+r+\"(a,d)}\",o=new Function(\"TrivialArray\",a);return o(h[t][0])}var a=[\"'use strict'\"],s=l(e),u=s.map(function(t){return\"i\"+t}),c=\"this.offset+\"+s.map(function(t){return\"this.stride[\"+t+\"]*i\"+t}).join(\"+\"),f=s.map(function(t){return\"b\"+t}).join(\",\"),d=s.map(function(t){return\"c\"+t}).join(\",\");a.push(\"function \"+r+\"(a,\"+f+\",\"+d+\",d){this.data=a\",\"this.shape=[\"+f+\"]\",\"this.stride=[\"+d+\"]\",\"this.offset=d|0}\",\"var proto=\"+r+\".prototype\",\"proto.dtype='\"+t+\"'\",\"proto.dimension=\"+e),a.push(\"Object.defineProperty(proto,'size',{get:function \"+r+\"_size(){return \"+s.map(function(t){return\"this.shape[\"+t+\"]\"}).join(\"*\"),\"}})\"),1===e?a.push(\"proto.order=[0]\"):(a.push(\"Object.defineProperty(proto,'order',{get:\"),e<4?(a.push(\"function \"+r+\"_order(){\"),2===e?a.push(\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\"):3===e&&a.push(\"var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})\")):a.push(\"ORDER})\")),a.push(\"proto.set=function \"+r+\"_set(\"+u.join(\",\")+\",v){\"),n?a.push(\"return this.data.set(\"+c+\",v)}\"):a.push(\"return this.data[\"+c+\"]=v}\"),a.push(\"proto.get=function \"+r+\"_get(\"+u.join(\",\")+\"){\"),n?a.push(\"return this.data.get(\"+c+\")}\"):a.push(\"return this.data[\"+c+\"]}\"),a.push(\"proto.index=function \"+r+\"_index(\",u.join(),\"){return \"+c+\"}\"),a.push(\"proto.hi=function \"+r+\"_hi(\"+u.join(\",\")+\"){return new \"+r+\"(this.data,\"+s.map(function(t){return[\"(typeof i\",t,\"!=='number'||i\",t,\"<0)?this.shape[\",t,\"]:i\",t,\"|0\"].join(\"\")}).join(\",\")+\",\"+s.map(function(t){return\"this.stride[\"+t+\"]\"}).join(\",\")+\",this.offset)}\");var p=s.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}),m=s.map(function(t){return\"c\"+t+\"=this.stride[\"+t+\"]\"});a.push(\"proto.lo=function \"+r+\"_lo(\"+u.join(\",\")+\"){var b=this.offset,d=0,\"+p.join(\",\")+\",\"+m.join(\",\"));for(var g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'&&i\"+g+\">=0){d=i\"+g+\"|0;b+=c\"+g+\"*d;a\"+g+\"-=d}\");a.push(\"return new \"+r+\"(this.data,\"+s.map(function(t){return\"a\"+t}).join(\",\")+\",\"+s.map(function(t){return\"c\"+t}).join(\",\")+\",b)}\"),a.push(\"proto.step=function \"+r+\"_step(\"+u.join(\",\")+\"){var \"+s.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}).join(\",\")+\",\"+s.map(function(t){return\"b\"+t+\"=this.stride[\"+t+\"]\"}).join(\",\")+\",c=this.offset,d=0,ceil=Math.ceil\");for(var g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'){d=i\"+g+\"|0;if(d<0){c+=b\"+g+\"*(a\"+g+\"-1);a\"+g+\"=ceil(-a\"+g+\"/d)}else{a\"+g+\"=ceil(a\"+g+\"/d)}b\"+g+\"*=d}\");a.push(\"return new \"+r+\"(this.data,\"+s.map(function(t){return\"a\"+t}).join(\",\")+\",\"+s.map(function(t){return\"b\"+t}).join(\",\")+\",c)}\");for(var v=new Array(e),y=new Array(e),g=0;g<e;++g)v[g]=\"a[i\"+g+\"]\",y[g]=\"b[i\"+g+\"]\";a.push(\"proto.transpose=function \"+r+\"_transpose(\"+u+\"){\"+u.map(function(t,e){return t+\"=(\"+t+\"===undefined?\"+e+\":\"+t+\"|0)\"}).join(\";\"),\"var a=this.shape,b=this.stride;return new \"+r+\"(this.data,\"+v.join(\",\")+\",\"+y.join(\",\")+\",this.offset)}\"),a.push(\"proto.pick=function \"+r+\"_pick(\"+u+\"){var a=[],b=[],c=this.offset\");for(var g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'&&i\"+g+\">=0){c=(c+this.stride[\"+g+\"]*i\"+g+\")|0}else{a.push(this.shape[\"+g+\"]);b.push(this.stride[\"+g+\"])}\");a.push(\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\"),a.push(\"return function construct_\"+r+\"(data,shape,stride,offset){return new \"+r+\"(data,\"+s.map(function(t){return\"shape[\"+t+\"]\"}).join(\",\")+\",\"+s.map(function(t){return\"stride[\"+t+\"]\"}).join(\",\")+\",offset)}\");var o=new Function(\"CTOR_LIST\",\"ORDER\",a.join(\"\\n\"));return o(h[t],i)}function o(t){if(u(t))return\"buffer\";if(c)switch(Object.prototype.toString.call(t)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\"}return Array.isArray(t)?\"array\":\"generic\"}function s(t,e,r,n){if(void 0===t){var i=h.array[0];return i([])}\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var s=e.length;if(void 0===r){r=new Array(s);for(var l=s-1,u=1;l>=0;--l)r[l]=u,u*=e[l]}if(void 0===n){n=0;for(var l=0;l<s;++l)r[l]<0&&(n-=(e[l]-1)*r[l])}for(var c=o(t),f=h[c];f.length<=s+1;)f.push(a(c,f.length-1));var i=f[s+1];return i(t,e,r,n)}var l=t(\"iota-array\"),u=t(\"is-buffer\"),c=\"undefined\"!=typeof Float64Array,h={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=s},{\"iota-array\":274,\"is-buffer\":275}],448:[function(t,e,r){\"use strict\";function n(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=i.hi(t),n=i.lo(t);return e>t==t>0?n===o?(r+=1,n=0):n+=1:0===n?(n=o,r-=1):n-=1,i.pack(n,r)}var i=t(\"double-bits\"),a=Math.pow(2,-1074),o=-1>>>0;e.exports=n},{\"double-bits\":106}],449:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(var o=0;o<t.length;++o)for(var s=t[o],l=0,u=s[s.length-1],c=s[0],h=0;h<s.length;++h){l=u,u=c,c=s[(h+1)%s.length];for(var f=e[l],d=e[u],p=e[c],m=new Array(3),g=0,v=new Array(3),y=0,b=0;b<3;++b)m[b]=f[b]-d[b],g+=m[b]*m[b],v[b]=p[b]-d[b],y+=v[b]*v[b];if(g*y>a)for(var x=i[u],_=1/Math.sqrt(g*y),b=0;b<3;++b){var w=(b+1)%3,M=(b+2)%3;x[b]+=_*(v[w]*m[M]-v[M]*m[w])}}for(var o=0;o<n;++o){for(var x=i[o],A=0,b=0;b<3;++b)A+=x[b]*x[b];if(A>a)for(var _=1/Math.sqrt(A),b=0;b<3;++b)x[b]*=_;else for(var b=0;b<3;++b)x[b]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),u=0;u<3;++u)l[u]=e[s[u]];for(var c=new Array(3),h=new Array(3),u=0;u<3;++u)c[u]=l[1][u]-l[0][u],h[u]=l[2][u]-l[0][u];for(var f=new Array(3),d=0,u=0;u<3;++u){var p=(u+1)%3,m=(u+2)%3;f[u]=c[p]*h[m]-c[m]*h[p],d+=f[u]*f[u]}d=d>a?1/Math.sqrt(d):0;for(var u=0;u<3;++u)f[u]*=d;i[o]=f}return i}},{}],450:[function(t,e,r){\"use strict\";function n(t){if(null===t||void 0===t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}var i=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){n[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=n(t),u=1;u<arguments.length;u++){r=Object(arguments[u]);for(var c in r)a.call(r,c)&&(l[c]=r[c]);if(i){s=i(r);for(var h=0;h<s.length;h++)o.call(r,s[h])&&(l[s[h]]=r[s[h]])}}return l}},{}],451:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(h>0){var h=Math.sqrt(c+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,u),h=Math.sqrt(2*f-c+1);e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-i)/h)}return t}e.exports=n},{}],452:[function(t,e,r){\"use strict\";function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function a(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],s=i(r,n,a,o);s>1e-6?(t[0]=r/s,t[1]=n/s,t[2]=a/s,t[3]=o/s):(t[0]=t[1]=t[2]=0,t[3]=1)}function o(t,e,r){this.radius=l([r]),this.center=l(e),this.rotation=l(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}function s(t){t=t||{};var e=t.center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),r=[].slice.call(r,0,4),a(r,r);var i=new o(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up),i}e.exports=s;var l=t(\"filtered-vector\"),u=t(\"gl-mat4/lookAt\"),c=t(\"gl-mat4/fromQuat\"),h=t(\"gl-mat4/invert\"),f=t(\"./lib/quatFromFrame\"),d=o.prototype;d.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},d.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;a(e,e);var r=this.computedMatrix;c(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,h=0;h<3;++h)u+=r[l+4*h]*i[h];r[12+l]=-u}},d.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},d.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},d.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},d.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=a[1],s=a[5],l=a[9],u=n(o,s,l);o/=u,s/=u,l/=u;var c=a[0],h=a[4],f=a[8],d=c*o+h*s+f*l;c-=o*d,h-=s*d,f-=l*d;var p=n(c,h,f);c/=p,h/=p,f/=p;var m=a[2],g=a[6],v=a[10],y=m*o+g*s+v*l,b=m*c+g*h+v*f;m-=y*o+b*c,g-=y*s+b*h,v-=y*l+b*f;var x=n(m,g,v);m/=x,g/=x,v/=x;var _=c*e+o*r,w=h*e+s*r,M=f*e+l*r;this.center.move(t,_,w,M);var A=Math.exp(this.computedRadius[0]);A=Math.max(1e-4,A+i),this.radius.set(t,Math.log(A))},d.rotate=function(t,e,r,a){this.recalcMatrix(t),e=e||0,r=r||0;var o=this.computedMatrix,s=o[0],l=o[4],u=o[8],c=o[1],h=o[5],f=o[9],d=o[2],p=o[6],m=o[10],g=e*s+r*c,v=e*l+r*h,y=e*u+r*f,b=-(p*y-m*v),x=-(m*g-d*y),_=-(d*v-p*g),w=Math.sqrt(Math.max(0,1-Math.pow(b,2)-Math.pow(x,2)-Math.pow(_,2))),M=i(b,x,_,w);M>1e-6?(b/=M,x/=M,_/=M,w/=M):(b=x=_=0,w=1);var A=this.computedRotation,k=A[0],T=A[1],E=A[2],S=A[3],L=k*w+S*b+T*_-E*x,C=T*w+S*x+E*b-k*_,D=E*w+S*_+k*x-T*b,I=S*w-k*b-T*x-E*_;if(a){b=d,x=p,_=m;var z=Math.sin(a)/n(b,x,_);b*=z,x*=z,_*=z,w=Math.cos(e),L=L*w+I*b+C*_-D*x,C=C*w+I*x+D*b-L*_,D=D*w+I*_+L*x-C*b,I=I*w-L*b-C*x-D*_}var P=i(L,C,D,I);P>1e-6?(L/=P,C/=P,D/=P,I/=P):(L=C=D=0,I=1),this.rotation.set(t,L,C,D,I)},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;u(i,e,r,n);var o=this.computedRotation;f(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),a(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var s=0,l=0;l<3;++l)s+=Math.pow(r[l]-e[l],2);this.radius.set(t,.5*Math.log(Math.max(s,1e-6))),this.center.set(t,r[0],r[1],r[2])},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e){var r=this.computedRotation;f(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),a(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;h(n,e);var i=n[15];if(Math.abs(i)>1e-6){var o=n[12]/i,s=n[13]/i,l=n[14]/i;this.recalcMatrix(t);var u=Math.exp(this.computedRadius[0]);this.center.set(t,o-n[2]*u,s-n[6]*u,l-n[10]*u),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},d.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},d.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-(1/0),e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},d.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},d.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},d.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\"./lib/quatFromFrame\":451,\"filtered-vector\":115,\"gl-mat4/fromQuat\":159,\"gl-mat4/invert\":162,\"gl-mat4/lookAt\":163}],453:[function(t,e,r){\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return r=void 0!==r?r+\"\":\" \",n(r,e)+t}},{\"repeat-string\":479}],454:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],455:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n>=0;n--){var i=t[n];\".\"===i?t.splice(n,1):\"..\"===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift(\"..\");return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n<t.length;n++)e(t[n],n,t)&&r.push(t[n]);return r}var i=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,a=function(t){return i.exec(t).slice(1)};r.resolve=function(){for(var r=\"\",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if(\"string\"!=typeof o)throw new TypeError(\"Arguments to path.resolve must be strings\");o&&(r=o+\"/\"+r,i=\"/\"===o.charAt(0))}return r=e(n(r.split(\"/\"),function(t){return!!t}),!i).join(\"/\"),(i?\"/\":\"\")+r||\".\"},r.normalize=function(t){var i=r.isAbsolute(t),a=\"/\"===o(t,-1);return t=e(n(t.split(\"/\"),function(t){return!!t}),!i).join(\"/\"),t||i||(t=\".\"),t&&a&&(t+=\"/\"),(i?\"/\":\"\")+t},r.isAbsolute=function(t){return\"/\"===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"Arguments to path.join must be strings\");return t}).join(\"/\"))},r.relative=function(t,e){function n(t){for(var e=0;e<t.length&&\"\"===t[e];e++);for(var r=t.length-1;r>=0&&\"\"===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split(\"/\")),a=n(e.split(\"/\")),o=Math.min(i.length,a.length),s=o,l=0;l<o;l++)if(i[l]!==a[l]){s=l;break}for(var u=[],l=s;l<i.length;l++)u.push(\"..\");return u=u.concat(a.slice(s)),u.join(\"/\")},r.sep=\"/\",r.delimiter=\":\",r.dirname=function(t){var e=a(t),r=e[0],n=e[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):\".\"},r.basename=function(t,e){var r=a(t)[2];return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){return a(t)[3]};var o=\"b\"===\"ab\".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,t(\"_process\"))},{_process:466}],456:[function(t,e,r){\"use strict\";function n(t){var e;t&&t.length&&(e=t,t=e.length);var r=new Uint8Array(t||0);return e&&r.set(e),r.readUInt32LE=a.readUInt32LE,r.writeUInt32LE=a.writeUInt32LE,r.readInt32LE=a.readInt32LE,r.writeInt32LE=a.writeInt32LE,r.readFloatLE=a.readFloatLE,r.writeFloatLE=a.writeFloatLE,r.readDoubleLE=a.readDoubleLE,r.writeDoubleLE=a.writeDoubleLE,r.toString=a.toString,r.write=a.write,r.slice=a.slice,r.copy=a.copy,r._isBuffer=!0,r}function i(t){for(var e,r,n=t.length,i=[],a=0;a<n;a++){if((e=t.charCodeAt(a))>55295&&e<57344){if(!r){e>56319||a+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}e.exports=n;var a,o,s,l=t(\"ieee754\");a={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return l.read(this,t,!0,23,4)},readDoubleLE:function(t){return l.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return l.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return l.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var a=e;a<r;a++){var o=this[a];o<=127?(n+=decodeURIComponent(i)+String.fromCharCode(o),i=\"\"):i+=\"%\"+o.toString(16)}return n+=decodeURIComponent(i)},write:function(t,e){for(var r=t===o?s:i(t),n=0;n<r.length;n++)this[e+n]=r[n]},slice:function(t,e){return this.subarray(t,e)},copy:function(t,e){e=e||0;for(var r=0;r<this.length;r++)t[e+r]=this[r]}},a.writeInt32LE=a.writeUInt32LE,n.byteLength=function(t){return o=t,s=i(t),s.length},n.isBuffer=function(t){return!(!t||!t._isBuffer)}},{ieee754:270}],457:[function(t,e,r){(function(r){\"use strict\";function n(t){this.buf=g.isBuffer(t)?t:new g(t||0),this.pos=0,this.length=this.buf.length}function i(t,e){var r,n=e.buf;if(r=n[e.pos++],t+=268435456*(127&r),r<128)return t;if(r=n[e.pos++],t+=34359738368*(127&r),r<128)return t;if(r=n[e.pos++],t+=4398046511104*(127&r),r<128)return t;if(r=n[e.pos++],t+=562949953421312*(127&r),r<128)return t;if(r=n[e.pos++],t+=72057594037927940*(127&r),r<128)return t;if(r=n[e.pos++],t+=0x8000000000000000*(127&r),r<128)return t;throw new Error(\"Expected varint not more than 10 bytes\")}function a(t,e){e.realloc(10);for(var r=e.pos+10;t>=1;){if(e.pos>=r)throw new Error(\"Given varint doesn't fit into 10 bytes\");var n=255&t;e.buf[e.pos++]=n|(t>=128?128:0),t/=128}}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function l(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function u(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function c(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function h(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function f(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function d(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function p(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function m(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}e.exports=n;var g=r.Buffer||t(\"./buffer\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;var v=Math.pow(2,63);n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readUInt32LE(this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readInt32LE(this.pos+4);return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,e,r=this.buf;return e=r[this.pos++],t=127&e,e<128?t:(e=r[this.pos++],t|=(127&e)<<7,e<128?t:(e=r[this.pos++],t|=(127&e)<<14,e<128?t:(e=r[this.pos++],t|=(127&e)<<21,e<128?t:i(t,this))))},readVarint64:function(){var t=this.pos,e=this.readVarint();if(e<v)return e;for(var r=this.pos-2;255===this.buf[r];)r--;r<t&&(r=t),e=0;for(var n=0;n<r-t+1;n++){var i=127&~this.buf[t+n];e+=n<4?i<<7*n:i*Math.pow(2,7*n)}return-e-1},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.buf.toString(\"utf8\",this.pos,t)\n;return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.slice(this.pos,t);return this.pos=t,e},readPackedVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readVarint());return e},readPackedSVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSVarint());return e},readPackedBoolean:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readBoolean());return e},readPackedFloat:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFloat());return e},readPackedDouble:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readDouble());return e},readPackedFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSFixed64());return e},skip:function(t){var e=7&t;if(e===n.Varint)for(;this.buf[this.pos++]>127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new g(e);this.buf.copy(r),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.slice(0,this.length)},writeFixed32:function(t){this.realloc(4),this.buf.writeUInt32LE(t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),this.buf.writeInt32LE(t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(t&-1,this.pos),this.buf.writeUInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(t&-1,this.pos),this.buf.writeInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){if((t=+t)>268435455)return void a(t,this);this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var e=g.byteLength(t);this.writeVarint(e),this.realloc(e),this.buf.write(t,this.pos),this.pos+=e},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,h,e)},writePackedFloat:function(t,e){this.writeMessage(t,u,e)},writePackedDouble:function(t,e){this.writeMessage(t,c,e)},writePackedFixed32:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,d,e)},writePackedFixed64:function(t,e){this.writeMessage(t,p,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,m,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./buffer\":456}],458:[function(t,e,r){\"use strict\";function n(t){var e=t.length;if(e<i){for(var r=1,n=0;n<e;++n)for(var o=0;o<n;++o)if(t[n]<t[o])r=-r;else if(t[n]===t[o])return 0;return r}for(var s=a.mallocUint8(e),n=0;n<e;++n)s[n]=0;for(var r=1,n=0;n<e;++n)if(!s[n]){var l=1;s[n]=1;for(var o=t[n];o!==n;o=t[o]){if(s[o])return a.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return a.freeUint8(s),r}e.exports=n;var i=32,a=t(\"typedarray-pool\")},{\"typedarray-pool\":519}],459:[function(t,e,r){\"use strict\";function n(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,n,i,s=a.mallocUint32(e),l=a.mallocUint32(e),u=0;for(o(t,l),i=0;i<e;++i)s[i]=t[i];for(i=e-1;i>0;--i)n=l[i],r=s[i],s[i]=s[n],s[n]=r,l[i]=l[r],l[r]=n,u=(u+r)*i;return a.freeUint32(l),a.freeUint32(s),u}function i(t,e,r){switch(t){case 0:return r?r:[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}r=r||new Array(t);var n,i,a,o=1;for(r[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)n=e/o|0,e=e-n*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}var a=t(\"typedarray-pool\"),o=t(\"invert-permutation\");r.rank=n,r.unrank=i},{\"invert-permutation\":273,\"typedarray-pool\":519}],460:[function(t,e,r){\"use strict\";function n(t,e){function r(t,e){var r=s[e][t[e]];r.splice(r.indexOf(t),1)}function n(t,n,a){for(var o,l,u,c=0;c<2;++c)if(s[c][n].length>0){o=s[c][n][0],u=c;break}l=o[1^u];for(var h=0;h<2;++h)for(var f=s[h][n],d=0;d<f.length;++d){var p=f[d],m=p[1^h],g=i(e[t],e[n],e[l],e[m]);g>0&&(o=p,l=m,u=h)}return a?l:(o&&r(o,u),l)}for(var a=0|e.length,o=t.length,s=[new Array(a),new Array(a)],l=0;l<a;++l)s[0][l]=[],s[1][l]=[];for(var l=0;l<o;++l){var u=t[l];s[0][u[0]].push(u),s[1][u[1]].push(u)}for(var c=[],l=0;l<a;++l)s[0][l].length+s[1][l].length===0&&c.push([l]);for(var l=0;l<a;++l)for(var h=0;h<2;++h){for(var f=[];s[h][l].length>0;){var d=(s[0][l].length,function(t,a){var o=s[a][t][0],l=[t];r(o,a);for(var u=o[1^a];;){for(;u!==t;)l.push(u),u=n(l[l.length-2],u,!1);if(s[0][t].length+s[1][t].length===0)break;var c=l[l.length-1],h=t,f=l[1],d=n(c,h,!0);if(i(e[c],e[h],e[f],e[d])<0)break;l.push(t),u=n(c,h)}return l}(l,h));!function(t,e){return e[1]===e[e.length-1]}(f,d)?(f.length>0&&c.push(f),f=d):f.push.apply(f,d)}f.length>0&&c.push(f)}return c}e.exports=n;var i=t(\"compare-angle\")},{\"compare-angle\":90}],461:[function(t,e,r){\"use strict\";function n(t,e){for(var r=i(t,e.length),n=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,n[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var u=o.pop();n[u]=!1;for(var c=r[u],s=0;s<c.length;++s){var h=c[s];0==--a[h]&&o.push(h)}}for(var f=new Array(e.length),d=[],s=0;s<e.length;++s)if(n[s]){var u=d.length;f[s]=u,d.push(e[s])}else f[s]=-1;for(var p=[],s=0;s<t.length;++s){var m=t[s];n[m[0]]&&n[m[1]]&&p.push([f[m[0]],f[m[1]]])}return[p,d]}e.exports=n;var i=t(\"edges-to-adjacency-list\")},{\"edges-to-adjacency-list\":109}],462:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function i(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}function a(t,e){function r(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],s=u(-a[0],a[1]),l=u(-a[0],o[1]),h=u(o[0],a[1]),f=u(o[0],o[1]);n=c(n,c(c(s,l),c(h,f)))}return n[n.length-1]>0}function a(t){for(var e=t.length,r=0;r<e;++r)if(!P[t[r]])return!1;return!0}var d=f(t,e);t=d[0],e=d[1];for(var p=e.length,m=(t.length,o(t,e.length)),g=0;g<p;++g)if(m[g].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var v=s(t,e);v=v.filter(r);for(var y=v.length,b=new Array(y),x=new Array(y),g=0;g<y;++g){b[g]=g;var _=new Array(y),w=v[g].map(function(t){return e[t]}),M=l([w]),A=0;t:for(var k=0;k<y;++k)if(_[k]=0,g!==k){for(var T=v[k],E=T.length,S=0;S<E;++S){var L=M(e[T[S]]);if(0!==L){L<0&&(_[k]=1,A+=1);continue t}}_[k]=1,A+=1}x[g]=[A,g,_]}x.sort(function(t,e){return e[0]-t[0]});for(var g=0;g<y;++g)for(var _=x[g],C=_[1],D=_[2],k=0;k<y;++k)D[k]&&(b[k]=C);for(var I=i(y),g=0;g<y;++g)I[g].push(b[g]),I[b[g]].push(g);for(var z={},P=n(p,!1),g=0;g<y;++g)for(var T=v[g],E=T.length,k=0;k<E;++k){var O=T[k],R=T[(k+1)%E],F=Math.min(O,R)+\":\"+Math.max(O,R);if(F in z){var j=z[F];I[j].push(g),I[g].push(j),P[O]=P[R]=!0}else z[F]=g}for(var N=[],B=n(y,-1),g=0;g<y;++g)b[g]!==g||a(v[g])?B[g]=-1:(N.push(g),B[g]=0);for(var d=[];N.length>0;){var U=N.pop(),V=I[U];h(V,function(t,e){return t-e});var H,q=V.length,G=B[U];if(0===G){var T=v[U];H=[T]}for(var g=0;g<q;++g){var Y=V[g];if(!(B[Y]>=0)&&(B[Y]=1^G,N.push(Y),0===G)){var T=v[Y];a(T)||(T.reverse(),H.push(T))}}0===G&&d.push(H)}return d}e.exports=a;var o=t(\"edges-to-adjacency-list\"),s=t(\"planar-dual\"),l=t(\"point-in-big-polygon\"),u=t(\"two-product\"),c=t(\"robust-sum\"),h=t(\"uniq\"),f=t(\"./lib/trim-leaves\")},{\"./lib/trim-leaves\":461,\"edges-to-adjacency-list\":109,\"planar-dual\":460,\"point-in-big-polygon\":464,\"robust-sum\":492,\"two-product\":517,uniq:521}],463:[function(t,e,r){\"use strict\";function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],464:[function(t,e,r){function n(){return!0}function i(t){return function(e,r){var i=t[e];return!!i&&!!i.queryPoint(r,n)}}function a(t){for(var e={},r=0;r<t.length;++r){var n=t[r],a=n[0][0],o=n[0][1],s=n[1][1],l=[Math.min(o,s),Math.max(o,s)];a in e?e[a].push(l):e[a]=[l]}for(var u={},c=Object.keys(e),r=0;r<c.length;++r){var h=e[c[r]];u[c[r]]=d(h)}return i(u)}function o(t,e){return function(r){var n=p.le(e,r[0]);if(n<0)return 1;var i=t[n];if(!i){if(!(n>0&&e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var o=i.key,s=h(r,o[0],o[1]);if(o[0][0]<o[1][0])if(s<0)i=i.left;else{if(!(s>0))return 0;a=-1,i=i.right}else if(s>0)i=i.left;else{if(!(s<0))return 0;a=1,i=i.right}}return a}}function s(t){return 1}function l(t){return function(e){return t(e[0],e[1])?0:1}}function u(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}function c(t){for(var e=t.length,r=[],n=[],i=0;i<e;++i)for(var c=t[i],h=c.length,d=h-1,p=0;p<h;d=p++){var m=c[d],g=c[p];m[0]===g[0]?n.push([m,g]):r.push([m,g])}if(0===r.length)return 0===n.length?s:l(a(n));var v=f(r),y=o(v.slabs,v.coordinates);return 0===n.length?y:u(a(n),y)}e.exports=c;var h=t(\"robust-orientation\")[3],f=t(\"slab-decomposition\"),d=t(\"interval-tree-1d\"),p=t(\"binary-search-bounds\")},{\"binary-search-bounds\":56,\"interval-tree-1d\":272,\"robust-orientation\":487,\"slab-decomposition\":504}],465:[function(t,e,r){\"use strict\";function n(t,e,r,n,s){i.length<n.length&&(i=new Float64Array(n.length),a=new Float64Array(n.length),o=new Float64Array(n.length));for(var l=0;l<n.length;++l)i[l]=t[l]-n[l],a[l]=e[l]-t[l],o[l]=r[l]-t[l];for(var u=0,c=0,h=0,f=0,d=0,p=0,l=0;l<n.length;++l){var m=a[l],g=o[l],v=i[l];u+=m*m,c+=m*g,h+=g*g,f+=v*m,d+=v*g,p+=v*v}var y,b=Math.abs(u*h-c*c),x=c*d-h*f,_=c*f-u*d;if(x+_<=b)if(x<0)_<0&&f<0?(_=0,-f>=u?(x=1,y=u+2*f+p):(x=-f/u,y=f*x+p)):(x=0,d>=0?(_=0,y=p):-d>=h?(_=1,y=h+2*d+p):(_=-d/h,y=d*_+p));else if(_<0)_=0,f>=0?(x=0,y=p):-f>=u?(x=1,y=u+2*f+p):(x=-f/u,y=f*x+p);else{var w=1/b;x*=w,_*=w,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p}else{var M,A,k,T;x<0?(M=c+f,A=h+d,A>M?(k=A-M,T=u-2*c+h,k>=T?(x=1,_=0,y=u+2*f+p):(x=k/T,_=1-x,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)):(x=0,A<=0?(_=1,y=h+2*d+p):d>=0?(_=0,y=p):(_=-d/h,y=d*_+p))):_<0?(M=c+d,A=u+f,A>M?(k=A-M,T=u-2*c+h,k>=T?(_=1,x=0,y=h+2*d+p):(_=k/T,x=1-_,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)):(_=0,A<=0?(x=1,y=u+2*f+p):f>=0?(x=0,y=p):(x=-f/u,y=f*x+p))):(k=h+d-c-f,k<=0?(x=0,_=1,y=h+2*d+p):(T=u-2*c+h,k>=T?(x=1,_=0,y=u+2*f+p):(x=k/T,_=1-x,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)))}for(var E=1-x-_,l=0;l<n.length;++l)s[l]=E*t[l]+x*e[l]+_*r[l];return y<0?0:y}var i=new Float64Array(4),a=new Float64Array(4),o=new Float64Array(4);e.exports=n},{}],466:[function(t,e,r){function n(){throw new Error(\"setTimeout has not been defined\")}function i(){throw new Error(\"clearTimeout has not been defined\")}function a(t){if(h===setTimeout)return setTimeout(t,0);if((h===n||!h)&&setTimeout)return h=setTimeout,setTimeout(t,0);try{return h(t,0)}catch(e){try{return h.call(null,t,0)}catch(e){return h.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function s(){g&&p&&(g=!1,p.length?m=p.concat(m):v=-1,m.length&&l())}function l(){if(!g){var t=a(s);g=!0;for(var e=m.length;e;){for(p=m,m=[];++v<e;)p&&p[v].run();v=-1,e=m.length}p=null,g=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var h,f,d=e.exports={};!function(){try{h=\"function\"==typeof setTimeout?setTimeout:n}catch(t){h=n}try{f=\"function\"==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var p,m=[],g=!1,v=-1;d.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];m.push(new u(t,e)),1!==m.length||g||a(l)},u.prototype.run=function(){this.fun.apply(null,this.array)},d.title=\"browser\",d.browser=!0,d.env={},d.argv=[],d.version=\"\",d.versions={},d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(t){throw new Error(\"process.binding is not supported\")},d.cwd=function(){return\"/\"},d.chdir=function(t){throw new Error(\"process.chdir is not supported\")},d.umask=function(){return 0}},{}],467:[function(e,r,n){(function(e){!function(i){function a(t){throw new RangeError(P[t])}function o(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function s(t,e){var r=t.split(\"@\"),n=\"\";return r.length>1&&(n=r[0]+\"@\",t=r[1]),t=t.replace(z,\".\"),n+o(t.split(\".\"),e).join(\".\")}function l(t){for(var e,r,n=[],i=0,a=t.length;i<a;)e=t.charCodeAt(i++),e>=55296&&e<=56319&&i<a?(r=t.charCodeAt(i++),56320==(64512&r)?n.push(((1023&e)<<10)+(1023&r)+65536):(n.push(e),i--)):n.push(e);return n}function u(t){return o(t,function(t){var e=\"\";return t>65535&&(t-=65536,e+=F(t>>>10&1023|55296),t=56320|1023&t),e+=F(t)}).join(\"\")}function c(t){return t-48<10?t-22:t-65<26?t-65:t-97<26?t-97:M}function h(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function f(t,e,r){var n=0;for(t=r?R(t/E):t>>1,t+=R(t/e);t>O*k>>1;n+=M)t=R(t/O);return R(n+(O+1)*t/(t+T))}function d(t){var e,r,n,i,o,s,l,h,d,p,m=[],g=t.length,v=0,y=L,b=S;for(r=t.lastIndexOf(C),r<0&&(r=0),n=0;n<r;++n)t.charCodeAt(n)>=128&&a(\"not-basic\"),m.push(t.charCodeAt(n));for(i=r>0?r+1:0;i<g;){for(o=v,s=1,l=M;i>=g&&a(\"invalid-input\"),h=c(t.charCodeAt(i++)),(h>=M||h>R((w-v)/s))&&a(\"overflow\"),v+=h*s,d=l<=b?A:l>=b+k?k:l-b,!(h<d);l+=M)p=M-d,s>R(w/p)&&a(\"overflow\"),s*=p;e=m.length+1,b=f(v-o,e,0==o),R(v/e)>w-y&&a(\"overflow\"),y+=R(v/e),v%=e,m.splice(v++,0,y)}return u(m)}function p(t){var e,r,n,i,o,s,u,c,d,p,m,g,v,y,b,x=[];for(t=l(t),g=t.length,e=L,r=0,o=S,s=0;s<g;++s)(m=t[s])<128&&x.push(F(m));for(n=i=x.length,i&&x.push(C);n<g;){for(u=w,s=0;s<g;++s)(m=t[s])>=e&&m<u&&(u=m);for(v=n+1,u-e>R((w-r)/v)&&a(\"overflow\"),r+=(u-e)*v,e=u,s=0;s<g;++s)if(m=t[s],m<e&&++r>w&&a(\"overflow\"),m==e){for(c=r,d=M;p=d<=o?A:d>=o+k?k:d-o,!(c<p);d+=M)b=c-p,y=M-p,x.push(F(h(p+b%y,0))),c=R(b/y);x.push(F(h(c,0))),o=f(r,v,n==i),r=0,++n}++r,++e}return x.join(\"\")}function m(t){return s(t,function(t){return D.test(t)?d(t.slice(4).toLowerCase()):t})}function g(t){return s(t,function(t){return I.test(t)?\"xn--\"+p(t):t})}var v=\"object\"==typeof n&&n&&!n.nodeType&&n,y=\"object\"==typeof r&&r&&!r.nodeType&&r,b=\"object\"==typeof e&&e;b.global!==b&&b.window!==b&&b.self!==b||(i=b);var x,_,w=2147483647,M=36,A=1,k=26,T=38,E=700,S=72,L=128,C=\"-\",D=/^xn--/,I=/[^\\x20-\\x7E]/,z=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,P={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},O=M-A,R=Math.floor,F=String.fromCharCode;if(x={version:\"1.4.1\",ucs2:{decode:l,encode:u},decode:d,encode:p,toASCII:g,toUnicode:m},\"function\"==typeof t&&\"object\"==typeof t.amd&&t.amd)t(\"punycode\",function(){return x});else if(v&&y)if(r.exports==v)y.exports=x;else for(_ in x)x.hasOwnProperty(_)&&(v[_]=x[_]);else i.punycode=x}(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],468:[function(t,e,r){e.exports=t(\"gl-quat/slerp\")},{\"gl-quat/slerp\":212}],469:[function(t,e,r){\"use strict\";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,a){e=e||\"&\",r=r||\"=\";var o={};if(\"string\"!=typeof t||0===t.length)return o;t=t.split(e);var s=1e3;a&&\"number\"==typeof a.maxKeys&&(s=a.maxKeys);var l=t.length;s>0&&l>s&&(l=s);for(var u=0;u<l;++u){var c,h,f,d,p=t[u].replace(/\\+/g,\"%20\"),m=p.indexOf(r);m>=0?(c=p.substr(0,m),h=p.substr(m+1)):(c=p,h=\"\"),f=decodeURIComponent(c),d=decodeURIComponent(h),n(o,f)?i(o[f])?o[f].push(d):o[f]=[o[f],d]:o[f]=d}return o};var i=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)}},{}],470:[function(t,e,r){\"use strict\";function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n<t.length;n++)r.push(e(t[n],n));return r}var i=function(t){switch(typeof t){case\"string\":return t;case\"boolean\":return t?\"true\":\"false\";case\"number\":return isFinite(t)?t:\"\";default:return\"\"}};e.exports=function(t,e,r,s){return e=e||\"&\",r=r||\"=\",null===t&&(t=void 0),\"object\"==typeof t?n(o(t),function(o){var s=encodeURIComponent(i(o))+r;return a(t[o])?n(t[o],function(t){return s+encodeURIComponent(i(t))}).join(e):s+encodeURIComponent(i(t[o]))}).join(e):s?encodeURIComponent(i(s))+r+encodeURIComponent(i(t)):\"\"};var a=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},o=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return e}},{}],471:[function(t,e,r){\"use strict\";r.decode=r.parse=t(\"./decode\"),r.encode=r.stringify=t(\"./encode\")},{\"./decode\":469,\"./encode\":470}],472:[function(t,e,r){\"use strict\";function n(t,e,r,o,s){for(r=r||0,o=o||t.length-1,s=s||a;o>r;){if(o-r>600){var l=o-r+1,u=e-r+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);n(t,e,Math.max(r,Math.floor(e-u*h/l+f)),Math.min(o,Math.floor(e+(l-u)*h/l+f)),s)}var d=t[e],p=r,m=o;for(i(t,r,e),s(t[o],d)>0&&i(t,r,o);p<m;){for(i(t,p,m),p++,m--;s(t[p],d)<0;)p++;for(;s(t[m],d)>0;)m--}0===s(t[r],d)?i(t,r,m):(m++,i(t,m,o)),m<=e&&(r=m+1),e<=m&&(o=m-1)}}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function a(t,e){return t<e?-1:t>e?1:0}e.exports=n},{}],473:[function(t,e,r){\"use strict\";function n(t,e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=i(t[a],e[a]);return n}var i=t(\"big-rat/add\");e.exports=n},{\"big-rat/add\":40}],474:[function(t,e,r){\"use strict\";function n(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=i(t[r]);return e}e.exports=n;var i=t(\"big-rat\")},{\"big-rat\":43}],475:[function(t,e,r){\"use strict\";function n(t,e){for(var r=i(e),n=t.length,o=new Array(n),s=0;s<n;++s)o[s]=a(t[s],r);return o}var i=t(\"big-rat\"),a=t(\"big-rat/mul\");e.exports=n},{\"big-rat\":43,\"big-rat/mul\":52}],476:[function(t,e,r){\"use strict\";function n(t,e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=i(t[a],e[a]);return n}var i=t(\"big-rat/sub\");e.exports=n},{\"big-rat/sub\":54}],477:[function(t,e,r){\"use strict\";function n(t){t.sort(a);for(var e=t.length,r=0,n=0;n<e;++n){var s=t[n],l=o(s);if(0!==l){if(r>0){var u=t[r-1];if(0===i(s,u)&&o(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}var i=t(\"compare-cell\"),a=t(\"compare-oriented-cell\"),o=t(\"cell-orientation\");e.exports=n},{\"cell-orientation\":75,\"compare-cell\":91,\"compare-oriented-cell\":92}],478:[function(e,r,n){!function(e,i){\"object\"==typeof n&&void 0!==r?r.exports=i():\"function\"==typeof t&&t.amd?t(i):e.createREGL=i()}(this,function(){\"use strict\";function t(t){return\"undefined\"!=typeof btoa?btoa(t):\"base64:\"+t}function e(t){var e=new Error(\"(regl) \"+t);throw console.error(e),e}function r(t,r){t||e(r)}function n(t){return t?\": \"+t:\"\"}function i(t,r,i){t in r||e(\"unknown parameter (\"+t+\")\"+n(i)+\". possible values: \"+Object.keys(r).join())}function a(t,r){Qt(t)||e(\"invalid parameter type\"+n(r)+\". must be a typed array\")}function o(t,r,i){typeof t!==r&&e(\"invalid parameter type\"+n(i)+\". expected \"+r+\", got \"+typeof t)}function s(t,r){t>=0&&(0|t)===t||e(\"invalid parameter type, (\"+t+\")\"+n(r)+\". must be a nonnegative integer\")}function l(t,r,i){r.indexOf(t)<0&&e(\"invalid value\"+n(i)+\". must be one of: \"+r)}function u(t){Object.keys(t).forEach(function(t){te.indexOf(t)<0&&e('invalid regl constructor argument \"'+t+'\". must be one of '+te)})}function c(t,e){for(t+=\"\";t.length<e;)t=\" \"+t;return t}function h(){this.name=\"unknown\",this.lines=[],this.index={},this.hasErrors=!1}function f(t,e){this.number=t,this.line=e,this.errors=[]}function d(t,e,r){this.file=t,this.line=e,this.message=r}function p(){var t=new Error,e=(t.stack||t).toString(),r=/compileProcedure.*\\n\\s*at.*\\((.*)\\)/.exec(e);if(r)return r[1];var n=/compileProcedure.*\\n\\s*at\\s+(.*)(\\n|$)/.exec(e);return n?n[1]:\"unknown\"}function m(){var t=new Error,e=(t.stack||t).toString(),r=/at REGLCommand.*\\n\\s+at.*\\((.*)\\)/.exec(e);if(r)return r[1];var n=/at REGLCommand.*\\n\\s+at\\s+(.*)\\n/.exec(e);return n?n[1]:\"unknown\"}function g(e,r){var n=e.split(\"\\n\"),i=1,a=0,o={unknown:new h,0:new h};o.unknown.name=o[0].name=r||p(),o.unknown.lines.push(new f(0,\"\"));for(var s=0;s<n.length;++s){var l=n[s],u=/^\\s*\\#\\s*(\\w+)\\s+(.+)\\s*$/.exec(l);if(u)switch(u[1]){case\"line\":var c=/(\\d+)(\\s+\\d+)?/.exec(u[2]);c&&(i=0|c[1],c[2]&&((a=0|c[2])in o||(o[a]=new h)));break;case\"define\":var d=/SHADER_NAME(_B64)?\\s+(.*)$/.exec(u[2]);d&&(o[a].name=d[1]?t(d[2]):d[2])}o[a].lines.push(new f(i++,l))}return Object.keys(o).forEach(function(t){var e=o[t];e.lines.forEach(function(t){e.index[t.number]=t})}),o}function v(t){var e=[];return t.split(\"\\n\").forEach(function(t){if(!(t.length<5)){var r=/^ERROR\\:\\s+(\\d+)\\:(\\d+)\\:\\s*(.*)$/.exec(t);r?e.push(new d(0|r[1],0|r[2],r[3].trim())):t.length>0&&e.push(new d(\"unknown\",0,t))}}),e}function y(t,e){e.forEach(function(e){var r=t[e.file];if(r){var n=r.index[e.line];if(n)return n.errors.push(e),void(r.hasErrors=!0)}t.unknown.hasErrors=!0,t.unknown.lines[0].errors.push(e)})}function b(t,e,n,i,a){if(!t.getShaderParameter(e,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(e),s=i===t.FRAGMENT_SHADER?\"fragment\":\"vertex\";T(n,\"string\",s+\" shader source must be a string\",a);var l=g(n,a);y(l,v(o)),Object.keys(l).forEach(function(t){function e(t,e){n.push(t),i.push(e||\"\")}var r=l[t];if(r.hasErrors){var n=[\"\"],i=[\"\"];e(\"file number \"+t+\": \"+r.name+\"\\n\",\"color:red;text-decoration:underline;font-weight:bold\"),r.lines.forEach(function(t){if(t.errors.length>0){e(c(t.number,4)+\"|  \",\"background-color:yellow; font-weight:bold\"),e(t.line+\"\\n\",\"color:red; background-color:yellow; font-weight:bold\");var r=0;t.errors.forEach(function(n){var i=n.message,a=/^\\s*\\'(.*)\\'\\s*\\:\\s*(.*)$/.exec(i);if(a){var o=a[1];switch(i=a[2],o){case\"assign\":o=\"=\"}r=Math.max(t.line.indexOf(o,r),0)}else r=0;e(c(\"| \",6)),e(c(\"^^^\",r+3)+\"\\n\",\"font-weight:bold\"),e(c(\"| \",6)),e(i+\"\\n\",\"font-weight:bold\")}),e(c(\"| \",6)+\"\\n\")}else e(c(t.number,4)+\"|  \"),e(t.line+\"\\n\",\"color:red\")}),\"undefined\"!=typeof document?(i[0]=n.join(\"%c\"),console.log.apply(console,i)):console.log(n.join(\"\"))}}),r.raise(\"Error compiling \"+s+\" shader, \"+l[0].name)}}function x(t,e,n,i,a){if(!t.getProgramParameter(e,t.LINK_STATUS)){var o=t.getProgramInfoLog(e),s=g(n,a),l=g(i,a),u='Error linking program with vertex shader, \"'+l[0].name+'\", and fragment shader \"'+s[0].name+'\"';\"undefined\"!=typeof document?console.log(\"%c\"+u+\"\\n%c\"+o,\"color:red;text-decoration:underline;font-weight:bold\",\"color:red\"):console.log(u+\"\\n\"+o),r.raise(u)}}function _(t){t._commandRef=p()}function w(t,e,r,n){function i(t){return t?n.id(t):0}function a(t,e){Object.keys(e).forEach(function(e){t[n.id(e)]=!0})}_(t),t._fragId=i(t.static.frag),t._vertId=i(t.static.vert);var o=t._uniformSet={};a(o,e.static),a(o,e.dynamic);var s=t._attributeSet={};a(s,r.static),a(s,r.dynamic),t._hasCount=\"count\"in t.static||\"count\"in t.dynamic||\"elements\"in t.static||\"elements\"in t.dynamic}function M(t,r){var n=m();e(t+\" in command \"+(r||p())+(\"unknown\"===n?\"\":\" called from \"+n))}function A(t,e,r){t||M(e,r||p())}function k(t,e,r,i){t in e||M(\"unknown parameter (\"+t+\")\"+n(r)+\". possible values: \"+Object.keys(e).join(),i||p())}function T(t,e,r,i){typeof t!==e&&M(\"invalid parameter type\"+n(r)+\". expected \"+e+\", got \"+typeof t,i||p())}function E(t){t()}function S(t,e,r){t.texture?l(t.texture._texture.internalformat,e,\"unsupported texture format for attachment\"):l(t.renderbuffer._renderbuffer.format,r,\"unsupported renderbuffer format for attachment\")}function L(t,e){return t===ue||t===le||t===ce?2:t===he?4:fe[t]*e}function C(t){return!(t&t-1||!t)}function D(t,e,n){var i,a=e.width,o=e.height,s=e.channels;r(a>0&&a<=n.maxTextureSize&&o>0&&o<=n.maxTextureSize,\"invalid texture shape\"),t.wrapS===ee&&t.wrapT===ee||r(C(a)&&C(o),\"incompatible wrap mode for texture, both width and height must be power of 2\"),1===e.mipmask?1!==a&&1!==o&&r(t.minFilter!==ne&&t.minFilter!==ae&&t.minFilter!==ie&&t.minFilter!==oe,\"min filter requires mipmap\"):(r(C(a)&&C(o),\"texture must be a square power of 2 to support mipmapping\"),r(e.mipmask===(a<<1)-1,\"missing or incomplete mipmap data\")),e.type===se&&(n.extensions.indexOf(\"oes_texture_float_linear\")<0&&r(t.minFilter===re&&t.magFilter===re,\"filter not supported, must enable oes_texture_float_linear\"),r(!t.genMipmaps,\"mipmap generation not supported with float textures\"));var l=e.images;for(i=0;i<16;++i)if(l[i]){var u=a>>i,c=o>>i;r(e.mipmask&1<<i,\"missing mipmap data\");var h=l[i];if(r(h.width===u&&h.height===c,\"invalid shape for mip images\"),r(h.format===e.format&&h.internalformat===e.internalformat&&h.type===e.type,\"incompatible type for mip image\"),h.compressed);else if(h.data){var f=Math.ceil(L(h.type,s)*u/h.unpackAlignment)*h.unpackAlignment;r(h.data.byteLength===f*c,\"invalid data for image, buffer size is inconsistent with image format\")}else h.element||h.copy}else t.genMipmaps||r(0==(e.mipmask&1<<i),\"extra mipmap data\");e.compressed&&r(!t.genMipmaps,\"mipmap generation for compressed images not supported\")}function I(t,e,n,i){var a=t.width,o=t.height,s=t.channels;r(a>0&&a<=i.maxTextureSize&&o>0&&o<=i.maxTextureSize,\"invalid texture shape\"),r(a===o,\"cube map must be square\"),r(e.wrapS===ee&&e.wrapT===ee,\"wrap mode not supported by cube map\");for(var l=0;l<n.length;++l){var u=n[l];r(u.width===a&&u.height===o,\"inconsistent cube map face shape\"),e.genMipmaps&&(r(!u.compressed,\"can not generate mipmap for compressed textures\"),r(1===u.mipmask,\"can not specify mipmaps and generate mipmaps\"));for(var c=u.images,h=0;h<16;++h){var f=c[h];if(f){var d=a>>h,p=o>>h;r(u.mipmask&1<<h,\"missing mipmap data\"),r(f.width===d&&f.height===p,\"invalid shape for mip images\"),r(f.format===t.format&&f.internalformat===t.internalformat&&f.type===t.type,\"incompatible type for mip image\"),f.compressed||(f.data?r(f.data.byteLength===d*p*Math.max(L(f.type,s),f.unpackAlignment),\"invalid data for image, buffer size is inconsistent with image format\"):f.element||f.copy)}}}}function z(t,e){this.id=pe++,this.type=t,this.data=e}function P(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}function O(t){if(0===t.length)return[];var e=t.charAt(0),r=t.charAt(t.length-1);if(t.length>1&&e===r&&('\"'===e||\"'\"===e))return['\"'+P(t.substr(1,t.length-2))+'\"'];var n=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(t);if(n)return O(t.substr(0,n.index)).concat(O(n[1])).concat(O(t.substr(n.index+n[0].length)));var i=t.split(\".\");if(1===i.length)return['\"'+P(t)+'\"'];for(var a=[],o=0;o<i.length;++o)a=a.concat(O(i[o]));return a}function R(t){return\"[\"+O(t).join(\"][\")+\"]\"}function F(t,e){return new z(t,R(e+\"\"))}function j(t){return\"function\"==typeof t&&!t._reglType||t instanceof z}function N(t,e){return\"function\"==typeof t?new z(me,t):t}function B(){var t={\"\":0},e=[\"\"];return{id:function(r){var n=t[r];return n?n:(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}function U(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;if(t!==document.body){var i=t.getBoundingClientRect();e=i.right-i.left,n=i.bottom-i.top}a.width=r*e,a.height=r*n,$t(a.style,{width:e+\"px\",height:n+\"px\"})}function i(){window.removeEventListener(\"resize\",n),t.removeChild(a)}var a=document.createElement(\"canvas\");return $t(a.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(a),t===document.body&&(a.style.position=\"absolute\",$t(t.style,{margin:0,padding:0})),window.addEventListener(\"resize\",n,!1),n(),{canvas:a,onDestroy:i}}function V(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}function H(t){return\"string\"==typeof t.nodeName&&\"function\"==typeof t.appendChild&&\"function\"==typeof t.getBoundingClientRect}function q(t){return\"function\"==typeof t.drawArrays||\"function\"==typeof t.drawElements}function G(t){return\"string\"==typeof t?t.split():(de(Array.isArray(t),\"invalid extension array\"),t)}function Y(t){return\"string\"==typeof t?(de(\"undefined\"!=typeof document,\"not supported outside of DOM\"),document.querySelector(t)):t}function X(t){var e,r,n,i,a=t||{},o={},s=[],l=[],u=\"undefined\"==typeof window?1:window.devicePixelRatio,c=!1,h=function(t){t&&de.raise(t)},f=function(){};if(\"string\"==typeof a?(de(\"undefined\"!=typeof document,\"selector queries only supported in DOM enviroments\"),e=document.querySelector(a),de(e,\"invalid query string for element\")):\"object\"==typeof a?H(a)?e=a:q(a)?(i=a,n=i.canvas):(de.constructor(a),\"gl\"in a?i=a.gl:\"canvas\"in a?n=Y(a.canvas):\"container\"in a&&(r=Y(a.container)),\"attributes\"in a&&(o=a.attributes,\nde.type(o,\"object\",\"invalid context attributes\")),\"extensions\"in a&&(s=G(a.extensions)),\"optionalExtensions\"in a&&(l=G(a.optionalExtensions)),\"onDone\"in a&&(de.type(a.onDone,\"function\",\"invalid or missing onDone callback\"),h=a.onDone),\"profile\"in a&&(c=!!a.profile),\"pixelRatio\"in a&&(u=+a.pixelRatio,de(u>0,\"invalid pixel ratio\"))):de.raise(\"invalid arguments to regl\"),e&&(\"canvas\"===e.nodeName.toLowerCase()?n=e:r=e),!i){if(!n){de(\"undefined\"!=typeof document,\"must manually specify webgl context outside of DOM environments\");var d=U(r||document.body,h,u);if(!d)return null;n=d.canvas,f=d.onDestroy}i=V(n,o)}return i?{gl:i,canvas:n,container:r,extensions:s,optionalExtensions:l,pixelRatio:u,profile:c,onDone:h,onDestroy:f}:(f(),h(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function W(t,e){function r(e){de.type(e,\"string\",\"extension name must be string\");var r,i=e.toLowerCase();try{r=n[i]=t.getExtension(i)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\"'+a+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach(function(t){if(!r(t))throw new Error(\"(regl): error restoring extension \"+t)})}}}function Z(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)||Qt(t.data))}function J(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function K(t){for(var e=16;e<=1<<28;e*=16)if(t<=e)return e;return 0}function Q(t){var e,r;return e=(t>65535)<<4,t>>>=e,r=(t>255)<<3,t>>>=r,e|=r,r=(t>15)<<2,t>>>=r,e|=r,r=(t>3)<<1,t>>>=r,(e|=r)|t>>1}function $(t){var e=K(t),r=Se[Q(e)>>2];return r.length>0?r.pop():new ArrayBuffer(e)}function tt(t){Se[Q(t.byteLength)>>2].push(t)}function et(t,e){var r=null;switch(t){case _e:r=new Int8Array($(e),0,e);break;case we:r=new Uint8Array($(e),0,e);break;case Me:r=new Int16Array($(2*e),0,e);break;case Ae:r=new Uint16Array($(2*e),0,e);break;case ke:r=new Int32Array($(4*e),0,e);break;case Te:r=new Uint32Array($(4*e),0,e);break;case Ee:r=new Float32Array($(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r}function rt(t){tt(t.buffer)}function nt(t,e,r){for(var n=0;n<e;++n)r[n]=t[n]}function it(t,e,r,n){for(var i=0,a=0;a<e;++a)for(var o=t[a],s=0;s<r;++s)n[i++]=o[s]}function at(t,e,r,n,i,a){for(var o=a,s=0;s<e;++s)for(var l=t[s],u=0;u<r;++u)for(var c=l[u],h=0;h<n;++h)i[o++]=c[h]}function ot(t,e,r,n,i){for(var a=1,o=r+1;o<e.length;++o)a*=e[o];var s=e[r];if(e.length-r==4){var l=e[r+1],u=e[r+2],c=e[r+3];for(o=0;o<s;++o)at(t[o],l,u,c,n,i),i+=a}else for(o=0;o<s;++o)ot(t[o],e,r+1,n,i),i+=a}function st(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;var o=n||Le.allocType(r,i);switch(e.length){case 0:break;case 1:nt(t,e[0],o);break;case 2:it(t,e[0],e[1],o);break;case 3:at(t,e[0],e[1],e[2],o,0);break;default:ot(t,e,0,o,0)}return o}function lt(t){for(var e=[],r=t;r.length;r=r[0])e.push(r.length);return e}function ut(t){return 0|Kt[Object.prototype.toString.call(t)]}function ct(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function ht(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var u=0;u<n;++u)t[s++]=e[i*l+a*u+o]}function ft(t,e,r){function n(e){this.id=h++,this.buffer=t.createBuffer(),this.type=e,this.usage=Oe,this.byteLength=0,this.dimension=1,this.dtype=Fe,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(t,e){var r=d.pop();return r||(r=new n(t)),r.bind(),s(r,e,Re,0,1,!1),r}function a(t){d.push(t)}function o(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function s(t,e,r,n,i,a){var s;if(t.usage=r,Array.isArray(e)){if(t.dtype=n||je,e.length>0){var l;if(Array.isArray(e[0])){s=Pe(e);for(var u=1,c=1;c<s.length;++c)u*=s[c];t.dimension=u,l=ze(e,s,t.dtype),o(t,l,r),a?t.persistentData=l:Le.freeType(l)}else if(\"number\"==typeof e[0]){t.dimension=i;var h=Le.allocType(t.dtype,e.length);ct(h,e),o(t,h,r),a?t.persistentData=h:Le.freeType(h)}else Qt(e[0])?(t.dimension=e[0].length,t.dtype=n||ut(e[0])||je,l=ze(e,[e.length,e[0].length],t.dtype),o(t,l,r),a?t.persistentData=l:Le.freeType(l)):de.raise(\"invalid buffer data\")}}else if(Qt(e))t.dtype=n||ut(e),t.dimension=i,o(t,e,r),a&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(Z(e)){s=e.shape;var f=e.stride,d=e.offset,p=0,m=0,g=0,v=0;1===s.length?(p=s[0],m=1,g=f[0],v=0):2===s.length?(p=s[0],m=s[1],g=f[0],v=f[1]):de.raise(\"invalid shape\"),t.dtype=n||ut(e.data)||je,t.dimension=m;var y=Le.allocType(t.dtype,p*m);ht(y,e.data,p,m,g,v,d),o(t,y,r),a?t.persistentData=y:Le.freeType(y)}else de.raise(\"invalid buffer data\")}function l(r){e.bufferCount--;var n=r.buffer;de(n,\"buffer must not be deleted already\"),t.deleteBuffer(n),r.buffer=null,delete f[r.id]}function u(i,a,o,u){function c(e){var n=Oe,i=null,a=0,o=0,l=1;return Array.isArray(e)||Qt(e)||Z(e)?i=e:\"number\"==typeof e?a=0|e:e&&(de.type(e,\"object\",\"buffer arguments must be an object, a number or an array\"),\"data\"in e&&(de(null===i||Array.isArray(i)||Qt(i)||Z(i),\"invalid data for buffer\"),i=e.data),\"usage\"in e&&(de.parameter(e.usage,Ie,\"invalid buffer usage\"),n=Ie[e.usage]),\"type\"in e&&(de.parameter(e.type,De,\"invalid buffer type\"),o=De[e.type]),\"dimension\"in e&&(de.type(e.dimension,\"number\",\"invalid dimension\"),l=0|e.dimension),\"length\"in e&&(de.nni(a,\"buffer length must be a nonnegative integer\"),a=0|e.length)),p.bind(),i?s(p,i,n,o,l,u):(t.bufferData(p.type,a,n),p.dtype=o||Fe,p.usage=n,p.dimension=l,p.byteLength=a),r.profile&&(p.stats.size=p.byteLength*Ne[p.dtype]),c}function h(e,r){de(r+e.byteLength<=p.byteLength,\"invalid buffer subdata call, buffer is too small.  Can't write data of size \"+e.byteLength+\" starting from offset \"+r+\" to a buffer of size \"+p.byteLength),t.bufferSubData(p.type,r,e)}function d(t,e){var r,n=0|(e||0);if(p.bind(),Array.isArray(t)){if(t.length>0)if(\"number\"==typeof t[0]){var i=Le.allocType(p.dtype,t.length);ct(i,t),h(i,n),Le.freeType(i)}else if(Array.isArray(t[0])||Qt(t[0])){r=Pe(t);var a=ze(t,r,p.dtype);h(a,n),Le.freeType(a)}else de.raise(\"invalid buffer data\")}else if(Qt(t))h(t,n);else if(Z(t)){r=t.shape;var o=t.stride,s=0,l=0,u=0,f=0;1===r.length?(s=r[0],l=1,u=o[0],f=0):2===r.length?(s=r[0],l=r[1],u=o[0],f=o[1]):de.raise(\"invalid shape\");var d=Array.isArray(t.data)?p.dtype:ut(t.data),m=Le.allocType(d,s*l);ht(m,t.data,s,l,u,f,t.offset),h(m,n),Le.freeType(m)}else de.raise(\"invalid data for buffer subdata\");return c}e.bufferCount++;var p=new n(a);return f[p.id]=p,o||c(i),c._reglType=\"buffer\",c._buffer=p,c.subdata=d,r.profile&&(c.stats=p.stats),c.destroy=function(){l(p)},c}function c(){xe(f).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})}var h=0,f={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){l(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(f).forEach(function(e){t+=f[e].stats.size}),t}),{create:u,createStream:i,destroyStream:a,clear:function(){xe(f).forEach(l),d.forEach(l)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:c,_initBuffer:s}}function dt(t,e,r,n){function i(t){this.id=h++,c[this.id]=this,this.buffer=t,this.primType=He,this.vertCount=0,this.type=0}function a(t){var e=d.pop();return e||(e=new i(r.create(null,Je,!0,!1)._buffer)),s(e,t,Ke,-1,-1,0,0),e}function o(t){d.push(t)}function s(n,i,a,o,s,l,u){if(n.buffer.bind(),i){var c=u;u||Qt(i)&&(!Z(i)||Qt(i.data))||(c=e.oes_element_index_uint?Ze:Xe),r._initBuffer(n.buffer,i,a,c,3)}else t.bufferData(Je,l,a),n.buffer.dtype=h||Ge,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;var h=u;if(!u){switch(n.buffer.dtype){case Ge:case qe:h=Ge;break;case Xe:case Ye:h=Xe;break;case Ze:case We:h=Ze;break;default:de.raise(\"unsupported type for element array\")}n.buffer.dtype=h}n.type=h,de(h!==Ze||!!e.oes_element_index_uint,\"32 bit element buffers not supported, enable oes_element_index_uint first\");var f=s;f<0&&(f=n.buffer.byteLength,h===Xe?f>>=1:h===Ze&&(f>>=2)),n.vertCount=f;var d=o;if(o<0){d=He;var p=n.buffer.dimension;1===p&&(d=Ue),2===p&&(d=Ve),3===p&&(d=He)}n.primType=d}function l(t){n.elementsCount--,de(null!==t.buffer,\"must not double destroy elements\"),delete c[t.id],t.buffer.destroy(),t.buffer=null}function u(t,e){function a(t){if(t)if(\"number\"==typeof t)o(t),u.primType=He,u.vertCount=0|t,u.type=Ge;else{var e=null,r=Qe,n=-1,i=-1,l=0,c=0;Array.isArray(t)||Qt(t)||Z(t)?e=t:(de.type(t,\"object\",\"invalid arguments for elements\"),\"data\"in t&&(e=t.data,de(Array.isArray(e)||Qt(e)||Z(e),\"invalid data for element buffer\")),\"usage\"in t&&(de.parameter(t.usage,Ie,\"invalid element buffer usage\"),r=Ie[t.usage]),\"primitive\"in t&&(de.parameter(t.primitive,Be,\"invalid element buffer primitive\"),n=Be[t.primitive]),\"count\"in t&&(de(\"number\"==typeof t.count&&t.count>=0,\"invalid vertex count for elements\"),i=0|t.count),\"type\"in t&&(de.parameter(t.type,f,\"invalid buffer type\"),c=f[t.type]),\"length\"in t?l=0|t.length:(l=i,c===Xe||c===Ye?l*=2:c!==Ze&&c!==We||(l*=4))),s(u,e,r,n,i,l,c)}else o(),u.primType=He,u.vertCount=0,u.type=Ge;return a}var o=r.create(null,Je,!0),u=new i(o._buffer);return n.elementsCount++,a(t),a._reglType=\"elements\",a._elements=u,a.subdata=function(t,e){return o.subdata(t,e),a},a.destroy=function(){l(u)},a}var c={},h=0,f={uint8:Ge,uint16:Xe};e.oes_element_index_uint&&(f.uint32=Ze),i.prototype.bind=function(){this.buffer.bind()};var d=[];return{create:u,createStream:a,destroyStream:o,getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){xe(c).forEach(l)}}}function pt(t){for(var e=Le.allocType(er,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(t[r]===1/0)e[r]=31744;else if(t[r]===-(1/0))e[r]=64512;else{$e[0]=t[r];var n=tr[0],i=n>>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)e[r]=i;else if(a<-14){var s=-14-a;e[r]=i+(o+1024>>s)}else e[r]=a>15?i+31744:i+(a+15<<10)+o}return e}function mt(t){return Array.isArray(t)||Qt(t)}function gt(t){return\"[object \"+t+\"]\"}function vt(t){return Array.isArray(t)&&(0===t.length||\"number\"==typeof t[0])}function yt(t){return!!Array.isArray(t)&&!(0===t.length||!mt(t[0]))}function bt(t){return Object.prototype.toString.call(t)}function xt(t){return bt(t)===dn}function _t(t){return bt(t)===pn}function wt(t){return bt(t)===mn}function Mt(t){return bt(t)===gn}function At(t){if(!t)return!1;var e=bt(t);return vn.indexOf(e)>=0||(vt(t)||yt(t)||Z(t))}function kt(t){return 0|Kt[Object.prototype.toString.call(t)]}function Tt(t,e){var r=e.length;switch(t.type){case Or:case Rr:case Fr:case jr:var n=Le.allocType(t.type,r);n.set(e),t.data=n;break;case wr:t.data=pt(e);break;default:de.raise(\"unsupported texture type, must specify a typed array\")}}function Et(t,e){return Le.allocType(t.type===wr?jr:t.type,e)}function St(t,e){t.type===wr?(t.data=pt(e),Le.freeType(e)):t.data=e}function Lt(t,e,r,n,i,a){for(var o=t.width,s=t.height,l=t.channels,u=o*s*l,c=Et(t,u),h=0,f=0;f<s;++f)for(var d=0;d<o;++d)for(var p=0;p<l;++p)c[h++]=e[r*d+n*f+i*p+a];St(t,c)}function Ct(t,e,r,n,i,a){var o;if(o=void 0!==bn[t]?bn[t]:fn[t]*yn[e],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}function Dt(t,e,r,n,i,a,o){function s(){this.internalformat=or,this.format=or,this.type=Or,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=0,this.width=0,this.height=0,this.channels=0}function l(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,n){if(\"object\"==typeof n&&n){if(\"premultiplyAlpha\"in n&&(de.type(n.premultiplyAlpha,\"boolean\",\"invalid premultiplyAlpha\"),t.premultiplyAlpha=n.premultiplyAlpha),\"flipY\"in n&&(de.type(n.flipY,\"boolean\",\"invalid texture flip\"),t.flipY=n.flipY),\"alignment\"in n&&(de.oneOf(n.alignment,[1,2,4,8],\"invalid texture unpack alignment\"),t.unpackAlignment=n.alignment),\"colorSpace\"in n&&(de.parameter(n.colorSpace,j,\"invalid colorSpace\"),t.colorSpace=j[n.colorSpace]),\"type\"in n){var i=n.type;de(e.oes_texture_float||!(\"float\"===i||\"float32\"===i),\"you must enable the OES_texture_float extension in order to use floating point textures.\"),de(e.oes_texture_half_float||!(\"half float\"===i||\"float16\"===i),\"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures.\"),de(e.webgl_depth_texture||!(\"uint16\"===i||\"uint32\"===i||\"depth stencil\"===i),\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\"),de.parameter(i,N,\"invalid texture type\"),t.type=N[i]}var a=t.width,o=t.height,s=t.channels,l=!1;\"shape\"in n?(de(Array.isArray(n.shape)&&n.shape.length>=2,\"shape must be an array\"),a=n.shape[0],o=n.shape[1],3===n.shape.length&&(s=n.shape[2],de(s>0&&s<=4,\"invalid number of channels\"),l=!0),de(a>=0&&a<=r.maxTextureSize,\"invalid width\"),de(o>=0&&o<=r.maxTextureSize,\"invalid height\")):(\"radius\"in n&&(a=o=n.radius,de(a>=0&&a<=r.maxTextureSize,\"invalid radius\")),\"width\"in n&&(a=n.width,de(a>=0&&a<=r.maxTextureSize,\"invalid width\")),\"height\"in n&&(o=n.height,de(o>=0&&o<=r.maxTextureSize,\"invalid height\")),\"channels\"in n&&(s=n.channels,de(s>0&&s<=4,\"invalid number of channels\"),l=!0)),t.width=0|a,t.height=0|o,t.channels=0|s;var u=!1;if(\"format\"in n){var c=n.format;de(e.webgl_depth_texture||!(\"depth\"===c||\"depth stencil\"===c),\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\"),de.parameter(c,B,\"invalid texture format\");var h=t.internalformat=B[c];t.format=J[h],c in N&&(\"type\"in n||(t.type=N[c])),c in U&&(t.compressed=!0),u=!0}!l&&u?t.channels=fn[t.format]:l&&!u?t.channels!==hn[t.format]&&(t.format=t.internalformat=hn[t.channels]):u&&l&&de(t.channels===fn[t.format],\"number of channels inconsistent with specified format\")}}function c(e){t.pixelStorei(an,e.flipY),t.pixelStorei(on,e.premultiplyAlpha),t.pixelStorei(sn,e.colorSpace),t.pixelStorei(nn,e.unpackAlignment)}function h(){s.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function f(t,e){var n=null;if(At(e)?n=e:e&&(de.type(e,\"object\",\"invalid pixel data type\"),u(t,e),\"x\"in e&&(t.xOffset=0|e.x),\"y\"in e&&(t.yOffset=0|e.y),At(e.data)&&(n=e.data)),de(!t.compressed||n instanceof Uint8Array,\"compressed texture data must be stored in a uint8array\"),e.copy){de(!n,\"can not specify copy and data field for the same texture\");var a=i.viewportWidth,o=i.viewportHeight;t.width=t.width||a-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0,de(t.xOffset>=0&&t.xOffset<a&&t.yOffset>=0&&t.yOffset<o&&t.width>0&&t.width<=a&&t.height>0&&t.height<=o,\"copy texture read out of bounds\")}else if(n){if(Qt(n))t.channels=t.channels||4,t.data=n,\"type\"in e||t.type!==Or||(t.type=kt(n));else if(vt(n))t.channels=t.channels||4,Tt(t,n),t.alignment=1,t.needsFree=!0;else if(Z(n)){var s=n.data;Array.isArray(s)||t.type!==Or||(t.type=kt(s));var l,c,h,f,d,p,m=n.shape,g=n.stride;3===m.length?(h=m[2],p=g[2]):(de(2===m.length,\"invalid ndarray pixel data, must be 2 or 3D\"),h=1,p=1),l=m[0],c=m[1],f=g[0],d=g[1],t.alignment=1,t.width=l,t.height=c,t.channels=h,t.format=t.internalformat=hn[h],t.needsFree=!0,Lt(t,s,f,d,p,n.offset)}else if(xt(n)||_t(n))xt(n)?t.element=n:t.element=n.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(wt(n))t.element=n,t.width=n.naturalWidth,t.height=n.naturalHeight,t.channels=4;else if(Mt(n))t.element=n,t.width=n.videoWidth,t.height=n.videoHeight,t.channels=4;else if(yt(n)){var v=t.width||n[0].length,y=t.height||n.length,b=t.channels;b=mt(n[0][0])?b||n[0][0].length:b||1;for(var x=Ce.shape(n),_=1,w=0;w<x.length;++w)_*=x[w];var M=Et(t,_);Ce.flatten(n,x,\"\",M),St(t,M),t.alignment=1,t.width=v,t.height=y,t.channels=b,t.format=t.internalformat=hn[b],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4;t.type===jr?de(r.extensions.indexOf(\"oes_texture_float\")>=0,\"oes_texture_float extension not enabled\"):t.type===wr&&de(r.extensions.indexOf(\"oes_texture_half_float\")>=0,\"oes_texture_half_float extension not enabled\")}function d(e,r,i){var a=e.element,o=e.data,s=e.internalformat,l=e.format,u=e.type,h=e.width,f=e.height;c(e),a?t.texImage2D(r,i,l,l,u,a):e.compressed?t.compressedTexImage2D(r,i,s,h,f,0,o):e.needsCopy?(n(),t.copyTexImage2D(r,i,l,e.xOffset,e.yOffset,h,f,0)):t.texImage2D(r,i,l,h,f,0,l,u,o)}function p(e,r,i,a,o){var s=e.element,l=e.data,u=e.internalformat,h=e.format,f=e.type,d=e.width,p=e.height;c(e),s?t.texSubImage2D(r,o,i,a,h,f,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,u,d,p,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,d,p)):t.texSubImage2D(r,o,i,a,d,p,h,f,l)}function m(){return K.pop()||new h}function g(t){t.needsFree&&Le.freeType(t.data),h.call(t),K.push(t)}function v(){s.call(this),this.genMipmaps=!1,this.mipmapHint=$r,this.mipmask=0,this.images=Array(16)}function y(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function b(t,e){var r=null;if(At(e))r=t.images[0]=m(),l(r,t),f(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)r=t.images[i]=m(),l(r,t),r.width>>=i,r.height>>=i,f(r,n[i]),t.mipmask|=1<<i;else r=t.images[0]=m(),l(r,t),f(r,e),t.mipmask=1;l(t,t.images[0]),(t.compressed&&t.internalformat===Mr||t.internalformat===Ar||t.internalformat===kr||t.internalformat===Tr)&&de(t.width%4==0&&t.height%4==0,\"for compressed texture formats, mipmap level 0 must have width and height that are a multiple of 4\")}function x(t,e){for(var r=t.images,n=0;n<r.length;++n){if(!r[n])return;d(r[n],e,n)}}function _(){var t=Q.pop()||new v;s.call(t),t.mipmask=0;for(var e=0;e<16;++e)t.images[e]=null;return t}function w(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&g(e[r]),e[r]=null;Q.push(t)}function M(){this.minFilter=Yr,this.magFilter=Yr,this.wrapS=Vr,this.wrapT=Vr,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=$r}function A(t,e){if(\"min\"in e){var n=e.min;de.parameter(n,F),t.minFilter=F[n],cn.indexOf(t.minFilter)>=0&&(t.genMipmaps=!0)}if(\"mag\"in e){var i=e.mag;de.parameter(i,R),t.magFilter=R[i]}var a=t.wrapS,o=t.wrapT;if(\"wrap\"in e){var s=e.wrap;\"string\"==typeof s?(de.parameter(s,O),a=o=O[s]):Array.isArray(s)&&(de.parameter(s[0],O),de.parameter(s[1],O),a=O[s[0]],o=O[s[1]])}else{if(\"wrapS\"in e){var l=e.wrapS;de.parameter(l,O),a=O[l]}if(\"wrapT\"in e){var u=e.wrapT;de.parameter(u,O),o=O[u]}}if(t.wrapS=a,t.wrapT=o,\"anisotropic\"in e){var c=e.anisotropic;de(\"number\"==typeof c&&c>=1&&c<=r.maxAnisotropic,\"aniso samples must be between 1 and \"),t.anisotropic=e.anisotropic}if(\"mipmap\"in e){var h=!1;switch(typeof e.mipmap){case\"string\":de.parameter(e.mipmap,P,\"invalid mipmap hint\"),t.mipmapHint=P[e.mipmap],t.genMipmaps=!0,h=!0;break;case\"boolean\":h=t.genMipmaps=e.mipmap;break;case\"object\":de(Array.isArray(e.mipmap),\"invalid mipmap type\"),t.genMipmaps=!1,h=!0;break;default:de.raise(\"invalid mipmap type\")}!h||\"min\"in e||(t.minFilter=Wr)}}function k(r,n){t.texParameteri(n,Gr,r.minFilter),t.texParameteri(n,qr,r.magFilter),t.texParameteri(n,Nr,r.wrapS),t.texParameteri(n,Br,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,rn,r.anisotropic),r.genMipmaps&&(t.hint(Qr,r.mipmapHint),t.generateMipmap(n))}function T(e){s.call(this),this.mipmask=0,this.internalformat=or,this.id=$++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new M,o.profile&&(this.stats={size:0})}function E(e){t.activeTexture(un),t.bindTexture(e.target,e.texture)}function S(){var e=rt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(nr,null)}function L(e){var r=e.texture;de(r,\"must not double destroy texture\");var n=e.unit,i=e.target;n>=0&&(t.activeTexture(un+n),t.bindTexture(i,null),rt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete tt[e.id],a.textureCount--}function C(e,n){function i(t,e){var n=c.texInfo;M.call(n);var a=_();return\"number\"==typeof t?\"number\"==typeof e?y(a,0|t,0|e):y(a,0|t,0|t):t?(de.type(t,\"object\",\"invalid arguments to regl.texture\"),A(n,t),b(a,t)):y(a,1,1),n.genMipmaps&&(a.mipmask=(a.width<<1)-1),c.mipmask=a.mipmask,l(c,a),de.texture2D(n,a,r),c.internalformat=a.internalformat,i.width=a.width,i.height=a.height,E(c),x(a,nr),k(n,nr),S(),w(a),o.profile&&(c.stats.size=Ct(c.internalformat,c.type,a.width,a.height,n.genMipmaps,!1)),i.format=q[c.internalformat],i.type=G[c.type],i.mag=Y[n.magFilter],i.min=X[n.minFilter],i.wrapS=W[n.wrapS],i.wrapT=W[n.wrapT],i}function s(t,e,r,n){de(!!t,\"must specify image data\");var a=0|e,o=0|r,s=0|n,u=m();return l(u,c),u.width=0,u.height=0,f(u,t),u.width=u.width||(c.width>>s)-a,u.height=u.height||(c.height>>s)-o,de(c.type===u.type&&c.format===u.format&&c.internalformat===u.internalformat,\"incompatible format for texture.subimage\"),de(a>=0&&o>=0&&a+u.width<=c.width&&o+u.height<=c.height,\"texture.subimage write out of bounds\"),de(c.mipmask&1<<s,\"missing mipmap data\"),de(u.data||u.element||u.needsCopy,\"missing image data\"),E(c),p(u,nr,a,o,s),S(),g(u),i}function u(e,r){var n=0|e,a=0|r||n;if(n===c.width&&a===c.height)return i;i.width=c.width=n,i.height=c.height=a,E(c);for(var s=0;c.mipmask>>s;++s)t.texImage2D(nr,s,c.format,n>>s,a>>s,0,c.format,c.type,null);return S(),o.profile&&(c.stats.size=Ct(c.internalformat,c.type,n,a,!1,!1)),i}var c=new T(nr);return tt[c.id]=c,a.textureCount++,i(e,n),i.subimage=s,i.resize=u,i._reglType=\"texture2d\",i._texture=c,o.profile&&(i.stats=c.stats),i.destroy=function(){c.decRef()},i}function D(e,n,i,s,c,h){function d(t,e,n,i,a,s){var c,h=C.texInfo;for(M.call(h),c=0;c<6;++c)D[c]=_();if(\"number\"!=typeof t&&t)if(\"object\"==typeof t)if(e)b(D[0],t),b(D[1],e),b(D[2],n),b(D[3],i),b(D[4],a),b(D[5],s);else if(A(h,t),u(C,t),\"faces\"in t){var f=t.faces;for(de(Array.isArray(f)&&6===f.length,\"cube faces must be a length 6 array\"),c=0;c<6;++c)de(\"object\"==typeof f[c]&&!!f[c],\"invalid input for cube map face\"),l(D[c],C),b(D[c],f[c])}else for(c=0;c<6;++c)b(D[c],t);else de.raise(\"invalid arguments to cube map\");else{var p=0|t||1;for(c=0;c<6;++c)y(D[c],p,p)}for(l(C,D[0]),h.genMipmaps?C.mipmask=(D[0].width<<1)-1:C.mipmask=D[0].mipmask,de.textureCube(C,h,D,r),C.internalformat=D[0].internalformat,d.width=D[0].width,d.height=D[0].height,E(C),c=0;c<6;++c)x(D[c],ar+c);for(k(h,ir),S(),o.profile&&(C.stats.size=Ct(C.internalformat,C.type,d.width,d.height,h.genMipmaps,!0)),d.format=q[C.internalformat],d.type=G[C.type],d.mag=Y[h.magFilter],d.min=X[h.minFilter],d.wrapS=W[h.wrapS],d.wrapT=W[h.wrapT],c=0;c<6;++c)w(D[c]);return d}function v(t,e,r,n,i){de(!!e,\"must specify image data\"),de(\"number\"==typeof t&&t===(0|t)&&t>=0&&t<6,\"invalid face\");var a=0|r,o=0|n,s=0|i,u=m();return l(u,C),u.width=0,u.height=0,f(u,e),u.width=u.width||(C.width>>s)-a,u.height=u.height||(C.height>>s)-o,de(C.type===u.type&&C.format===u.format&&C.internalformat===u.internalformat,\"incompatible format for texture.subimage\"),de(a>=0&&o>=0&&a+u.width<=C.width&&o+u.height<=C.height,\"texture.subimage write out of bounds\"),de(C.mipmask&1<<s,\"missing mipmap data\"),de(u.data||u.element||u.needsCopy,\"missing image data\"),E(C),p(u,ar+t,a,o,s),S(),g(u),d}function L(e){var r=0|e;if(r!==C.width){d.width=C.width=r,d.height=C.height=r,E(C);for(var n=0;n<6;++n)for(var i=0;C.mipmask>>i;++i)t.texImage2D(ar+n,i,C.format,r>>i,r>>i,0,C.format,C.type,null);return S(),o.profile&&(C.stats.size=Ct(C.internalformat,C.type,d.width,d.height,!1,!0)),d}}var C=new T(ir);tt[C.id]=C,a.cubeCount++;var D=new Array(6);return d(e,n,i,s,c,h),d.subimage=v,d.resize=L,d._reglType=\"textureCube\",d._texture=C,o.profile&&(d.stats=C.stats),d.destroy=function(){C.decRef()},d}function I(){for(var e=0;e<et;++e)t.activeTexture(un+e),t.bindTexture(nr,null),rt[e]=null;xe(tt).forEach(L),a.cubeCount=0,a.textureCount=0}function z(){xe(tt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;r<32;++r)if(0!=(e.mipmask&1<<r))if(e.target===nr)t.texImage2D(nr,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(ar+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);k(e.texInfo,e.target)})}var P={\"don't care\":$r,\"dont care\":$r,nice:en,fast:tn},O={repeat:Ur,clamp:Vr,mirror:Hr},R={nearest:Yr,linear:Xr},F=$t({mipmap:Kr,\"nearest mipmap nearest\":Wr,\"linear mipmap nearest\":Zr,\"nearest mipmap linear\":Jr,\"linear mipmap linear\":Kr},R),j={none:0,browser:ln},N={uint8:Or,rgba4:pr,rgb565:gr,\"rgb5 a1\":mr},B={alpha:sr,luminance:ur,\"luminance alpha\":cr,rgb:lr,rgba:or,rgba4:hr,\"rgb5 a1\":fr,rgb565:dr},U={};e.ext_srgb&&(B.srgb=xr,B.srgba=_r),e.oes_texture_float&&(N.float32=N.float=jr),e.oes_texture_half_float&&(N.float16=N[\"half float\"]=wr),e.webgl_depth_texture&&($t(B,{depth:yr,\"depth stencil\":br}),$t(N,{uint16:Rr,uint32:Fr,\"depth stencil\":vr})),e.webgl_compressed_texture_s3tc&&$t(U,{\"rgb s3tc dxt1\":Mr,\"rgba s3tc dxt1\":Ar,\"rgba s3tc dxt3\":kr,\"rgba s3tc dxt5\":Tr}),e.webgl_compressed_texture_atc&&$t(U,{\"rgb atc\":Er,\"rgba atc explicit alpha\":Sr,\"rgba atc interpolated alpha\":Lr}),e.webgl_compressed_texture_pvrtc&&$t(U,{\"rgb pvrtc 4bppv1\":Cr,\"rgb pvrtc 2bppv1\":Dr,\"rgba pvrtc 4bppv1\":Ir,\"rgba pvrtc 2bppv1\":zr}),e.webgl_compressed_texture_etc1&&(U[\"rgb etc1\"]=Pr);var V=Array.prototype.slice.call(t.getParameter(rr));Object.keys(U).forEach(function(t){var e=U[t];V.indexOf(e)>=0&&(B[t]=e)});var H=Object.keys(B);r.textureFormats=H;var q=[];Object.keys(B).forEach(function(t){q[B[t]]=t});var G=[];Object.keys(N).forEach(function(t){G[N[t]]=t});var Y=[];Object.keys(R).forEach(function(t){Y[R[t]]=t});var X=[];Object.keys(F).forEach(function(t){X[F[t]]=t});var W=[];Object.keys(O).forEach(function(t){W[O[t]]=t});var J=H.reduce(function(t,e){var r=B[e];return r===ur||r===sr||r===ur||r===cr||r===yr||r===br?t[r]=r:r===fr||e.indexOf(\"rgba\")>=0?t[r]=or:t[r]=lr,t},{}),K=[],Q=[],$=0,tt={},et=r.maxTextureUnits,rt=Array(et).map(function(){return null});return $t(T.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n<et;++n){var i=rt[n];if(i){if(i.bindCount>0)continue;i.unit=-1}rt[n]=e,r=n;break}r>=et&&de.raise(\"insufficient number of texture units\"),o.profile&&a.maxTextureUnits<r+1&&(a.maxTextureUnits=r+1),e.unit=r,t.activeTexture(un+r),t.bindTexture(e.target,e.texture)}return r},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&L(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(tt).forEach(function(e){t+=tt[e].stats.size}),t}),{create2D:C,createCube:D,clear:I,getTexture:function(t){return null},restore:z}}function It(t,e,r){return wn[t]*e*r}function zt(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=0,i=0;e?(n=e.width,i=e.height):r&&(n=r.width,i=r.height),this.width=n,this.height=i}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){if(t)if(t.texture){var n=t.texture._texture,i=Math.max(1,n.width),a=Math.max(1,n.height);de(i===e&&a===r,\"inconsistent width/height for supplied texture\"),n.refCount+=1}else{var o=t.renderbuffer._renderbuffer;de(o.width===e&&o.height===r,\"inconsistent width/height for renderbuffer\"),o.refCount+=1}}function u(e,r){r&&(r.texture?t.framebufferTexture2D(An,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(An,e,kn,r.renderbuffer._renderbuffer.renderbuffer))}function c(t){var e=Tn,r=null,n=null,i=t;\"object\"==typeof t&&(i=t.data,\"target\"in t&&(e=0|t.target)),de.type(i,\"function\",\"invalid attachment data\");var a=i._reglType;return\"texture2d\"===a?(r=i,de(e===Tn)):\"textureCube\"===a?(r=i,de(e>=En&&e<En+6,\"invalid cube map target\")):\"renderbuffer\"===a?(n=i,e=kn):de.raise(\"invalid regl object for attachment\"),new o(e,r,n)}function h(t,e,r,a,s){if(r){var l=n.create2D({width:t,height:e,format:a,type:s});return l._texture.refCount=0,new o(Tn,l,null)}var u=i.create({width:t,height:e,format:a});return u._renderbuffer.refCount=0,new o(kn,null,u)}function f(t){return t&&(t.texture||t.renderbuffer)}function d(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function p(){this.id=k++,T[this.id]=this,this.framebuffer=t.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function m(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function g(e){var r=e.framebuffer;de(r,\"must not double destroy framebuffer\"),t.deleteFramebuffer(r),e.framebuffer=null,a.framebufferCount--,delete T[e.id]}function v(e){var n;t.bindFramebuffer(An,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)u(Sn+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(An,Sn+n,Tn,null,0);t.framebufferTexture2D(An,Dn,Tn,null,0),t.framebufferTexture2D(An,Ln,Tn,null,0),t.framebufferTexture2D(An,Cn,Tn,null,0),u(Ln,e.depthAttachment),u(Cn,e.stencilAttachment),u(Dn,e.depthStencilAttachment);var a=t.checkFramebufferStatus(An);a!==In&&de.raise(\"framebuffer configuration not supported, status = \"+Un[a]),t.bindFramebuffer(An,_.next),_.cur=_.next,t.getError()}function y(t,n){function i(t,n){var a;de(_.next!==s,\"can not update framebuffer which is currently in use\");var o=e.webgl_draw_buffers,u=0,d=0,p=!0,g=!0,y=null,b=!0,x=\"rgba\",k=\"uint8\",T=1,E=null,S=null,L=null,C=!1;if(\"number\"==typeof t)u=0|t,d=0|n||u;else if(t){de.type(t,\"object\",\"invalid arguments for framebuffer\");var D=t;if(\"shape\"in D){var I=D.shape;de(Array.isArray(I)&&I.length>=2,\"invalid shape for framebuffer\"),u=I[0],d=I[1]}else\"radius\"in D&&(u=d=D.radius),\"width\"in D&&(u=D.width),\"height\"in D&&(d=D.height);(\"color\"in D||\"colors\"in D)&&(y=D.color||D.colors,Array.isArray(y)&&de(1===y.length||o,\"multiple render targets not supported\")),y||(\"colorCount\"in D&&(T=0|D.colorCount,de(T>0,\"invalid color buffer count\")),\"colorTexture\"in D&&(b=!!D.colorTexture,x=\"rgba4\"),\"colorType\"in D&&(k=D.colorType,b?(de(e.oes_texture_float||!(\"float\"===k||\"float32\"===k),\"you must enable OES_texture_float in order to use floating point framebuffer objects\"),de(e.oes_texture_half_float||!(\"half float\"===k||\"float16\"===k),\"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects\")):\"half float\"===k||\"float16\"===k?(de(e.ext_color_buffer_half_float,\"you must enable EXT_color_buffer_half_float to use 16-bit render buffers\"),x=\"rgba16f\"):\"float\"!==k&&\"float32\"!==k||(de(e.webgl_color_buffer_float,\"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers\"),x=\"rgba32f\"),de.oneOf(k,A,\"invalid color type\")),\"colorFormat\"in D&&(x=D.colorFormat,w.indexOf(x)>=0?b=!0:M.indexOf(x)>=0?b=!1:b?de.oneOf(D.colorFormat,w,\"invalid color format for texture\"):de.oneOf(D.colorFormat,M,\"invalid color format for renderbuffer\"))),(\"depthTexture\"in D||\"depthStencilTexture\"in D)&&(C=!(!D.depthTexture&&!D.depthStencilTexture),de(!C||e.webgl_depth_texture,\"webgl_depth_texture extension not supported\")),\"depth\"in D&&(\"boolean\"==typeof D.depth?p=D.depth:(E=D.depth,g=!1)),\"stencil\"in D&&(\"boolean\"==typeof D.stencil?g=D.stencil:(S=D.stencil,p=!1)),\"depthStencil\"in D&&(\"boolean\"==typeof D.depthStencil?p=g=D.depthStencil:(L=D.depthStencil,p=!1,g=!1))}else u=d=1;var z=null,P=null,O=null,R=null;if(Array.isArray(y))z=y.map(c);else if(y)z=[c(y)];else for(z=new Array(T),a=0;a<T;++a)z[a]=h(u,d,b,x,k);de(e.webgl_draw_buffers||z.length<=1,\"you must enable the WEBGL_draw_buffers extension in order to use multiple color buffers.\"),\nde(z.length<=r.maxColorAttachments,\"too many color attachments, not supported\"),u=u||z[0].width,d=d||z[0].height,E?P=c(E):p&&!g&&(P=h(u,d,C,\"depth\",\"uint32\")),S?O=c(S):g&&!p&&(O=h(u,d,!1,\"stencil\",\"uint8\")),L?R=c(L):!E&&!S&&g&&p&&(R=h(u,d,C,\"depth stencil\",\"depth stencil\")),de(!!E+!!S+!!L<=1,\"invalid framebuffer configuration, can specify exactly one depth/stencil attachment\");var F=null;for(a=0;a<z.length;++a)if(l(z[a],u,d),de(!z[a]||z[a].texture&&Pn.indexOf(z[a].texture._texture.format)>=0||z[a].renderbuffer&&Bn.indexOf(z[a].renderbuffer._renderbuffer.format)>=0,\"framebuffer color attachment \"+a+\" is invalid\"),z[a]&&z[a].texture){var j=On[z[a].texture._texture.format]*Rn[z[a].texture._texture.type];null===F?F=j:de(F===j,\"all color attachments much have the same number of bits per pixel.\")}return l(P,u,d),de(!P||P.texture&&P.texture._texture.format===zn||P.renderbuffer&&P.renderbuffer._renderbuffer.format===Fn,\"invalid depth attachment for framebuffer object\"),l(O,u,d),de(!O||O.renderbuffer&&O.renderbuffer._renderbuffer.format===jn,\"invalid stencil attachment for framebuffer object\"),l(R,u,d),de(!R||R.texture&&R.texture._texture.format===Nn||R.renderbuffer&&R.renderbuffer._renderbuffer.format===Nn,\"invalid depth-stencil attachment for framebuffer object\"),m(s),s.width=u,s.height=d,s.colorAttachments=z,s.depthAttachment=P,s.stencilAttachment=O,s.depthStencilAttachment=R,i.color=z.map(f),i.depth=f(P),i.stencil=f(O),i.depthStencil=f(R),i.width=s.width,i.height=s.height,v(s),i}function o(t,e){de(_.next!==s,\"can not resize a framebuffer which is currently in use\");var r=0|t,n=0|e||r;if(r===s.width&&n===s.height)return i;for(var a=s.colorAttachments,o=0;o<a.length;++o)d(a[o],r,n);return d(s.depthAttachment,r,n),d(s.stencilAttachment,r,n),d(s.depthStencilAttachment,r,n),s.width=i.width=r,s.height=i.height=n,v(s),i}var s=new p;return a.framebufferCount++,i(t,n),$t(i,{resize:o,_reglType:\"framebuffer\",_framebuffer:s,destroy:function(){g(s),m(s)},use:function(t){_.setFBO({framebuffer:i},t)}})}function b(t){function i(t){var r;de(o.indexOf(_.next)<0,\"can not update framebuffer which is currently in use\");var a=e.webgl_draw_buffers,s={color:null},l=0,u=null,c=\"rgba\",h=\"uint8\",f=1;if(\"number\"==typeof t)l=0|t;else if(t){de.type(t,\"object\",\"invalid arguments for framebuffer\");var d=t;if(\"shape\"in d){var p=d.shape;de(Array.isArray(p)&&p.length>=2,\"invalid shape for framebuffer\"),de(p[0]===p[1],\"cube framebuffer must be square\"),l=p[0]}else\"radius\"in d&&(l=0|d.radius),\"width\"in d?(l=0|d.width,\"height\"in d&&de(d.height===l,\"must be square\")):\"height\"in d&&(l=0|d.height);(\"color\"in d||\"colors\"in d)&&(u=d.color||d.colors,Array.isArray(u)&&de(1===u.length||a,\"multiple render targets not supported\")),u||(\"colorCount\"in d&&(f=0|d.colorCount,de(f>0,\"invalid color buffer count\")),\"colorType\"in d&&(de.oneOf(d.colorType,A,\"invalid color type\"),h=d.colorType),\"colorFormat\"in d&&(c=d.colorFormat,de.oneOf(d.colorFormat,w,\"invalid color format for texture\"))),\"depth\"in d&&(s.depth=d.depth),\"stencil\"in d&&(s.stencil=d.stencil),\"depthStencil\"in d&&(s.depthStencil=d.depthStencil)}else l=1;var m;if(u)if(Array.isArray(u))for(m=[],r=0;r<u.length;++r)m[r]=u[r];else m=[u];else{m=Array(f);var g={radius:l,format:c,type:h};for(r=0;r<f;++r)m[r]=n.createCube(g)}for(s.color=Array(m.length),r=0;r<m.length;++r){var v=m[r];de(\"function\"==typeof v&&\"textureCube\"===v._reglType,\"invalid cube map\"),l=l||v.width,de(v.width===l&&v.height===l,\"invalid cube map shape\"),s.color[r]={target:En,data:m[r]}}for(r=0;r<6;++r){for(var b=0;b<m.length;++b)s.color[b].target=En+r;r>0&&(s.depth=o[0].depth,s.stencil=o[0].stencil,s.depthStencil=o[0].depthStencil),o[r]?o[r](s):o[r]=y(s)}return $t(i,{width:l,height:l,color:m})}function a(t){var e,n=0|t;if(de(n>0&&n<=r.maxCubeMapSize,\"invalid radius for cube fbo\"),n===i.width)return i;var a=i.color;for(e=0;e<a.length;++e)a[e].resize(n);for(e=0;e<6;++e)o[e].resize(n);return i.width=i.height=n,i}var o=Array(6);return i(t),$t(i,{faces:o,resize:a,_reglType:\"framebufferCube\",destroy:function(){o.forEach(function(t){t.destroy()})}})}function x(){xe(T).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}var _={cur:null,next:null,dirty:!1,setFBO:null},w=[\"rgba\"],M=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];e.ext_srgb&&M.push(\"srgba\"),e.ext_color_buffer_half_float&&M.push(\"rgba16f\",\"rgb16f\"),e.webgl_color_buffer_float&&M.push(\"rgba32f\");var A=[\"uint8\"];e.oes_texture_half_float&&A.push(\"half float\",\"float16\"),e.oes_texture_float&&A.push(\"float\",\"float32\");var k=0,T={};return $t(_,{getFramebuffer:function(t){if(\"function\"==typeof t&&\"framebuffer\"===t._reglType){var e=t._framebuffer;if(e instanceof p)return e}return null},create:y,createCube:b,clear:function(){xe(T).forEach(g)},restore:x})}function Pt(){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=Vn,this.offset=0,this.stride=0,this.divisor=0}function Ot(t,e,r,n,i){for(var a=r.maxAttributes,o=new Array(a),s=0;s<a;++s)o[s]=new Pt;return{Record:Pt,scope:{},state:o}}function Rt(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,i){var a=r===Hn?c:h,o=a[n];if(!o){var s=e.str(n);o=t.createShader(r),t.shaderSource(o,s),t.compileShader(o),de.shaderError(t,o,s,r,i),a[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s){var l,u,c=o(Hn,r.fragId),h=o(qn,r.vertId),f=r.program=t.createProgram();t.attachShader(f,c),t.attachShader(f,h),t.linkProgram(f),de.linkError(t,f,e.str(r.fragId),e.str(r.vertId),s);var d=t.getProgramParameter(f,Gn);n.profile&&(r.stats.uniformsCount=d);var p=r.uniforms;for(l=0;l<d;++l)if(u=t.getActiveUniform(f,l))if(u.size>1)for(var m=0;m<u.size;++m){var g=u.name.replace(\"[0]\",\"[\"+m+\"]\");a(p,new i(g,e.id(g),t.getUniformLocation(f,g),u))}else a(p,new i(u.name,e.id(u.name),t.getUniformLocation(f,u.name),u));var v=t.getProgramParameter(f,Yn);n.profile&&(r.stats.attributesCount=v);var y=r.attributes;for(l=0;l<v;++l)(u=t.getActiveAttrib(f,l))&&a(y,new i(u.name,e.id(u.name),t.getAttribLocation(f,u.name),u))}function u(){c={},h={};for(var t=0;t<d.length;++t)l(d[t])}var c={},h={},f={},d=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return d.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return d.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);xe(c).forEach(e),c={},xe(h).forEach(e),h={},d.forEach(function(e){t.deleteProgram(e.program)}),d.length=0,f={},r.shaderCount=0},program:function(t,e,n){de.command(t>=0,\"missing vertex shader\",n),de.command(e>=0,\"missing fragment shader\",n);var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a,n),i[t]=a,d.push(a)),a},restore:u,shader:o,frag:-1,vert:-1}}function Ft(t,e,r,n,i,a){function o(o){var s;null===e.next?(de(i.preserveDrawingBuffer,'you must create a webgl context with \"preserveDrawingBuffer\":true in order to read pixels from the drawing buffer'),s=Wn):(de(null!==e.next.colorAttachments[0].texture,\"You cannot read from a renderbuffer\"),s=e.next.colorAttachments[0].texture._texture.type,a.oes_texture_float?de(s===Wn||s===Jn,\"Reading from a framebuffer is only allowed for the types 'uint8' and 'float'\"):de(s===Wn,\"Reading from a framebuffer is only allowed for the type 'uint8'\"));var l=0,u=0,c=n.framebufferWidth,h=n.framebufferHeight,f=null;Qt(o)?f=o:o&&(de.type(o,\"object\",\"invalid arguments to regl.read()\"),l=0|o.x,u=0|o.y,de(l>=0&&l<n.framebufferWidth,\"invalid x offset for regl.read\"),de(u>=0&&u<n.framebufferHeight,\"invalid y offset for regl.read\"),c=0|(o.width||n.framebufferWidth-l),h=0|(o.height||n.framebufferHeight-u),f=o.data||null),f&&(s===Wn?de(f instanceof Uint8Array,\"buffer must be 'Uint8Array' when reading from a framebuffer of type 'uint8'\"):s===Jn&&de(f instanceof Float32Array,\"buffer must be 'Float32Array' when reading from a framebuffer of type 'float'\")),de(c>0&&c+l<=n.framebufferWidth,\"invalid width for read pixels\"),de(h>0&&h+u<=n.framebufferHeight,\"invalid height for read pixels\"),r();var d=c*h*4;return f||(s===Wn?f=new Uint8Array(d):s===Jn&&(f=f||new Float32Array(d))),de.isTypedArray(f,\"data buffer for regl.read() must be a typedarray\"),de(f.byteLength>=d,\"data buffer for regl.read() too small\"),t.pixelStorei(Zn,4),t.readPixels(l,u,c,h,Xn,s,f),f}function s(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}function l(t){return t&&\"framebuffer\"in t?s(t):o(t)}return l}function jt(t){return Array.prototype.slice.call(t)}function Nt(t){return jt(t).join(\"\")}function Bt(){function t(t){for(var e=0;e<l.length;++e)if(l[e]===t)return s[e];var r=\"g\"+o++;return s.push(r),l.push(t),r}function e(){function t(){r.push.apply(r,jt(arguments))}function e(){var t=\"v\"+o++;return n.push(t),arguments.length>0&&(r.push(t,\"=\"),r.push.apply(r,jt(arguments)),r.push(\";\")),t}var r=[],n=[];return $t(t,{def:e,toString:function(){return Nt([n.length>0?\"var \"+n+\";\":\"\",Nt(r)])}})}function r(){function t(t,e){n(t,e,\"=\",r.def(t,e),\";\")}var r=e(),n=e(),i=r.toString,a=n.toString;return $t(function(){r.apply(r,jt(arguments))},{def:r.def,entry:r,exit:n,save:t,set:function(e,n,i){t(e,n),r(e,n,\"=\",i,\";\")},toString:function(){return i()+a()}})}function n(){var t=Nt(arguments),e=r(),n=r(),i=e.toString,a=n.toString;return $t(e,{then:function(){return e.apply(e,jt(arguments)),this},else:function(){return n.apply(n,jt(arguments)),this},toString:function(){var e=a();return e&&(e=\"else{\"+e+\"}\"),Nt([\"if(\",t,\"){\",i(),\"}\",e])}})}function i(t,e){function n(){var t=\"a\"+i.length;return i.push(t),t}var i=[];e=e||0;for(var a=0;a<e;++a)n();var o=r(),s=o.toString;return c[t]=$t(o,{arg:n,toString:function(){return Nt([\"function(\",i.join(),\"){\",s(),\"}\"])}})}function a(){var t=['\"use strict\";',u,\"return {\"];Object.keys(c).forEach(function(e){t.push('\"',e,'\":',c[e].toString(),\",\")}),t.push(\"}\");var e=Nt(t).replace(/;/g,\";\\n\").replace(/}/g,\"}\\n\").replace(/{/g,\"{\\n\");return Function.apply(null,s.concat(e)).apply(null,l)}var o=0,s=[],l=[],u=e(),c={};return{global:u,link:t,block:e,proc:i,scope:r,cond:n,compile:a}}function Ut(t){return Array.isArray(t)||Qt(t)||Z(t)}function Vt(t){return t.sort(function(t,e){return t===Ii?-1:e===Ii?1:t<e?-1:1})}function Ht(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function qt(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function Gt(t){return new Ht(!1,!1,!1,t)}function Yt(t,e){var r=t.type;if(r===ei){var n=t.data.length;return new Ht(!0,n>=1,n>=2,e)}if(r===ai){var i=t.data;return new Ht(i.thisDep,i.contextDep,i.propDep,e)}return new Ht(r===ii,r===ni,r===ri,e)}function Xt(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p){function m(t){return t.replace(\".\",\"_\")}function g(t,e,r){var n=m(t);et.push(t),tt[n]=$[n]=!!r,rt[n]=e}function v(t,e,r){var n=m(t);et.push(t),Array.isArray(r)?($[n]=r.slice(),tt[n]=r.slice()):$[n]=tt[n]=r,nt[n]=e}function y(){var t=Bt(),r=t.link,n=t.global;t.id=ot++,t.batchId=\"0\";var i=r(it),a=t.shared={props:\"a0\"};Object.keys(it).forEach(function(t){a[t]=n.def(i,\".\",t)}),de.optional(function(){t.CHECK=r(de),t.commandStr=de.guessCommand(),t.command=r(t.commandStr),t.assert=function(t,e,n){t(\"if(!(\",e,\"))\",this.CHECK,\".commandRaise(\",r(n),\",\",this.command,\");\")},at.invalidBlendCombinations=Ua});var o=t.next={},s=t.current={};Object.keys(nt).forEach(function(t){Array.isArray($[t])&&(o[t]=n.def(a.next,\".\",t),s[t]=n.def(a.current,\".\",t))});var l=t.constants={};Object.keys(at).forEach(function(t){l[t]=n.def(JSON.stringify(at[t]))}),t.invoke=function(e,n){switch(n.type){case ei:var i=[\"this\",a.context,a.props,t.batchId];return e.def(r(n.data),\".call(\",i.slice(0,Math.max(n.data.length+1,4)),\")\");case ri:return e.def(a.props,n.data);case ni:return e.def(a.context,n.data);case ii:return e.def(\"this\",n.data);case ai:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){var n=e.id(t);if(n in c)return c[n];var i=u.scope[n];return i||(i=u.scope[n]=new W),c[n]=r(i)},t}function b(t){var e,r=t.static,n=t.dynamic;if(zi in r){var i=!!r[zi];e=Gt(function(t,e){return i}),e.enable=i}else if(zi in n){var a=n[zi];e=Yt(a,function(t,e){return t.invoke(e,a)})}return e}function x(t,e){var r=t.static,n=t.dynamic;if(Pi in r){var i=r[Pi];return i?(i=s.getFramebuffer(i),de.command(i,\"invalid framebuffer object\"),Gt(function(t,e){var r=t.link(i),n=t.shared;e.set(n.framebuffer,\".next\",r);var a=n.context;return e.set(a,\".\"+Vi,r+\".width\"),e.set(a,\".\"+Hi,r+\".height\"),r})):Gt(function(t,e){var r=t.shared;e.set(r.framebuffer,\".next\",\"null\");var n=r.context;return e.set(n,\".\"+Vi,n+\".\"+Yi),e.set(n,\".\"+Hi,n+\".\"+Xi),\"null\"})}if(Pi in n){var a=n[Pi];return Yt(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer,o=e.def(i,\".getFramebuffer(\",r,\")\");de.optional(function(){t.assert(e,\"!\"+r+\"||\"+o,\"invalid framebuffer object\")}),e.set(i,\".next\",o);var s=n.context;return e.set(s,\".\"+Vi,o+\"?\"+o+\".width:\"+s+\".\"+Yi),e.set(s,\".\"+Hi,o+\"?\"+o+\".height:\"+s+\".\"+Xi),o})}return null}function _(t,e,r){function n(t){if(t in i){var n=i[t];de.commandType(n,\"object\",\"invalid \"+t,r.commandStr);var o,s,l=!0,u=0|n.x,c=0|n.y;return\"width\"in n?(o=0|n.width,de.command(o>=0,\"invalid \"+t,r.commandStr)):l=!1,\"height\"in n?(s=0|n.height,de.command(s>=0,\"invalid \"+t,r.commandStr)):l=!1,new Ht(!l&&e&&e.thisDep,!l&&e&&e.contextDep,!l&&e&&e.propDep,function(t,e){var r=t.shared.context,i=o;\"width\"in n||(i=e.def(r,\".\",Vi,\"-\",u));var a=s;return\"height\"in n||(a=e.def(r,\".\",Hi,\"-\",c)),[u,c,i,a]})}if(t in a){var h=a[t],f=Yt(h,function(e,r){var n=e.invoke(r,h);de.optional(function(){e.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+t)});var i=e.shared.context,a=r.def(n,\".x|0\"),o=r.def(n,\".y|0\"),s=r.def('\"width\" in ',n,\"?\",n,\".width|0:\",\"(\",i,\".\",Vi,\"-\",a,\")\"),l=r.def('\"height\" in ',n,\"?\",n,\".height|0:\",\"(\",i,\".\",Hi,\"-\",o,\")\");return de.optional(function(){e.assert(r,s+\">=0&&\"+l+\">=0\",\"invalid \"+t)}),[a,o,s,l]});return e&&(f.thisDep=f.thisDep||e.thisDep,f.contextDep=f.contextDep||e.contextDep,f.propDep=f.propDep||e.propDep),f}return e?new Ht(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,\".\",Vi),e.def(r,\".\",Hi)]}):null}var i=t.static,a=t.dynamic,o=n(Ii);if(o){var s=o;o=new Ht(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=s.append(t,e),n=t.shared.context;return e.set(n,\".\"+qi,r[2]),e.set(n,\".\"+Gi,r[3]),r})}return{viewport:o,scissor_box:n(Di)}}function w(t){function r(t){if(t in i){var r=e.id(i[t]);de.optional(function(){c.shader(qa[t],r,de.guessCommand())});var n=Gt(function(){return r});return n.id=r,n}if(t in a){var o=a[t];return Yt(o,function(e,r){var n=e.invoke(r,o),i=r.def(e.shared.strings,\".id(\",n,\")\");return de.optional(function(){r(e.shared.shader,\".shader(\",qa[t],\",\",i,\",\",e.command,\");\")}),i})}return null}var n,i=t.static,a=t.dynamic,o=r(Ri),s=r(Oi),l=null;return qt(o)&&qt(s)?(l=c.program(s.id,o.id),n=Gt(function(t,e){return t.link(l)})):n=new Ht(o&&o.thisDep||s&&s.thisDep,o&&o.contextDep||s&&s.contextDep,o&&o.propDep||s&&s.propDep,function(t,e){var r,n=t.shared.shader;r=o?o.append(t,e):e.def(n,\".\",Ri);var i;i=s?s.append(t,e):e.def(n,\".\",Oi);var a=n+\".program(\"+i+\",\"+r;return de.optional(function(){a+=\",\"+t.command}),e.def(a+\")\")}),{frag:o,vert:s,progVar:n,program:l}}function M(t,e){function r(t,r){if(t in n){var a=0|n[t];return de.command(!r||a>=0,\"invalid \"+t,e.commandStr),Gt(function(t,e){return r&&(t.OFFSET=a),a})}if(t in i){var s=i[t];return Yt(s,function(e,n){var i=e.invoke(n,s);return r&&(e.OFFSET=i,de.optional(function(){e.assert(n,i+\">=0\",\"invalid \"+t)})),i})}return r&&o?Gt(function(t,e){return t.OFFSET=\"0\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(Fi in n){var t=n[Fi];Ut(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t),de.command(t,\"invalid elements\",e.commandStr));var r=Gt(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n,n}return e.ELEMENTS=null,null});return r.value=t,r}if(Fi in i){var o=i[Fi];return Yt(o,function(t,e){var r=t.shared,n=r.isBufferArgs,i=r.elements,a=t.invoke(e,o),s=e.def(\"null\"),l=e.def(n,\"(\",a,\")\"),u=t.cond(l).then(s,\"=\",i,\".createStream(\",a,\");\").else(s,\"=\",i,\".getElements(\",a,\");\");return de.optional(function(){t.assert(u.else,\"!\"+a+\"||\"+s,\"invalid elements\")}),e.entry(u),e.exit(t.cond(l).then(i,\".destroyStream(\",s,\");\")),t.ELEMENTS=s,s})}return null}(),s=r(Bi,!0);return{elements:o,primitive:function(){if(ji in n){var t=n[ji];return de.commandParameter(t,Be,\"invalid primitve\",e.commandStr),Gt(function(e,r){return Be[t]})}if(ji in i){var r=i[ji];return Yt(r,function(t,e){var n=t.constants.primTypes,i=t.invoke(e,r);return de.optional(function(){t.assert(e,i+\" in \"+n,\"invalid primitive, must be one of \"+Object.keys(Be))}),e.def(n,\"[\",i,\"]\")})}return o?qt(o)?Gt(o.value?function(t,e){return e.def(t.ELEMENTS,\".primType\")}:function(){return ka}):new Ht(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,\"?\",r,\".primType:\",ka)}):null}(),count:function(){if(Ni in n){var t=0|n[Ni];return de.command(\"number\"==typeof t&&t>=0,\"invalid vertex count\",e.commandStr),Gt(function(){return t})}if(Ni in i){var r=i[Ni];return Yt(r,function(t,e){var n=t.invoke(e,r);return de.optional(function(){t.assert(e,\"typeof \"+n+'===\"number\"&&'+n+\">=0&&\"+n+\"===(\"+n+\"|0)\",\"invalid vertex count\")}),n})}if(o){if(qt(o)){if(o)return s?new Ht(s.thisDep,s.contextDep,s.propDep,function(t,e){var r=e.def(t.ELEMENTS,\".vertCount-\",t.OFFSET);return de.optional(function(){t.assert(e,r+\">=0\",\"invalid vertex offset/element buffer too small\")}),r}):Gt(function(t,e){return e.def(t.ELEMENTS,\".vertCount\")});var a=Gt(function(){return-1});return de.optional(function(){a.MISSING=!0}),a}var l=new Ht(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,\"?\",r,\".vertCount-\",t.OFFSET,\":-1\"):e.def(r,\"?\",r,\".vertCount:-1\")});return de.optional(function(){l.DYNAMIC=!0}),l}return null}(),instances:r(Ui,!1),offset:s}}function A(t,e){var r=t.static,i=t.dynamic,a={};return et.forEach(function(t){function o(e,n){if(t in r){var o=e(r[t]);a[s]=Gt(function(){return o})}else if(t in i){var l=i[t];a[s]=Yt(l,function(t,e){return n(t,e,t.invoke(e,l))})}}var s=m(t);switch(t){case gi:case si:case oi:case ki:case hi:case Ci:case xi:case wi:case Mi:case pi:return o(function(r){return de.commandType(r,\"boolean\",t,e.commandStr),r},function(e,r,n){return de.optional(function(){e.assert(r,\"typeof \"+n+'===\"boolean\"',\"invalid flag \"+t,e.commandStr)}),n});case fi:return o(function(r){return de.commandParameter(r,Va,\"invalid \"+t,e.commandStr),Va[r]},function(e,r,n){var i=e.constants.compareFuncs;return de.optional(function(){e.assert(r,n+\" in \"+i,\"invalid \"+t+\", must be one of \"+Object.keys(Va))}),r.def(i,\"[\",n,\"]\")});case di:return o(function(t){return de.command(mt(t)&&2===t.length&&\"number\"==typeof t[0]&&\"number\"==typeof t[1]&&t[0]<=t[1],\"depth range is 2d array\",e.commandStr),t},function(t,e,r){return de.optional(function(){t.assert(e,t.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\")}),[e.def(\"+\",r,\"[0]\"),e.def(\"+\",r,\"[1]\")]});case ci:return o(function(t){de.commandType(t,\"object\",\"blend.func\",e.commandStr);var r=\"srcRGB\"in t?t.srcRGB:t.src,n=\"srcAlpha\"in t?t.srcAlpha:t.src,i=\"dstRGB\"in t?t.dstRGB:t.dst,a=\"dstAlpha\"in t?t.dstAlpha:t.dst;return de.commandParameter(r,Ba,s+\".srcRGB\",e.commandStr),de.commandParameter(n,Ba,s+\".srcAlpha\",e.commandStr),de.commandParameter(i,Ba,s+\".dstRGB\",e.commandStr),de.commandParameter(a,Ba,s+\".dstAlpha\",e.commandStr),de.command(Ua.indexOf(r+\", \"+i)===-1,\"unallowed blending combination (srcRGB, dstRGB) = (\"+r+\", \"+i+\")\",e.commandStr),[Ba[r],Ba[i],Ba[n],Ba[a]]},function(e,r,n){function i(i,o){var s=r.def('\"',i,o,'\" in ',n,\"?\",n,\".\",i,o,\":\",n,\".\",i);return de.optional(function(){e.assert(r,s+\" in \"+a,\"invalid \"+t+\".\"+i+o+\", must be one of \"+Object.keys(Ba))}),s}var a=e.constants.blendFuncs;de.optional(function(){e.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid blend func, must be an object\")});var o=i(\"src\",\"RGB\"),s=i(\"dst\",\"RGB\");de.optional(function(){var t=e.constants.invalidBlendCombinations;e.assert(r,t+\".indexOf(\"+o+'+\", \"+'+s+\") === -1 \",\"unallowed blending combination for (srcRGB, dstRGB)\")});var l=r.def(a,\"[\",o,\"]\"),u=r.def(a,\"[\",i(\"src\",\"Alpha\"),\"]\");return[l,r.def(a,\"[\",s,\"]\"),u,r.def(a,\"[\",i(\"dst\",\"Alpha\"),\"]\")]});case ui:return o(function(r){return\"string\"==typeof r?(de.commandParameter(r,Z,\"invalid \"+t,e.commandStr),[Z[r],Z[r]]):\"object\"==typeof r?(de.commandParameter(r.rgb,Z,t+\".rgb\",e.commandStr),de.commandParameter(r.alpha,Z,t+\".alpha\",e.commandStr),[Z[r.rgb],Z[r.alpha]]):void de.commandRaise(\"invalid blend.equation\",e.commandStr)},function(e,r,n){var i=e.constants.blendEquations,a=r.def(),o=r.def(),s=e.cond(\"typeof \",n,'===\"string\"');return de.optional(function(){function r(t,r,n){e.assert(t,n+\" in \"+i,\"invalid \"+r+\", must be one of \"+Object.keys(Z))}r(s.then,t,n),e.assert(s.else,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+t),r(s.else,t+\".rgb\",n+\".rgb\"),r(s.else,t+\".alpha\",n+\".alpha\")}),s.then(a,\"=\",o,\"=\",i,\"[\",n,\"];\"),s.else(a,\"=\",i,\"[\",n,\".rgb];\",o,\"=\",i,\"[\",n,\".alpha];\"),r(s),[a,o]});case li:return o(function(t){return de.command(mt(t)&&4===t.length,\"blend.color must be a 4d array\",e.commandStr),J(4,function(e){return+t[e]})},function(t,e,r){return de.optional(function(){t.assert(e,t.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===4\",\"blend.color must be a 4d array\")}),J(4,function(t){return e.def(\"+\",r,\"[\",t,\"]\")})});case Ti:return o(function(t){return de.commandType(t,\"number\",s,e.commandStr),0|t},function(t,e,r){return de.optional(function(){t.assert(e,\"typeof \"+r+'===\"number\"',\"invalid stencil.mask\")}),e.def(r,\"|0\")});case Ei:return o(function(r){de.commandType(r,\"object\",s,e.commandStr);var n=r.cmp||\"keep\",i=r.ref||0,a=\"mask\"in r?r.mask:-1;return de.commandParameter(n,Va,t+\".cmp\",e.commandStr),de.commandType(i,\"number\",t+\".ref\",e.commandStr),de.commandType(a,\"number\",t+\".mask\",e.commandStr),[Va[n],i,a]},function(t,e,r){var n=t.constants.compareFuncs;return de.optional(function(){function i(){t.assert(e,Array.prototype.join.call(arguments,\"\"),\"invalid stencil.func\")}i(r+\"&&typeof \",r,'===\"object\"'),i('!(\"cmp\" in ',r,\")||(\",r,\".cmp in \",n,\")\")}),[e.def('\"cmp\" in ',r,\"?\",n,\"[\",r,\".cmp]\",\":\",za),e.def(r,\".ref|0\"),e.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]});case Si:case Li:return o(function(r){de.commandType(r,\"object\",s,e.commandStr);var n=r.fail||\"keep\",i=r.zfail||\"keep\",a=r.zpass||\"keep\";return de.commandParameter(n,Ha,t+\".fail\",e.commandStr),de.commandParameter(i,Ha,t+\".zfail\",e.commandStr),de.commandParameter(a,Ha,t+\".zpass\",e.commandStr),[t===Li?Ea:Ta,Ha[n],Ha[i],Ha[a]]},function(e,r,n){function i(i){return de.optional(function(){e.assert(r,'!(\"'+i+'\" in '+n+\")||(\"+n+\".\"+i+\" in \"+a+\")\",\"invalid \"+t+\".\"+i+\", must be one of \"+Object.keys(Ha))}),r.def('\"',i,'\" in ',n,\"?\",a,\"[\",n,\".\",i,\"]:\",za)}var a=e.constants.stencilOps;return de.optional(function(){e.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+t)}),[t===Li?Ea:Ta,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]});case _i:return o(function(t){de.commandType(t,\"object\",s,e.commandStr);var r=0|t.factor,n=0|t.units;return de.commandType(r,\"number\",s+\".factor\",e.commandStr),de.commandType(n,\"number\",s+\".units\",e.commandStr),[r,n]},function(e,r,n){return de.optional(function(){e.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+t)}),[r.def(n,\".factor|0\"),r.def(n,\".units|0\")]});case vi:return o(function(t){var r=0;return\"front\"===t?r=Ta:\"back\"===t&&(r=Ea),de.command(!!r,s,e.commandStr),r},function(t,e,r){return de.optional(function(){t.assert(e,r+'===\"front\"||'+r+'===\"back\"',\"invalid cull.face\")}),e.def(r,'===\"front\"?',Ta,\":\",Ea)});case bi:return o(function(t){return de.command(\"number\"==typeof t&&t>=n.lineWidthDims[0]&&t<=n.lineWidthDims[1],\"invalid line width, must positive number between \"+n.lineWidthDims[0]+\" and \"+n.lineWidthDims[1],e.commandStr),t},function(t,e,r){return de.optional(function(){t.assert(e,\"typeof \"+r+'===\"number\"&&'+r+\">=\"+n.lineWidthDims[0]+\"&&\"+r+\"<=\"+n.lineWidthDims[1],\"invalid line width\")}),r});case yi:return o(function(t){return de.commandParameter(t,Ga,s,e.commandStr),Ga[t]},function(t,e,r){return de.optional(function(){t.assert(e,r+'===\"cw\"||'+r+'===\"ccw\"',\"invalid frontFace, must be one of cw,ccw\")}),e.def(r+'===\"cw\"?'+Sa+\":\"+La)});case mi:return o(function(t){return de.command(mt(t)&&4===t.length,\"color.mask must be length 4 array\",e.commandStr),t.map(function(t){return!!t})},function(t,e,r){return de.optional(function(){t.assert(e,t.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===4\",\"invalid color.mask\")}),J(4,function(t){return\"!!\"+r+\"[\"+t+\"]\"})});case Ai:return o(function(t){de.command(\"object\"==typeof t&&t,s,e.commandStr);var r=\"value\"in t?t.value:1,n=!!t.invert;return de.command(\"number\"==typeof r&&r>=0&&r<=1,\"sample.coverage.value must be a number between 0 and 1\",e.commandStr),[r,n]},function(t,e,r){return de.optional(function(){t.assert(e,r+\"&&typeof \"+r+'===\"object\"',\"invalid sample.coverage\")}),[e.def('\"value\" in ',r,\"?+\",r,\".value:1\"),e.def(\"!!\",r,\".invert\")]})}}),a}function k(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var n,a=r[t];if(\"number\"==typeof a||\"boolean\"==typeof a)n=Gt(function(){return a});else if(\"function\"==typeof a){var o=a._reglType;\"texture2d\"===o||\"textureCube\"===o?n=Gt(function(t){return t.link(a)}):\"framebuffer\"===o||\"framebufferCube\"===o?(de.command(a.color.length>0,'missing color attachment for framebuffer sent to uniform \"'+t+'\"',e.commandStr),n=Gt(function(t){return t.link(a.color[0])})):de.commandRaise('invalid data for uniform \"'+t+'\"',e.commandStr)}else mt(a)?n=Gt(function(e){return e.global.def(\"[\",J(a.length,function(r){return de.command(\"number\"==typeof a[r]||\"boolean\"==typeof a[r],\"invalid uniform \"+t,e.commandStr),a[r]}),\"]\")}):de.commandRaise('invalid or missing data for uniform \"'+t+'\"',e.commandStr);n.value=a,i[t]=n}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=Yt(e,function(t,r){return t.invoke(r,e)})}),i}function T(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var a=n[t],s=e.id(t),l=new W;if(Ut(a))l.state=$n,l.buffer=i.getBuffer(i.create(a,Zi,!1,!0)),l.type=0;else{var u=i.getBuffer(a);if(u)l.state=$n,l.buffer=u,l.type=0;else if(de.command(\"object\"==typeof a&&a,\"invalid data for attribute \"+t,r.commandStr),a.constant){var c=a.constant;l.buffer=\"null\",l.state=ti,\"number\"==typeof c?l.x=c:(de.command(mt(c)&&c.length>0&&c.length<=4,\"invalid constant for attribute \"+t,r.commandStr),Kn.forEach(function(t,e){e<c.length&&(l[t]=c[e])}))}else{u=Ut(a.buffer)?i.getBuffer(i.create(a.buffer,Zi,!1,!0)):i.getBuffer(a.buffer),de.command(!!u,'missing buffer for attribute \"'+t+'\"',r.commandStr);var h=0|a.offset;de.command(h>=0,'invalid offset for attribute \"'+t+'\"',r.commandStr);var f=0|a.stride;de.command(f>=0&&f<256,'invalid stride for attribute \"'+t+'\", must be integer betweeen [0, 255]',r.commandStr);var d=0|a.size;de.command(!(\"size\"in a)||d>0&&d<=4,'invalid size for attribute \"'+t+'\", must be 1,2,3,4',r.commandStr);var p=!!a.normalized,m=0;\"type\"in a&&(de.commandParameter(a.type,De,\"invalid type for attribute \"+t,r.commandStr),m=De[a.type]);var g=0|a.divisor;\"divisor\"in a&&(de.command(0===g||K,'cannot specify divisor for attribute \"'+t+'\", instancing not supported',r.commandStr),de.command(g>=0,'invalid divisor for attribute \"'+t+'\"',r.commandStr)),de.optional(function(){var e=r.commandStr,n=[\"buffer\",\"offset\",\"divisor\",\"normalized\",\"type\",\"size\",\"stride\"];Object.keys(a).forEach(function(r){de.command(n.indexOf(r)>=0,'unknown parameter \"'+r+'\" for attribute pointer \"'+t+'\" (valid parameters are '+n+\")\",e)})}),l.buffer=u,l.state=$n,l.size=d,l.normalized=p,l.type=m||u.dtype,l.offset=h,l.stride=f,l.divisor=g}}o[t]=Gt(function(t,e){var r=t.attribCache;if(s in r)return r[s];var n={isStream:!1};return Object.keys(l).forEach(function(t){n[t]=l[t]}),l.buffer&&(n.buffer=t.link(l.buffer),n.type=n.type||n.buffer+\".dtype\"),r[s]=n,n})}),Object.keys(a).forEach(function(t){function e(e,n){function i(t){n(u[t],\"=\",a,\".\",t,\"|0;\")}var a=e.invoke(n,r),o=e.shared,s=o.isBufferArgs,l=o.buffer;de.optional(function(){e.assert(n,a+\"&&(typeof \"+a+'===\"object\"||typeof '+a+'===\"function\")&&('+s+\"(\"+a+\")||\"+l+\".getBuffer(\"+a+\")||\"+l+\".getBuffer(\"+a+\".buffer)||\"+s+\"(\"+a+'.buffer)||(\"constant\" in '+a+\"&&(typeof \"+a+'.constant===\"number\"||'+o.isArrayLike+\"(\"+a+\".constant))))\",'invalid dynamic attribute \"'+t+'\"')});var u={isStream:n.def(!1)},c=new W;c.state=$n,Object.keys(c).forEach(function(t){u[t]=n.def(\"\"+c[t])});var h=u.buffer,f=u.type;return n(\"if(\",s,\"(\",a,\")){\",u.isStream,\"=true;\",h,\"=\",l,\".createStream(\",Zi,\",\",a,\");\",f,\"=\",h,\".dtype;\",\"}else{\",h,\"=\",l,\".getBuffer(\",a,\");\",\"if(\",h,\"){\",f,\"=\",h,\".dtype;\",'}else if(\"constant\" in ',a,\"){\",u.state,\"=\",ti,\";\",\"if(typeof \"+a+'.constant === \"number\"){',u[Kn[0]],\"=\",a,\".constant;\",Kn.slice(1).map(function(t){return u[t]}).join(\"=\"),\"=0;\",\"}else{\",Kn.map(function(t,e){return u[t]+\"=\"+a+\".constant.length>=\"+e+\"?\"+a+\".constant[\"+e+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",s,\"(\",a,\".buffer)){\",h,\"=\",l,\".createStream(\",Zi,\",\",a,\".buffer);\",\"}else{\",h,\"=\",l,\".getBuffer(\",a,\".buffer);\",\"}\",f,'=\"type\" in ',a,\"?\",o.glTypes,\"[\",a,\".type]:\",h,\".dtype;\",u.normalized,\"=!!\",a,\".normalized;\"),i(\"size\"),i(\"offset\"),i(\"stride\"),i(\"divisor\"),n(\"}}\"),n.exit(\"if(\",u.isStream,\"){\",l,\".destroyStream(\",h,\");\",\"}\"),u}var r=a[t];o[t]=Yt(r,e)}),o}function E(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=Gt(function(t,e){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=Yt(e,function(t,r){return t.invoke(r,e)})}),n}function S(t,e,r,n,i){function a(t){var e=u[t];e&&(h[t]=e)}var o=t.static,s=t.dynamic;de.optional(function(){function t(t){Object.keys(t).forEach(function(t){de.command(e.indexOf(t)>=0,'unknown parameter \"'+t+'\"',i.commandStr)})}var e=[Pi,Oi,Ri,Fi,ji,Bi,Ni,Ui,zi].concat(et);t(o),t(s)});var l=x(t,i),u=_(t,l,i),c=M(t,i),h=A(t,i),f=w(t,i);a(Ii),a(m(Di));var d=Object.keys(h).length>0,p={framebuffer:l,draw:c,shader:f,state:h,dirty:d};return p.profile=b(t,i),p.uniforms=k(r,i),p.attributes=T(e,i),p.context=E(n,i),p}function L(t,e,r){var n=t.shared,i=n.context,a=t.scope();Object.keys(r).forEach(function(n){e.save(i,\".\"+n),a(i,\".\",n,\"=\",r[n].append(t,e),\";\")}),e(a)}function C(t,e,r,n){var i,a=t.shared,o=a.gl,s=a.framebuffer;Q&&(i=e.def(a.extensions,\".webgl_draw_buffers\"));var l,u=t.constants,c=u.drawBuffer,h=u.backBuffer;l=r?r.append(t,e):e.def(s,\".next\"),n||e(\"if(\",l,\"!==\",s,\".cur){\"),e(\"if(\",l,\"){\",o,\".bindFramebuffer(\",ja,\",\",l,\".framebuffer);\"),Q&&e(i,\".drawBuffersWEBGL(\",c,\"[\",l,\".colorAttachments.length]);\"),e(\"}else{\",o,\".bindFramebuffer(\",ja,\",null);\"),Q&&e(i,\".drawBuffersWEBGL(\",h,\");\"),e(\"}\",s,\".cur=\",l,\";\"),n||e(\"}\")}function D(t,e,r){var n=t.shared,i=n.gl,a=t.current,o=t.next,s=n.current,l=n.next,u=t.cond(s,\".dirty\");et.forEach(function(e){var n=m(e);if(!(n in r.state)){var c,h;if(n in o){c=o[n],h=a[n];var f=J($[n].length,function(t){return u.def(c,\"[\",t,\"]\")});u(t.cond(f.map(function(t,e){return t+\"!==\"+h+\"[\"+e+\"]\"}).join(\"||\")).then(i,\".\",nt[n],\"(\",f,\");\",f.map(function(t,e){return h+\"[\"+e+\"]=\"+t}).join(\";\"),\";\"))}else{c=u.def(l,\".\",n);var d=t.cond(c,\"!==\",s,\".\",n);u(d),n in rt?d(t.cond(c).then(i,\".enable(\",rt[n],\");\").else(i,\".disable(\",rt[n],\");\"),s,\".\",n,\"=\",c,\";\"):d(i,\".\",nt[n],\"(\",c,\");\",s,\".\",n,\"=\",c,\";\")}}}),0===Object.keys(r.state).length&&u(s,\".dirty=false;\"),e(u)}function I(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;Vt(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){\nvar u=l.append(t,e);if(rt[i]){var c=rt[i];qt(l)?u?e(s,\".enable(\",c,\");\"):e(s,\".disable(\",c,\");\"):e(t.cond(u).then(s,\".enable(\",c,\");\").else(s,\".disable(\",c,\");\")),e(o,\".\",i,\"=\",u,\";\")}else if(mt(u)){var h=a[i];e(s,\".\",nt[i],\"(\",u,\");\",u.map(function(t,e){return h+\"[\"+e+\"]=\"+t}).join(\";\"),\";\")}else e(s,\".\",nt[i],\"(\",u,\");\",o,\".\",i,\"=\",u,\";\")}})}function z(t,e){K&&(t.instancing=e.def(t.shared.extensions,\".angle_instanced_arrays\"))}function P(t,e,r,n,i){function a(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function o(t){u=e.def(),t(u,\"=\",a(),\";\"),\"string\"==typeof i?t(p,\".count+=\",i,\";\"):t(p,\".count++;\"),d&&(n?(c=e.def(),t(c,\"=\",g,\".getNumPendingQueries();\")):t(g,\".beginQuery(\",p,\");\"))}function s(t){t(p,\".cpuTime+=\",a(),\"-\",u,\";\"),d&&(n?t(g,\".pushScopeStats(\",c,\",\",g,\".getNumPendingQueries(),\",p,\");\"):t(g,\".endQuery();\"))}function l(t){var r=e.def(m,\".profile\");e(m,\".profile=\",t,\";\"),e.exit(m,\".profile=\",r,\";\")}var u,c,h,f=t.shared,p=t.stats,m=f.current,g=f.timer,v=r.profile;if(v){if(qt(v))return void(v.enable?(o(e),s(e.exit),l(\"true\")):l(\"false\"));h=v.append(t,e),l(h)}else h=e.def(m,\".profile\");var y=t.block();o(y),e(\"if(\",h,\"){\",y,\"}\");var b=t.block();s(b),e.exit(\"if(\",h,\"){\",b,\"}\")}function O(t,e,r,n,i){function a(t){switch(t){case ua:case da:case va:return 2;case ca:case pa:case ya:return 3;case ha:case ma:case ba:return 4;default:return 1}}function o(r,n,i){function a(){e(\"if(!\",c,\".buffer){\",l,\".enableVertexAttribArray(\",u,\");}\");var r,a=i.type;if(r=i.size?e.def(i.size,\"||\",n):n,e(\"if(\",c,\".type!==\",a,\"||\",c,\".size!==\",r,\"||\",p.map(function(t){return c+\".\"+t+\"!==\"+i[t]}).join(\"||\"),\"){\",l,\".bindBuffer(\",Zi,\",\",f,\".buffer);\",l,\".vertexAttribPointer(\",[u,r,a,i.normalized,i.stride,i.offset],\");\",c,\".type=\",a,\";\",c,\".size=\",r,\";\",p.map(function(t){return c+\".\"+t+\"=\"+i[t]+\";\"}).join(\"\"),\"}\"),K){var o=i.divisor;e(\"if(\",c,\".divisor!==\",o,\"){\",t.instancing,\".vertexAttribDivisorANGLE(\",[u,o],\");\",c,\".divisor=\",o,\";}\")}}function o(){e(\"if(\",c,\".buffer){\",l,\".disableVertexAttribArray(\",u,\");\",\"}if(\",Kn.map(function(t,e){return c+\".\"+t+\"!==\"+d[e]}).join(\"||\"),\"){\",l,\".vertexAttrib4f(\",u,\",\",d,\");\",Kn.map(function(t,e){return c+\".\"+t+\"=\"+d[e]+\";\"}).join(\"\"),\"}\")}var l=s.gl,u=e.def(r,\".location\"),c=e.def(s.attributes,\"[\",u,\"]\"),h=i.state,f=i.buffer,d=[i.x,i.y,i.z,i.w],p=[\"buffer\",\"normalized\",\"offset\",\"stride\"];h===$n?a():h===ti?o():(e(\"if(\",h,\"===\",$n,\"){\"),a(),e(\"}else{\"),o(),e(\"}\"))}var s=t.shared;n.forEach(function(n){var s,l=n.name,u=r.attributes[l];if(u){if(!i(u))return;s=u.append(t,e)}else{if(!i(Ya))return;var c=t.scopeAttrib(l);de.optional(function(){t.assert(e,c+\".state\",\"missing attribute \"+l)}),s={},Object.keys(new W).forEach(function(t){s[t]=e.def(c,\".\",t)})}o(t.link(n),a(n.info.type),s)})}function R(t,r,n,i,a){for(var o,s=t.shared,l=s.gl,u=0;u<i.length;++u){var c,h=i[u],f=h.name,d=h.info.type,p=n.uniforms[f],m=t.link(h),g=m+\".location\";if(p){if(!a(p))continue;if(qt(p)){var v=p.value;if(de.command(null!==v&&void 0!==v,'missing uniform \"'+f+'\"',t.commandStr),d===Ma||d===Aa){de.command(\"function\"==typeof v&&(d===Ma&&(\"texture2d\"===v._reglType||\"framebuffer\"===v._reglType)||d===Aa&&(\"textureCube\"===v._reglType||\"framebufferCube\"===v._reglType)),\"invalid texture for uniform \"+f,t.commandStr);var y=t.link(v._texture||v.color[0]._texture);r(l,\".uniform1i(\",g,\",\",y+\".bind());\"),r.exit(y,\".unbind();\")}else if(d===xa||d===_a||d===wa){de.optional(function(){de.command(mt(v),\"invalid matrix for uniform \"+f,t.commandStr),de.command(d===xa&&4===v.length||d===_a&&9===v.length||d===wa&&16===v.length,\"invalid length for matrix uniform \"+f,t.commandStr)});var b=t.global.def(\"new Float32Array([\"+Array.prototype.slice.call(v)+\"])\"),x=2;d===_a?x=3:d===wa&&(x=4),r(l,\".uniformMatrix\",x,\"fv(\",g,\",false,\",b,\");\")}else{switch(d){case la:de.commandType(v,\"number\",\"uniform \"+f,t.commandStr),o=\"1f\";break;case ua:de.command(mt(v)&&2===v.length,\"uniform \"+f,t.commandStr),o=\"2f\";break;case ca:de.command(mt(v)&&3===v.length,\"uniform \"+f,t.commandStr),o=\"3f\";break;case ha:de.command(mt(v)&&4===v.length,\"uniform \"+f,t.commandStr),o=\"4f\";break;case ga:de.commandType(v,\"boolean\",\"uniform \"+f,t.commandStr),o=\"1i\";break;case fa:de.commandType(v,\"number\",\"uniform \"+f,t.commandStr),o=\"1i\";break;case va:de.command(mt(v)&&2===v.length,\"uniform \"+f,t.commandStr),o=\"2i\";break;case da:de.command(mt(v)&&2===v.length,\"uniform \"+f,t.commandStr),o=\"2i\";break;case ya:de.command(mt(v)&&3===v.length,\"uniform \"+f,t.commandStr),o=\"3i\";break;case pa:de.command(mt(v)&&3===v.length,\"uniform \"+f,t.commandStr),o=\"3i\";break;case ba:de.command(mt(v)&&4===v.length,\"uniform \"+f,t.commandStr),o=\"4i\";break;case ma:de.command(mt(v)&&4===v.length,\"uniform \"+f,t.commandStr),o=\"4i\"}r(l,\".uniform\",o,\"(\",g,\",\",mt(v)?Array.prototype.slice.call(v):v,\");\")}continue}c=p.append(t,r)}else{if(!a(Ya))continue;c=r.def(s.uniforms,\"[\",e.id(f),\"]\")}d===Ma?r(\"if(\",c,\"&&\",c,'._reglType===\"framebuffer\"){',c,\"=\",c,\".color[0];\",\"}\"):d===Aa&&r(\"if(\",c,\"&&\",c,'._reglType===\"framebufferCube\"){',c,\"=\",c,\".color[0];\",\"}\"),de.optional(function(){function e(e,n){t.assert(r,e,'bad data or missing for uniform \"'+f+'\".  '+n)}function n(t){e(\"typeof \"+c+'===\"'+t+'\"',\"invalid type, expected \"+t)}function i(r,n){e(s.isArrayLike+\"(\"+c+\")&&\"+c+\".length===\"+r,\"invalid vector, should have length \"+r,t.commandStr)}function a(r){e(\"typeof \"+c+'===\"function\"&&'+c+'._reglType===\"texture'+(r===Ki?\"2d\":\"Cube\")+'\"',\"invalid texture type\",t.commandStr)}switch(d){case fa:n(\"number\");break;case da:i(2,\"number\");break;case pa:i(3,\"number\");break;case ma:i(4,\"number\");break;case la:n(\"number\");break;case ua:i(2,\"number\");break;case ca:i(3,\"number\");break;case ha:i(4,\"number\");break;case ga:n(\"boolean\");break;case va:i(2,\"boolean\");break;case ya:i(3,\"boolean\");break;case ba:i(4,\"boolean\");break;case xa:i(4,\"number\");break;case _a:i(9,\"number\");break;case wa:i(16,\"number\");break;case Ma:a(Ki);break;case Aa:a(Qi)}});var _=1;switch(d){case Ma:case Aa:var w=r.def(c,\"._texture\");r(l,\".uniform1i(\",g,\",\",w,\".bind());\"),r.exit(w,\".unbind();\");continue;case fa:case ga:o=\"1i\";break;case da:case va:o=\"2i\",_=2;break;case pa:case ya:o=\"3i\",_=3;break;case ma:case ba:o=\"4i\",_=4;break;case la:o=\"1f\";break;case ua:o=\"2f\",_=2;break;case ca:o=\"3f\",_=3;break;case ha:o=\"4f\",_=4;break;case xa:o=\"Matrix2fv\";break;case _a:o=\"Matrix3fv\";break;case wa:o=\"Matrix4fv\"}if(r(l,\".uniform\",o,\"(\",g,\",\"),\"M\"===o.charAt(0)){var M=Math.pow(d-xa+2,2),A=t.global.def(\"new Float32Array(\",M,\")\");r(\"false,(Array.isArray(\",c,\")||\",c,\" instanceof Float32Array)?\",c,\":(\",J(M,function(t){return A+\"[\"+t+\"]=\"+c+\"[\"+t+\"]\"}),\",\",A,\")\")}else r(_>1?J(_,function(t){return c+\"[\"+t+\"]\"}):c);r(\");\")}}function F(t,e,r,n){function i(i){var a=c[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(u,\".\",i)}function a(){function t(){r(g,\".drawElementsInstancedANGLE(\",[f,p,v,d+\"<<((\"+v+\"-\"+Qn+\")>>1)\",m],\");\")}function e(){r(g,\".drawArraysInstancedANGLE(\",[f,d,p,m],\");\")}h?y?t():(r(\"if(\",h,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(l+\".drawElements(\"+[f,p,v,d+\"<<((\"+v+\"-\"+Qn+\")>>1)\"]+\");\")}function e(){r(l+\".drawArrays(\"+[f,d,p]+\");\")}h?y?t():(r(\"if(\",h,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s=t.shared,l=s.gl,u=s.draw,c=n.draw,h=function(){var i,a=c.elements,o=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(o=r),i=a.append(t,o)):i=o.def(u,\".\",Fi),i&&o(\"if(\"+i+\")\"+l+\".bindBuffer(\"+Ji+\",\"+i+\".buffer.buffer);\"),i}(),f=i(ji),d=i(Bi),p=function(){var i,a=c.count,o=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(o=r),i=a.append(t,o),de.optional(function(){a.MISSING&&t.assert(e,\"false\",\"missing vertex count\"),a.DYNAMIC&&t.assert(o,i+\">=0\",\"missing vertex count\")})):(i=o.def(u,\".\",Ni),de.optional(function(){t.assert(o,i+\">=0\",\"missing vertex count\")})),i}();if(\"number\"==typeof p){if(0===p)return}else r(\"if(\",p,\"){\"),r.exit(\"}\");var m,g;K&&(m=i(Ui),g=t.instancing);var v=h+\".type\",y=c.elements&&qt(c.elements);K&&(\"number\"!=typeof m||m>=0)?\"string\"==typeof m?(r(\"if(\",m,\">0){\"),a(),r(\"}else if(\",m,\"<0){\"),o(),r(\"}\")):a():o()}function j(t,e,r,n,i){var a=y(),o=a.proc(\"body\",i);return de.optional(function(){a.commandStr=e.commandStr,a.command=a.link(e.commandStr)}),K&&(a.instancing=o.def(a.shared.extensions,\".angle_instanced_arrays\")),t(a,o,r,n),a.compile().body}function N(t,e,r,n){z(t,e),O(t,e,r,n.attributes,function(){return!0}),R(t,e,r,n.uniforms,function(){return!0}),F(t,e,e,r)}function B(t,e){var r=t.proc(\"draw\",1);z(t,r),L(t,r,e.context),C(t,r,e.framebuffer),D(t,r,e),I(t,r,e.state),P(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,\".useProgram(\",n,\".program);\"),e.shader.program)N(t,r,e,e.shader.program);else{var i=t.global.def(\"{}\"),a=r.def(n,\".id\"),o=r.def(i,\"[\",a,\"]\");r(t.cond(o).then(o,\".call(this,a0);\").else(o,\"=\",i,\"[\",a,\"]=\",t.link(function(r){return j(N,t,e,r,1)}),\"(\",n,\");\",o,\".call(this,a0);\"))}Object.keys(e.state).length>0&&r(t.shared.current,\".dirty=true;\")}function U(t,e,r,n){function i(){return!0}t.batchId=\"a1\",z(t,e),O(t,e,r,n.attributes,i),R(t,e,r,n.uniforms,i),F(t,e,e,r)}function V(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}z(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();if(e(u.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",c,\"}\",u.exit),r.needsContext&&L(t,c,r.context),r.needsFramebuffer&&C(t,c,r.framebuffer),I(t,c,r.state,i),r.profile&&i(r.profile)&&P(t,c,r,!1,!0),n)O(t,u,r,n.attributes,a),O(t,c,r,n.attributes,i),R(t,u,r,n.uniforms,a),R(t,c,r,n.uniforms,i),F(t,u,c,r);else{var h=t.global.def(\"{}\"),f=r.shader.progVar.append(t,c),d=c.def(f,\".id\"),p=c.def(h,\"[\",d,\"]\");c(t.shared.gl,\".useProgram(\",f,\".program);\",\"if(!\",p,\"){\",p,\"=\",h,\"[\",d,\"]=\",t.link(function(e){return j(U,t,r,e,2)}),\"(\",f,\");}\",p,\".call(this,a0[\",s,\"],\",s,\");\")}}function H(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\"batch\",2);t.batchId=\"0\",z(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(L(t,n,e.context),a=!1);var o=e.framebuffer,s=!1;o?(o.propDep?i=s=!0:o.contextDep&&i&&(s=!0),s||C(t,n,o)):C(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),D(t,n,e),I(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||P(t,n,e,!1,\"a1\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=s;var l=e.shader.progVar;if(l.contextDep&&i||l.propDep)V(t,n,e,null);else{var u=l.append(t,n);if(n(t.shared.gl,\".useProgram(\",u,\".program);\"),e.shader.program)V(t,n,e,e.shader.program);else{var c=t.global.def(\"{}\"),h=n.def(u,\".id\"),f=n.def(c,\"[\",h,\"]\");n(t.cond(f).then(f,\".call(this,a0,a1);\").else(f,\"=\",c,\"[\",h,\"]=\",t.link(function(r){return j(V,t,e,r,2)}),\"(\",u,\");\",f,\".call(this,a0,a1);\"))}}Object.keys(e.state).length>0&&n(t.shared.current,\".dirty=true;\")}function q(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\".\"+e,n.append(t,i))}var i=t.proc(\"scope\",3);t.batchId=\"a2\";var a=t.shared,o=a.current;L(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),Vt(Object.keys(r.state)).forEach(function(e){var n=r.state[e],o=n.append(t,i);mt(o)?o.forEach(function(r,n){i.set(t.next[e],\"[\"+n+\"]\",r)}):i.set(a.next,\".\"+e,o)}),P(t,i,r,!0,!0),[Fi,Bi,Ni,Ui,ji].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\".\"+e,\"\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\"[\"+e.id(n)+\"]\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new W).forEach(function(t){i.set(a,\".\"+t,n[t])})}),n(Oi),n(Ri),Object.keys(r.state).length>0&&(i(o,\".dirty=true;\"),i.exit(o,\".dirty=true;\")),i(\"a1(\",t.shared.context,\",a0,\",t.batchId,\");\")}function G(t){if(\"object\"==typeof t&&!mt(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(ge.isDynamic(t[e[r]]))return!0;return!1}}function Y(t,e,r){function n(t,e){o.forEach(function(r){var n=i[r];if(ge.isDynamic(n)){e(c,\".\",r,\"=\",t.invoke(e,n),\";\")}})}var i=e.static[r];if(i&&G(i)){var a=t.global,o=Object.keys(i),s=!1,l=!1,u=!1,c=t.global.def(\"{}\");o.forEach(function(e){var r=i[e];if(ge.isDynamic(r)){\"function\"==typeof r&&(r=i[e]=ge.unbox(r));var n=Yt(r,null);s=s||n.thisDep,u=u||n.propDep,l=l||n.contextDep}else{switch(a(c,\".\",e,\"=\"),typeof r){case\"number\":a(r);break;case\"string\":a('\"',r,'\"');break;case\"object\":Array.isArray(r)&&a(\"[\",r.join(),\"]\");break;default:a(t.link(r))}a(\";\")}}),e.dynamic[r]=new ge.DynamicVariable(ai,{thisDep:s,contextDep:l,propDep:u,ref:c,append:n}),delete e.static[r]}}function X(t,e,r,n,i){var a=y();a.stats=a.link(i),Object.keys(e.static).forEach(function(t){Y(a,e,t)}),Wi.forEach(function(e){Y(a,t,e)});var o=S(t,e,r,n,a);return B(a,o),q(a,o),H(a,o),a.compile()}var W=u.Record,Z={add:32774,subtract:32778,\"reverse subtract\":32779};r.ext_blend_minmax&&(Z.min=Ca,Z.max=Da);var K=r.angle_instanced_arrays,Q=r.webgl_draw_buffers,$={dirty:!0,profile:p.profile},tt={},et=[],rt={},nt={};g(oi,ea),g(si,ta),v(li,\"blendColor\",[0,0,0,0]),v(ui,\"blendEquationSeparate\",[Ra,Ra]),v(ci,\"blendFuncSeparate\",[Oa,Pa,Oa,Pa]),g(hi,na,!0),v(fi,\"depthFunc\",Fa),v(di,\"depthRange\",[0,1]),v(pi,\"depthMask\",!0),v(mi,mi,[!0,!0,!0,!0]),g(gi,$i),v(vi,\"cullFace\",Ea),v(yi,yi,La),v(bi,bi,1),g(xi,aa),v(_i,\"polygonOffset\",[0,0]),g(wi,oa),g(Mi,sa),v(Ai,\"sampleCoverage\",[1,!1]),g(ki,ra),v(Ti,\"stencilMask\",-1),v(Ei,\"stencilFunc\",[Ia,0,-1]),v(Si,\"stencilOpSeparate\",[Ta,za,za,za]),v(Li,\"stencilOpSeparate\",[Ea,za,za,za]),g(Ci,ia),v(Di,\"scissor\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),v(Ii,Ii,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var it={gl:t,context:f,strings:e,next:tt,current:$,draw:h,elements:a,buffer:i,shader:c,attributes:u.state,uniforms:l,framebuffer:s,extensions:r,timer:d,isBufferArgs:Ut},at={primTypes:Be,compareFuncs:Va,blendFuncs:Ba,blendEquations:Z,stencilOps:Ha,glTypes:De,orientationType:Ga};de.optional(function(){it.isArrayLike=mt}),Q&&(at.backBuffer=[Ea],at.drawBuffer=J(n.maxDrawbuffers,function(t){return 0===t?[0]:J(t,function(t){return Na+t})}));var ot=0;return{next:tt,current:$,procs:function(){var e=y(),r=e.proc(\"poll\"),i=e.proc(\"refresh\"),a=e.block();r(a),i(a);var o=e.shared,s=o.gl,l=o.next,u=o.current;a(u,\".dirty=false;\"),C(e,r),C(e,i,null,!0);var c,h=t.getExtension(\"angle_instanced_arrays\");h&&(c=e.link(h));for(var f=0;f<n.maxAttributes;++f){var d=i.def(o.attributes,\"[\",f,\"]\"),p=e.cond(d,\".buffer\");p.then(s,\".enableVertexAttribArray(\",f,\");\",s,\".bindBuffer(\",Zi,\",\",d,\".buffer.buffer);\",s,\".vertexAttribPointer(\",f,\",\",d,\".size,\",d,\".type,\",d,\".normalized,\",d,\".stride,\",d,\".offset);\").else(s,\".disableVertexAttribArray(\",f,\");\",s,\".vertexAttrib4f(\",f,\",\",d,\".x,\",d,\".y,\",d,\".z,\",d,\".w);\",d,\".buffer=null;\"),i(p),h&&i(c,\".vertexAttribDivisorANGLE(\",f,\",\",d,\".divisor);\")}return Object.keys(rt).forEach(function(t){var n=rt[t],o=a.def(l,\".\",t),c=e.block();c(\"if(\",o,\"){\",s,\".enable(\",n,\")}else{\",s,\".disable(\",n,\")}\",u,\".\",t,\"=\",o,\";\"),i(c),r(\"if(\",o,\"!==\",u,\".\",t,\"){\",c,\"}\")}),Object.keys(nt).forEach(function(t){var n,o,c=nt[t],h=$[t],f=e.block();if(f(s,\".\",c,\"(\"),mt(h)){var d=h.length;n=e.global.def(l,\".\",t),o=e.global.def(u,\".\",t),f(J(d,function(t){return n+\"[\"+t+\"]\"}),\");\",J(d,function(t){return o+\"[\"+t+\"]=\"+n+\"[\"+t+\"];\"}).join(\"\")),r(\"if(\",J(d,function(t){return n+\"[\"+t+\"]!==\"+o+\"[\"+t+\"]\"}).join(\"||\"),\"){\",f,\"}\")}else n=a.def(l,\".\",t),o=a.def(u,\".\",t),f(n,\");\",u,\".\",t,\"=\",n,\";\"),r(\"if(\",n,\"!==\",o,\"){\",f,\"}\");i(f)}),e.compile()}(),compile:X}}function Wt(){return{bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}function Zt(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}function Jt(t){function e(){if(0===q.length)return A&&A.update(),void(J=null);J=ve.next(e),f();for(var t=q.length-1;t>=0;--t){var r=q[t];r&&r(S,null,0)}v.flush(),A&&A.update()}function r(){!J&&q.length>0&&(J=ve.next(e))}function n(){J&&(ve.cancel(e),J=null)}function i(t){t.preventDefault(),b=!0,n(),G.forEach(function(t){t()})}function a(t){v.getError(),b=!1,x.restore(),O.restore(),I.restore(),R.restore(),F.restore(),j.restore(),A&&A.restore(),N.procs.refresh(),r(),Y.forEach(function(t){t()})}function o(){q.length=0,n(),H&&(H.removeEventListener(eo,i),H.removeEventListener(ro,a)),O.clear(),j.clear(),F.clear(),R.clear(),z.clear(),I.clear(),A&&A.clear(),Z.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];ge.isDynamic(i)?r[n]=ge.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}function r(t){for(;d.length<t;)d.push(null);return d}function n(t,e){var n;if(b&&de.raise(\"context lost\"),\"function\"==typeof t)return f.call(this,null,t,0);if(\"function\"==typeof e){if(\"number\"==typeof t){for(n=0;n<t;++n)f.call(this,null,e,n);return}if(Array.isArray(t)){for(n=0;n<t.length;++n)f.call(this,t[n],e,n);return}return f.call(this,t,e,0)}if(\"number\"==typeof t){if(t>0)return h.call(this,r(0|t),0|t)}else{if(!Array.isArray(t))return c.call(this,t);if(t.length)return h.call(this,t,t.length)}}de(!!t,\"invalid args to regl({...})\"),de.type(t,\"object\",\"invalid args to regl({...})\");var i=e(t.context||{}),a=e(t.uniforms||{}),o=e(t.attributes||{}),s=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach(function(n){r[t+\".\"+n]=e[n]})}}var r=$t({},t);return delete r.uniforms,delete r.attributes,delete r.context,\"stencil\"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e(\"blend\"),e(\"depth\"),e(\"cull\"),e(\"stencil\"),e(\"polygonOffset\"),e(\"scissor\"),e(\"sample\"),r}(t)),l={gpuTime:0,cpuTime:0,count:0},u=N.compile(s,o,a,i,l),c=u.draw,h=u.batch,f=u.scope,d=[];return $t(n,{stats:l})}function l(t,e){var r=0;N.procs.poll();var n=e.color;n&&(v.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=Ka),\"depth\"in e&&(v.clearDepth(+e.depth),r|=Qa),\"stencil\"in e&&(v.clearStencil(0|e.stencil),r|=$a),de(!!r,\"called regl.clear with no buffer specified\"),v.clear(r)}function u(t){if(de(\"object\"==typeof t&&t,\"regl.clear() takes an object as input\"),\"framebuffer\"in t)if(t.framebuffer&&\"framebufferCube\"===t.framebuffer_reglType)for(var e=0;e<6;++e)K($t({framebuffer:t.framebuffer.faces[e]},t),l);else K(t,l);else l(null,t)}function c(t){function e(){function e(){q[Zt(q,e)]=q[q.length-1],q.length-=1,q.length<=0&&n()}var r=Zt(q,t);de(r>=0,\"cannot cancel a frame twice\"),q[r]=e}return de.type(t,\"function\",\"regl.frame() callback must be a function\"),q.push(t),r(),{cancel:e}}function h(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,S.viewportWidth=S.framebufferWidth=S.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,S.viewportHeight=S.framebufferHeight=S.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function f(){S.tick+=1,S.time=p(),h(),N.procs.poll()}function d(){h(),N.procs.refresh(),A&&A.update()}function p(){return(ye()-k)/1e3}function m(t,e){de.type(e,\"function\",\"listener callback must be a function\");var r;switch(t){case\"frame\":return c(e);case\"lost\":r=G;break;case\"restore\":r=Y;break;case\"destroy\":r=Z;break;default:de.raise(\"invalid event, must be one of frame,lost,restore,destroy\")}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e)return r[t]=r[r.length-1],void r.pop()}}}var g=X(t);if(!g)return null;var v=g.gl,y=v.getContextAttributes(),b=v.isContextLost(),x=W(v,g);if(!x)return null;var _=B(),w=Wt(),M=x.extensions,A=Ja(v,M),k=ye(),T=v.drawingBufferWidth,E=v.drawingBufferHeight,S={tick:0,time:0,viewportWidth:T,viewportHeight:E,framebufferWidth:T,framebufferHeight:E,drawingBufferWidth:T,drawingBufferHeight:E,pixelRatio:g.pixelRatio},L={},C={elements:null,primitive:4,count:-1,offset:0,instances:-1},D=be(v,M),I=ft(v,w,g),z=dt(v,M,I,w),P=Ot(v,M,D,I,_),O=Rt(v,_,w,g),R=Dt(v,M,D,function(){N.procs.poll()},S,w,g),F=Mn(v,M,D,w,g),j=zt(v,M,D,R,F,w),N=Xt(v,_,M,D,I,z,R,j,L,P,O,C,S,A,g),U=Ft(v,j,N.procs.poll,S,y,M),V=N.next,H=v.canvas,q=[],G=[],Y=[],Z=[g.onDestroy],J=null;H&&(H.addEventListener(eo,i,!1),H.addEventListener(ro,a,!1));var K=j.setFBO=s({framebuffer:ge.define.call(null,no,\"framebuffer\")});d();var Q=$t(s,{clear:u,prop:ge.define.bind(null,no),context:ge.define.bind(null,io),this:ge.define.bind(null,ao),draw:s({}),buffer:function(t){return I.create(t,to,!1,!1)},elements:function(t){return z.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:j.create,framebufferCube:j.createCube,attributes:y,frame:c,on:m,limits:D,hasExtension:function(t){return D.extensions.indexOf(t.toLowerCase())>=0},read:U,destroy:o,_gl:v,_refresh:d,poll:function(){f(),A&&A.update()},now:p,stats:w});return g.onDone(null,Q),Q}var Kt={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},Qt=function(t){return Object.prototype.toString.call(t)in Kt},$t=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},te=[\"gl\",\"canvas\",\"container\",\"attributes\",\"pixelRatio\",\"extensions\",\"optionalExtensions\",\"profile\",\"onDone\"],ee=33071,re=9728,ne=9984,ie=9985,ae=9986,oe=9987,se=5126,le=32819,ue=32820,ce=33635,he=34042,fe={};fe[5120]=fe[5121]=1,fe[5122]=fe[5123]=fe[36193]=fe[ce]=fe[le]=fe[ue]=2,fe[5124]=fe[5125]=fe[se]=fe[he]=4;var de=$t(r,{optional:E,raise:e,commandRaise:M,command:A,parameter:i,commandParameter:k,constructor:u,type:o,commandType:T,isTypedArray:a,nni:s,oneOf:l,shaderError:b,linkError:x,callSite:m,saveCommandRef:_,saveDrawInfo:w,framebufferFormat:S,guessCommand:p,texture2D:D,textureCube:I}),pe=0,me=0,ge={DynamicVariable:z,define:F,isDynamic:j,unbox:N,accessor:R},ve={next:\"function\"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:\"function\"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},ye=\"undefined\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},be=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063)),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter(function(t){return!!e[t]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938)}},xe=function(t){return Object.keys(t).map(function(e){return t[e]})},_e=5120,we=5121,Me=5122,Ae=5123,ke=5124,Te=5125,Ee=5126,Se=J(8,function(){return[]}),Le={alloc:$,free:tt,allocType:et,freeType:rt},Ce={shape:lt,flatten:st},De={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Ie={dynamic:35048,stream:35040,static:35044},ze=Ce.flatten,Pe=Ce.shape,Oe=35044,Re=35040,Fe=5121,je=5126,Ne=[];Ne[5120]=1,Ne[5122]=2,Ne[5124]=4,Ne[5121]=1,Ne[5123]=2,Ne[5125]=4,Ne[5126]=4;var Be={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},Ue=0,Ve=1,He=4,qe=5120,Ge=5121,Ye=5122,Xe=5123,We=5124,Ze=5125,Je=34963,Ke=35040,Qe=35044,$e=new Float32Array(1),tr=new Uint32Array($e.buffer),er=5123,rr=34467,nr=3553,ir=34067,ar=34069,or=6408,sr=6406,lr=6407,ur=6409,cr=6410,hr=32854,fr=32855,dr=36194,pr=32819,mr=32820,gr=33635,vr=34042,yr=6402,br=34041,xr=35904,_r=35906,wr=36193,Mr=33776,Ar=33777,kr=33778,Tr=33779,Er=35986,Sr=35987,Lr=34798,Cr=35840,Dr=35841,Ir=35842,zr=35843,Pr=36196,Or=5121,Rr=5123,Fr=5125,jr=5126,Nr=10242,Br=10243,Ur=10497,Vr=33071,Hr=33648,qr=10240,Gr=10241,Yr=9728,Xr=9729,Wr=9984,Zr=9985,Jr=9986,Kr=9987,Qr=33170,$r=4352,tn=4353,en=4354,rn=34046,nn=3317,an=37440,on=37441,sn=37443,ln=37444,un=33984,cn=[Wr,Jr,Zr,Kr],hn=[0,ur,cr,lr,or],fn={};fn[ur]=fn[sr]=fn[yr]=1,fn[br]=fn[cr]=2,fn[lr]=fn[xr]=3,fn[or]=fn[_r]=4;var dn=gt(\"HTMLCanvasElement\"),pn=gt(\"CanvasRenderingContext2D\"),mn=gt(\"HTMLImageElement\"),gn=gt(\"HTMLVideoElement\"),vn=Object.keys(Kt).concat([dn,pn,mn,gn]),yn=[];yn[Or]=1,yn[jr]=4,yn[wr]=2,yn[Rr]=2,yn[Fr]=4;var bn=[];bn[hr]=2,bn[fr]=2,bn[dr]=2,bn[br]=4,bn[Mr]=.5,bn[Ar]=.5,bn[kr]=1,bn[Tr]=1,bn[Er]=.5,bn[Sr]=1,bn[Lr]=1,bn[Cr]=.5,bn[Dr]=.25,bn[Ir]=.5,bn[zr]=.25,bn[Pr]=.5;var xn=36161,_n=32854,wn=[];wn[_n]=2,wn[32855]=2,wn[36194]=2,wn[33189]=2,wn[36168]=1,wn[34041]=4,wn[35907]=4,wn[34836]=16,wn[34842]=8,wn[34843]=6;var Mn=function(t,e,r,n,i){function a(t){this.id=h++,this.refCount=1,this.renderbuffer=t,this.format=_n,this.width=0,this.height=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;de(r,\"must not double destroy renderbuffer\"),t.bindRenderbuffer(xn,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete f[e.id],n.renderbufferCount--}function s(e,o){function s(e,n){var a=0,o=0,l=_n;if(\"object\"==typeof e&&e){var f=e;if(\"shape\"in f){var d=f.shape;de(Array.isArray(d)&&d.length>=2,\"invalid renderbuffer shape\"),a=0|d[0],o=0|d[1]}else\"radius\"in f&&(a=o=0|f.radius),\"width\"in f&&(a=0|f.width),\"height\"in f&&(o=0|f.height);\"format\"in f&&(de.parameter(f.format,u,\"invalid renderbuffer format\"),l=u[f.format])}else\"number\"==typeof e?(a=0|e,o=\"number\"==typeof n?0|n:a):e?de.raise(\"invalid arguments to renderbuffer constructor\"):a=o=1;if(de(a>0&&o>0&&a<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\"invalid renderbuffer size\"),a!==h.width||o!==h.height||l!==h.format)return s.width=h.width=a,s.height=h.height=o,h.format=l,t.bindRenderbuffer(xn,h.renderbuffer),t.renderbufferStorage(xn,l,a,o),i.profile&&(h.stats.size=It(h.format,h.width,h.height)),s.format=c[h.format],s}function l(e,n){var a=0|e,o=0|n||a;return a===h.width&&o===h.height?s:(de(a>0&&o>0&&a<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\"invalid renderbuffer size\"),s.width=h.width=a,s.height=h.height=o,t.bindRenderbuffer(xn,h.renderbuffer),t.renderbufferStorage(xn,h.format,a,o),i.profile&&(h.stats.size=It(h.format,h.width,h.height)),s)}var h=new a(t.createRenderbuffer());return f[h.id]=h,n.renderbufferCount++,s(e,o),s.resize=l,s._reglType=\"renderbuffer\",s._renderbuffer=h,i.profile&&(s.stats=h.stats),s.destroy=function(){h.decRef()},s}function l(){xe(f).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(xn,e.renderbuffer),t.renderbufferStorage(xn,e.format,e.width,e.height)}),t.bindRenderbuffer(xn,null)}var u={rgba4:_n,rgb565:36194,\"rgb5 a1\":32855,depth:33189,stencil:36168,\"depth stencil\":34041};e.ext_srgb&&(u.srgba=35907),e.ext_color_buffer_half_float&&(u.rgba16f=34842,u.rgb16f=34843),e.webgl_color_buffer_float&&(u.rgba32f=34836);var c=[];Object.keys(u).forEach(function(t){c[u[t]]=t});var h=0,f={};return a.prototype.decRef=function(){--this.refCount<=0&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(f).forEach(function(e){t+=f[e].stats.size}),t}),{create:s,clear:function(){xe(f).forEach(o)},restore:l}},An=36160,kn=36161,Tn=3553,En=34069,Sn=36064,Ln=36096,Cn=36128,Dn=33306,In=36053,zn=6402,Pn=[6408],On=[];On[6408]=4;var Rn=[];Rn[5121]=1,Rn[5126]=4,Rn[36193]=2;var Fn=33189,jn=36168,Nn=34041,Bn=[32854,32855,36194,35907,34842,34843,34836],Un={};Un[In]=\"complete\",Un[36054]=\"incomplete attachment\",Un[36057]=\"incomplete dimensions\",Un[36055]=\"incomplete, missing attachment\",Un[36061]=\"unsupported\";var Vn=5126,Hn=35632,qn=35633,Gn=35718,Yn=35721,Xn=6408,Wn=5121,Zn=3333,Jn=5126,Kn=\"xyzw\".split(\"\"),Qn=5121,$n=1,ti=2,ei=0,ri=1,ni=2,ii=3,ai=4,oi=\"dither\",si=\"blend.enable\",li=\"blend.color\",ui=\"blend.equation\",ci=\"blend.func\",hi=\"depth.enable\",fi=\"depth.func\",di=\"depth.range\",pi=\"depth.mask\",mi=\"colorMask\",gi=\"cull.enable\",vi=\"cull.face\",yi=\"frontFace\",bi=\"lineWidth\",xi=\"polygonOffset.enable\",_i=\"polygonOffset.offset\",wi=\"sample.alpha\",Mi=\"sample.enable\",Ai=\"sample.coverage\",ki=\"stencil.enable\",Ti=\"stencil.mask\",Ei=\"stencil.func\",Si=\"stencil.opFront\",Li=\"stencil.opBack\",Ci=\"scissor.enable\",Di=\"scissor.box\",Ii=\"viewport\",zi=\"profile\",Pi=\"framebuffer\",Oi=\"vert\",Ri=\"frag\",Fi=\"elements\",ji=\"primitive\",Ni=\"count\",Bi=\"offset\",Ui=\"instances\",Vi=Pi+\"Width\",Hi=Pi+\"Height\",qi=Ii+\"Width\",Gi=Ii+\"Height\",Yi=\"drawingBufferWidth\",Xi=\"drawingBufferHeight\",Wi=[ci,ui,Ei,Si,Li,Ai,Ii,Di,_i],Zi=34962,Ji=34963,Ki=3553,Qi=34067,$i=2884,ta=3042,ea=3024,ra=2960,na=2929,ia=3089,aa=32823,oa=32926,sa=32928,la=5126,ua=35664,ca=35665,ha=35666,fa=5124,da=35667,pa=35668,ma=35669,ga=35670,va=35671,ya=35672,ba=35673,xa=35674,_a=35675,wa=35676,Ma=35678,Aa=35680,ka=4,Ta=1028,Ea=1029,Sa=2304,La=2305,Ca=32775,Da=32776,Ia=519,za=7680,Pa=0,Oa=1,Ra=32774,Fa=513,ja=36160,Na=36064,Ba={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},Ua=[\"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\"],Va={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},Ha={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},qa={frag:35632,vert:35633},Ga={cw:Sa,ccw:La},Ya=new Ht(!1,!1,!1,function(){}),Xa=34918,Wa=34919,Za=35007,Ja=function(t,e){function r(){return f.pop()||h.createQueryEXT()}function n(t){f.push(t)}function i(t){var e=r();h.beginQueryEXT(Za,e),d.push(e),u(d.length-1,d.length,t)}function a(){h.endQueryEXT(Za)}function o(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}function s(){return p.pop()||new o}function l(t){p.push(t)}function u(t,e,r){var n=s();n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,m.push(n)}function c(){var t,e,r=d.length;if(0!==r){v.length=Math.max(v.length,r+1),g.length=Math.max(g.length,r+1),g[0]=0,v[0]=0;var i=0;for(t=0,e=0;e<d.length;++e){var a=d[e];h.getQueryObjectEXT(a,Wa)?(i+=h.getQueryObjectEXT(a,Xa),n(a)):d[t++]=a,g[e+1]=i,v[e+1]=t}for(d.length=t,t=0,e=0;e<m.length;++e){var o=m[e],s=o.startQueryIndex,u=o.endQueryIndex;o.sum+=g[u]-g[s];var c=v[s],f=v[u];f===c?(o.stats.gpuTime+=o.sum/1e6,l(o)):(o.startQueryIndex=c,o.endQueryIndex=f,m[t++]=o)}m.length=t}}var h=e.ext_disjoint_timer_query;if(!h)return null;var f=[],d=[],p=[],m=[],g=[],v=[];return{beginQuery:i,endQuery:a,pushScopeStats:u,update:c,getNumPendingQueries:function(){return d.length},clear:function(){f.push.apply(f,d);for(var t=0;t<f.length;t++)h.deleteQueryEXT(f[t]);d.length=0,f.length=0},restore:function(){d.length=0,f.length=0}}},Ka=16384,Qa=256,$a=1024,to=34962,eo=\"webglcontextlost\",ro=\"webglcontextrestored\",no=1,io=2,ao=3;return Jt})},{}],479:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(i!==t||void 0===i)i=t,a=\"\";else if(a.length>=r)return a.substr(0,r)\n;for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a+=t,a=a.substr(0,r)}var i,a=\"\";e.exports=n},{}],480:[function(e,r,n){!function(e,i){\"function\"==typeof t&&t.amd?t(i):\"object\"==typeof n?r.exports=i():e.resolveUrl=i()}(this,function(){function t(){var t=arguments.length;if(0===t)throw new Error(\"resolveUrl requires at least one argument; got none.\");var e=document.createElement(\"base\");if(e.href=arguments[0],1===t)return e.href;var r=document.getElementsByTagName(\"head\")[0];r.insertBefore(e,r.firstChild);for(var n,i=document.createElement(\"a\"),a=1;a<t;a++)i.href=arguments[a],n=i.href,e.href=n;return r.removeChild(e),n}return t})},{}],481:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],482:[function(t,e,r){\"use strict\";function n(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];r=a+o;var s=r-a,l=o-s;l&&(t[--n]=r,r=l)}for(var u=0,i=n;i<e;++i){var a=t[i],o=r;r=a+o;var s=r-a,l=o-s;l&&(t[u++]=l)}return t[u++]=r,t.length=u,t}e.exports=n},{}],483:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m[\",r,\"][\",n,\"]\"].join(\"\")}return e}function a(t){return 1&t?\"-\":\"\"}function o(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",o(t.slice(0,e)),\",\",o(t.slice(e)),\")\"].join(\"\")}function s(t){if(2===t.length)return[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\");for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",s(n(t,r)),\",\",a(r),t[0][r],\")\"].join(\"\"));return o(e)}function l(t){return new Function(\"sum\",\"scale\",\"prod\",\"compress\",[\"function robustDeterminant\",t,\"(m){return compress(\",s(i(t)),\")};return robustDeterminant\",t].join(\"\"))(c,h,u,f)}var u=t(\"two-product\"),c=t(\"robust-sum\"),h=t(\"robust-scale\"),f=t(\"robust-compress\"),d=6,p=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;p.length<d;)p.push(l(p.length));for(var t=[],r=[\"function robustDeterminant(m){switch(m.length){\"],n=0;n<d;++n)t.push(\"det\"+n),r.push(\"case \",n,\":return det\",n,\"(m);\");r.push(\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\"),t.push(\"CACHE\",\"gen\",r.join(\"\"));var i=Function.apply(void 0,t);e.exports=i.apply(void 0,p.concat([p,l]));for(var n=0;n<p.length;++n)e.exports[n]=p[n]}()},{\"robust-compress\":482,\"robust-scale\":489,\"robust-sum\":492,\"two-product\":517}],484:[function(t,e,r){\"use strict\";function n(t,e){for(var r=i(t[0],e[0]),n=1;n<t.length;++n)r=a(r,i(t[n],e[n]));return r}var i=t(\"two-product\"),a=t(\"robust-sum\");e.exports=n},{\"robust-sum\":492,\"two-product\":517}],485:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-2,\"]\"].join(\"\")}return e}function a(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",a(t.slice(0,e)),\",\",a(t.slice(e)),\")\"].join(\"\")}function o(t,e){if(\"m\"===t.charAt(0)){if(\"w\"===e.charAt(0)){var r=t.split(\"[\");return[\"w\",e.substr(1),\"m\",r[0].substr(1)].join(\"\")}return[\"prod(\",t,\",\",e,\")\"].join(\"\")}return o(e,t)}function s(t){return t&!0?\"-\":\"\"}function l(t){if(2===t.length)return[[\"diff(\",o(t[0][0],t[1][1]),\",\",o(t[1][0],t[0][1]),\")\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",a(l(n(t,r))),\",\",s(r),t[0][r],\")\"].join(\"\"));return e}function u(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\"prod(m\",t,\"[\",n,\"],m\",t,\"[\",n,\"])\"].join(\"\"));return a(r)}function c(t){for(var e=[],r=[],o=i(t),s=0;s<t;++s)o[0][s]=\"1\",o[t-1][s]=\"w\"+s;for(var s=0;s<t;++s)0==(1&s)?e.push.apply(e,l(n(o,s))):r.push.apply(r,l(n(o,s)));for(var c=a(e),h=a(r),f=\"exactInSphere\"+t,d=[],s=0;s<t;++s)d.push(\"m\"+s);for(var p=[\"function \",f,\"(\",d.join(),\"){\"],s=0;s<t;++s){p.push(\"var w\",s,\"=\",u(s,t),\";\");for(var b=0;b<t;++b)b!==s&&p.push(\"var w\",s,\"m\",b,\"=scale(w\",s,\",m\",b,\"[0]);\")}return p.push(\"var p=\",c,\",n=\",h,\",d=diff(p,n);return d[d.length-1];}return \",f),new Function(\"sum\",\"diff\",\"prod\",\"scale\",p.join(\"\"))(g,v,m,y)}function h(){return 0}function f(){return 0}function d(){return 0}function p(t){var e=x[t.length];return e||(e=x[t.length]=c(t.length)),e.apply(void 0,t)}var m=t(\"two-product\"),g=t(\"robust-sum\"),v=t(\"robust-subtract\"),y=t(\"robust-scale\"),b=6,x=[h,f,d];!function(){for(;x.length<=b;)x.push(c(x.length));for(var t=[],r=[\"slow\"],n=0;n<=b;++n)t.push(\"a\"+n),r.push(\"o\"+n);for(var i=[\"function testInSphere(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"],n=2;n<=b;++n)i.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\"),r.push(i.join(\"\"));var a=Function.apply(void 0,r);e.exports=a.apply(void 0,[p].concat(x));for(var n=0;n<=b;++n)e.exports[n]=x[n]}()},{\"robust-scale\":489,\"robust-subtract\":491,\"robust-sum\":492,\"two-product\":517}],486:[function(t,e,r){\"use strict\";function n(t){for(var e=\"robustLinearSolve\"+t+\"d\",r=[\"function \",e,\"(A,b){return [\"],n=0;n<t;++n){r.push(\"det([\");for(var i=0;i<t;++i){i>0&&r.push(\",\"),r.push(\"[\");for(var a=0;a<t;++a)a>0&&r.push(\",\"),a===n?r.push(\"+b[\",i,\"]\"):r.push(\"+A[\",i,\"][\",a,\"]\");r.push(\"]\")}r.push(\"]),\")}r.push(\"det(A)]}return \",e);var s=new Function(\"det\",r.join(\"\"));return s(t<6?o[t]:o)}function i(){return[0]}function a(t,e){return[[e[0]],[t[0][0]]]}var o=t(\"robust-determinant\"),s=6,l=[i,a];!function(){for(;l.length<s;)l.push(n(l.length));for(var t=[],r=[\"function dispatchLinearSolve(A,b){switch(A.length){\"],i=0;i<s;++i)t.push(\"s\"+i),r.push(\"case \",i,\":return s\",i,\"(A,b);\");r.push(\"}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve\"),t.push(\"CACHE\",\"g\",r.join(\"\"));var a=Function.apply(void 0,t);e.exports=a.apply(void 0,l.concat([l,n]));for(var i=0;i<s;++i)e.exports[i]=l[i]}()},{\"robust-determinant\":483}],487:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-1,\"]\"].join(\"\")}return e}function a(t){return 1&t?\"-\":\"\"}function o(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",o(t.slice(0,e)),\",\",o(t.slice(e)),\")\"].join(\"\")}function s(t){if(2===t.length)return[[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",o(s(n(t,r))),\",\",a(r),t[0][r],\")\"].join(\"\"));return e}function l(t){for(var e=[],r=[],a=i(t),l=[],u=0;u<t;++u)0==(1&u)?e.push.apply(e,s(n(a,u))):r.push.apply(r,s(n(a,u))),l.push(\"m\"+u);var p=o(e),m=o(r),g=\"orientation\"+t+\"Exact\",v=[\"function \",g,\"(\",l.join(),\"){var p=\",p,\",n=\",m,\",d=sub(p,n);return d[d.length-1];};return \",g].join(\"\");return new Function(\"sum\",\"prod\",\"scale\",\"sub\",v)(h,c,f,d)}function u(t){var e=v[t.length];return e||(e=v[t.length]=l(t.length)),e.apply(void 0,t)}var c=t(\"two-product\"),h=t(\"robust-sum\"),f=t(\"robust-scale\"),d=t(\"robust-subtract\"),p=5,m=l(3),g=l(4),v=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:m(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],d=a*u,p=o*l,m=o*s,v=i*u,y=i*l,b=a*s,x=c*(d-p)+h*(m-v)+f*(y-b),_=(Math.abs(d)+Math.abs(p))*Math.abs(c)+(Math.abs(m)+Math.abs(v))*Math.abs(h)+(Math.abs(y)+Math.abs(b))*Math.abs(f),w=7.771561172376103e-16*_;return x>w||-x>w?x:g(t,e,r,n)}];!function(){for(;v.length<=p;)v.push(l(v.length));for(var t=[],r=[\"slow\"],n=0;n<=p;++n)t.push(\"a\"+n),r.push(\"o\"+n);for(var i=[\"function getOrientation(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"],n=2;n<=p;++n)i.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\"),r.push(i.join(\"\"));var a=Function.apply(void 0,r);e.exports=a.apply(void 0,[u].concat(v));for(var n=0;n<=p;++n)e.exports[n]=v[n]}()},{\"robust-scale\":489,\"robust-subtract\":491,\"robust-sum\":492,\"two-product\":517}],488:[function(t,e,r){\"use strict\";function n(t,e){if(1===t.length)return a(e,t[0]);if(1===e.length)return a(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var n=0;n<t.length;++n)r=i(r,a(e,t[n]));else for(var n=0;n<e.length;++n)r=i(r,a(t,e[n]));return r}var i=t(\"robust-sum\"),a=t(\"robust-scale\");e.exports=n},{\"robust-scale\":489,\"robust-sum\":492}],489:[function(t,e,r){\"use strict\";function n(t,e){var r=t.length;if(1===r){var n=i(t[0],e);return n[0]?n:[n[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],u=0;i(t[0],e,s),s[0]&&(o[u++]=s[0]);for(var c=1;c<r;++c){i(t[c],e,l);a(s[1],l[0],s),s[0]&&(o[u++]=s[0]);var h=l[1],f=s[1],d=h+f,p=d-h,m=f-p;s[1]=d,m&&(o[u++]=m)}return s[1]&&(o[u++]=s[1]),0===u&&(o[u++]=0),o.length=u,o}var i=t(\"two-product\"),a=t(\"two-sum\");e.exports=n},{\"two-product\":517,\"two-sum\":518}],490:[function(t,e,r){\"use strict\";function n(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],h=Math.min(u,c);if(Math.max(u,c)<s||l<h)return!1}return!0}function i(t,e,r,i){var o=a(t,r,i),s=a(e,r,i);if(o>0&&s>0||o<0&&s<0)return!1;var l=a(r,t,e),u=a(i,t,e);return!(l>0&&u>0||l<0&&u<0)&&(0!==o||0!==s||0!==l||0!==u||n(t,e,r,i))}e.exports=i;var a=t(\"robust-orientation\")[3]},{\"robust-orientation\":487}],491:[function(t,e,r){\"use strict\";function n(t,e){var r=t+e,n=r-t,i=r-n,a=e-n,o=t-i,s=o+a;return s?[s,r]:[r]}function i(t,e){var r=0|t.length,i=0|e.length;if(1===r&&1===i)return n(t[0],-e[0]);var a,o,s=r+i,l=new Array(s),u=0,c=0,h=0,f=Math.abs,d=t[c],p=f(d),m=-e[h],g=f(m);p<g?(o=d,(c+=1)<r&&(d=t[c],p=f(d))):(o=m,(h+=1)<i&&(m=-e[h],g=f(m))),c<r&&p<g||h>=i?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=-e[h],g=f(m)));for(var v,y,b,x,_,w=a+o,M=w-a,A=o-M,k=A,T=w;c<r&&h<i;)p<g?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=-e[h],g=f(m))),o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,b=v-y,x=w-y,_=T-b,k=_+x,T=v;for(;c<r;)a=d,o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,b=v-y,x=w-y,_=T-b,k=_+x,T=v,(c+=1)<r&&(d=t[c]);for(;h<i;)a=m,o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,b=v-y,x=w-y,_=T-b,k=_+x,T=v,(h+=1)<i&&(m=-e[h]);return k&&(l[u++]=k),T&&(l[u++]=T),u||(l[u++]=0),l.length=u,l}e.exports=i},{}],492:[function(t,e,r){\"use strict\";function n(t,e){var r=t+e,n=r-t,i=r-n,a=e-n,o=t-i,s=o+a;return s?[s,r]:[r]}function i(t,e){var r=0|t.length,i=0|e.length;if(1===r&&1===i)return n(t[0],e[0]);var a,o,s=r+i,l=new Array(s),u=0,c=0,h=0,f=Math.abs,d=t[c],p=f(d),m=e[h],g=f(m);p<g?(o=d,(c+=1)<r&&(d=t[c],p=f(d))):(o=m,(h+=1)<i&&(m=e[h],g=f(m))),c<r&&p<g||h>=i?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=e[h],g=f(m)));for(var v,y,b,x,_,w=a+o,M=w-a,A=o-M,k=A,T=w;c<r&&h<i;)p<g?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=e[h],g=f(m))),o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,b=v-y,x=w-y,_=T-b,k=_+x,T=v;for(;c<r;)a=d,o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,b=v-y,x=w-y,_=T-b,k=_+x,T=v,(c+=1)<r&&(d=t[c]);for(;h<i;)a=m,o=k,w=a+o,M=w-a,A=o-M,A&&(l[u++]=A),v=T+w,y=v-T,b=v-y,x=w-y,_=T-b,k=_+x,T=v,(h+=1)<i&&(m=e[h]);return k&&(l[u++]=k),T&&(l[u++]=T),u||(l[u++]=0),l.length=u,l}e.exports=i},{}],493:[function(e,r,n){!function(e,i){\"object\"==typeof n&&void 0!==r?r.exports=i():\"function\"==typeof t&&t.amd?t(i):e.ShelfPack=i()}(this,function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.stats={},this.count=function(t){this.stats[t]=1+(0|this.stats[t])}}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a=[],o=0;o<t.length;o++)if(r=t[o].w||t[o].width,n=t[o].h||t[o].height,r&&n){if(!(i=this.packOne(r,n)))continue;e.inPlace&&(t[o].x=i.x,t[o].y=i.y),a.push(i)}if(this.shelves.length>0){for(var s=0,l=0,u=0;u<this.shelves.length;u++){var c=this.shelves[u];l+=c.h,s=Math.max(c.w-c.free,s)}this.resize(s,l)}return a},t.prototype.packOne=function(t,r){for(var n,i,a=0,o={shelf:-1,waste:1/0},s=0;s<this.shelves.length;s++){if(n=this.shelves[s],a+=n.h,r===n.h&&t<=n.free)return this.count(r),n.alloc(t,r);r>n.h||t>n.free||r<n.h&&t<=n.free&&(i=n.h-r)<o.waste&&(o.waste=i,o.shelf=s)}if(o.shelf!==-1)return n=this.shelves[o.shelf],this.count(r),n.alloc(t,r);if(r<=this.h-a&&t<=this.w)return n=new e(a,this.w,r),this.shelves.push(n),this.count(r),n.alloc(t,r);if(this.autoResize){var l,u,c,h;return l=u=this.h,c=h=this.w,(c<=l||t>c)&&(h=2*Math.max(t,c)),(l<c||r>l)&&(u=2*Math.max(r,l)),this.resize(h,u),this.packOne(t,r)}return null},t.prototype.clear=function(){this.shelves=[],this.stats={}},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e){if(t>this.free||e>this.h)return null;var r=this.x;return this.x+=t,this.free-=t,{x:r,y:this.y,w:t,h:e,width:t,height:e}},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],494:[function(t,e,r){\"use strict\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],495:[function(t,e,r){\"use strict\";function n(t){return a(i(t))}e.exports=n;var i=t(\"boundary-cells\"),a=t(\"reduce-simplicial-complex\")},{\"boundary-cells\":59,\"reduce-simplicial-complex\":477}],496:[function(t,e,r){\"use strict\";function n(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}function i(t,e){for(var r=t.length,n=h.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}function a(t,e){for(var r=t.length,n=e*(e+1)/2*r|0,i=h.mallocUint32(2*n),a=0,o=0;o<r;++o)for(var s=t[o],e=s.length,l=0;l<e;++l)for(var u=0;u<l;++u){var d=s[u],p=s[l];i[a++]=0|Math.min(d,p),i[a++]=0|Math.max(d,p)}f(c(i,[a/2|0,2]));for(var m=2,o=2;o<a;o+=2)i[o-2]===i[o]&&i[o-1]===i[o+1]||(i[m++]=i[o],i[m++]=i[o+1]);return c(i,[m/2|0,2])}function o(t,e,r,n){for(var i=t.data,a=t.shape[0],o=h.mallocDouble(a),s=0,l=0;l<a;++l){var u=i[2*l],f=i[2*l+1];if(r[u]!==r[f]){var d=e[u],p=e[f];i[2*s]=u,i[2*s+1]=f,o[s++]=(p-n)/(p-d)}}return t.shape[0]=s,c(o,[s])}function s(t,e){var r=h.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var a=0,o=0;o<n;++o){var s=i[2*o];if(s!==a){for(r[2*a+1]=o;++a<s;)r[2*a]=o,r[2*a+1]=o;r[2*a]=o}}for(r[2*a+1]=n;++a<e;)r[2*a]=r[2*a+1]=n;return r}function l(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}function u(t,e,r,u){if(r=r||0,void 0===u&&(u=n(t)),0===t.length||u<1)return{cells:[],vertexIds:[],vertexWeights:[]};var c=i(e,+r),f=a(t,u),p=o(f,e,c,+r),m=s(f,0|e.length),g=d(u)(t,f.data,m,c),v=l(f),y=[].slice.call(p.data,0,p.shape[0]);return h.free(c),h.free(f.data),h.free(p.data),h.free(m),{cells:g,vertexIds:v,vertexWeights:y}}e.exports=u;var c=t(\"ndarray\"),h=t(\"typedarray-pool\"),f=t(\"ndarray-sort\"),d=t(\"./lib/codegen\")},{\"./lib/codegen\":497,ndarray:447,\"ndarray-sort\":445,\"typedarray-pool\":519}],497:[function(t,e,r){\"use strict\";function n(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var n=1;n<=t;++n)for(var i=r[n]=o(n),s=0;s<i.length;++s)e=Math.max(e,i[n].length);for(var l=[\"function B(C,E,i,j){\",\"var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];\",\"while(l<h){\",\"var m=(l+h)>>1,v=E[2*m+1];\",\"if(v===b){return m}\",\"if(b<v){h=m}else{l=m+1}\",\"}\",\"return l;\",\"};\",\"function getContour\",t,\"d(F,E,C,S){\",\"var n=F.length,R=[];\",\"for(var i=0;i<n;++i){var c=F[i],l=c.length;\"],n=t+1;n>1;--n){n<t+1&&l.push(\"else \"),l.push(\"if(l===\",n,\"){\");for(var u=[],s=0;s<n;++s)u.push(\"(S[c[\"+s+\"]]<<\"+s+\")\");l.push(\"var M=\",u.join(\"+\"),\";if(M===0||M===\",(1<<n)-1,\"){continue}switch(M){\");for(var i=r[n-1],s=0;s<i.length;++s)l.push(\"case \",s,\":\"),function(t){if(!(t.length<=0)){l.push(\"R.push(\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(\",\"),l.push(\"[\");for(var n=0;n<r.length;++n){var i=r[n];n>0&&l.push(\",\"),l.push(\"B(C,E,c[\",i[0],\"],c[\",i[1],\"])\")}l.push(\"]\")}l.push(\");\")}}(i[s]),l.push(\"break;\");l.push(\"}}\")}return l.push(\"}return R;};return getContour\",t,\"d\"),new Function(\"pool\",l.join(\"\"))(a)}function i(t){var e=s[t];return e||(e=s[t]=n(t)),e}e.exports=i;var a=t(\"typedarray-pool\"),o=t(\"marching-simplex-table\"),s={}},{\"marching-simplex-table\":425,\"typedarray-pool\":519}],498:[function(t,e,r){\"use strict\";\"use restrict\";function n(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1}function i(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1}function a(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e}function o(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:var a=t[0]+t[1]-e[0]-e[1];return a?a:i(t[0],t[1])-i(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=i(t[0],t[1]),u=i(e[0],e[1]),a=i(l,t[2])-i(u,e[2]);return a?a:i(l+t[2],o)-i(u+e[2],s);default:var c=t.slice(0);c.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=c[f]-h[f])return n;return 0}}function s(t,e){return o(t[0],e[0])}function l(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(s);for(var i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(o),t}function u(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(o(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,s=o(t[a],e);s<=0?(0===s&&(i=a),r=a+1):s>0&&(n=a-1)}return i}function h(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],n=0,s=e.length;n<s;++n)for(var l=e[n],u=l.length,h=1,f=1<<u;h<f;++h){a.length=b.popCount(h);for(var d=0,p=0;p<u;++p)h&1<<p&&(a[d++]=l[p]);var m=c(t,a);if(!(m<0))for(;;)if(r[m++].push(n),m>=t.length||0!==o(t[m],a))break}return r}function f(t,e){if(!e)return h(u(p(t,0)),t,0);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];for(var n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r}function d(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,s=1<<a;o<s;++o){for(var u=[],c=0;c<a;++c)o>>>c&1&&u.push(i[c]);e.push(u)}return l(e)}function p(t,e){if(e<0)return[];for(var r=[],n=(1<<e+1)-1,i=0;i<t.length;++i)for(var a=t[i],o=n;o<1<<a.length;o=b.nextCombination(o)){for(var s=new Array(e+1),u=0,c=0;c<a.length;++c)o&1<<c&&(s[u++]=a[c]);r.push(s)}return l(r)}function m(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var s=new Array(i.length-1),u=0,c=0;u<o;++u)u!==a&&(s[c++]=i[u]);e.push(s)}return l(e)}function g(t,e){for(var r=new x(e),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=a+1;o<i.length;++o)r.link(i[a],i[o]);for(var s=[],l=r.ranks,n=0;n<l.length;++n)l[n]=-1;for(var n=0;n<t.length;++n){var u=r.find(t[n][0]);l[u]<0?(l[u]=s.length,s.push([t[n].slice(0)])):s[l[u]].push(t[n].slice(0))}return s}function v(t){for(var e=u(l(p(t,0))),r=new x(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=c(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,c(e,[i[s]]));for(var h=[],f=r.ranks,n=0;n<f.length;++n)f[n]=-1;for(var n=0;n<t.length;++n){var d=r.find(c(e,[t[n][0]]));f[d]<0?(f[d]=h.length,h.push([t[n].slice(0)])):h[f[d]].push(t[n].slice(0))}return h}function y(t,e){return e?g(t,e):v(t)}var b=t(\"bit-twiddle\"),x=t(\"union-find\");r.dimension=n,r.countVertices=i,r.cloneCells=a,r.compareCells=o,r.normalize=l,r.unique=u,r.findCell=c,r.incidence=h,r.dual=f,r.explode=d,r.skeleton=p,r.boundary=m,r.connectedComponents=y},{\"bit-twiddle\":57,\"union-find\":520}],499:[function(t,e,r){arguments[4][57][0].apply(r,arguments)},{dup:57}],500:[function(t,e,r){arguments[4][498][0].apply(r,arguments)},{\"bit-twiddle\":499,dup:498,\"union-find\":501}],501:[function(t,e,r){\"use strict\";\"use restrict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],502:[function(t,e,r){\"use strict\";function n(t,e,r){return Math.abs(a(t,e,r))/Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function i(t,e,r){function i(t){if(b[t])return 1/0;var r=g[t],i=v[t];return r<0||i<0?1/0:n(e[t],e[r],e[i])}function a(t,e){var r=A[t],n=A[e];A[t]=n,A[e]=r,k[r]=e,k[n]=t}function s(t){return y[A[t]]}function l(t){return 1&t?t-1>>1:(t>>1)-1}function u(t){for(var e=s(t);;){var r=e,n=2*t+1,i=2*(t+1),o=t;if(n<T){var l=s(n);l<r&&(o=n,r=l)}if(i<T){s(i)<r&&(o=i)}if(o===t)return t;a(t,o),t=o}}function c(t){for(var e=s(t);t>0;){var r=l(t);if(r>=0){if(e<s(r)){a(t,r),t=r;continue}}return t}}function h(){if(T>0){var t=A[0];return a(0,T-1),T-=1,u(0),t}return-1}function f(t,e){var r=A[t];return y[r]===e?t:(y[r]=-(1/0),c(t),h(),y[r]=e,T+=1,c(T-1))}function d(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!b[n]||i<0||i===n)break;if(n=i,i=t[n],!b[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}for(var p=e.length,m=t.length,g=new Array(p),v=new Array(p),y=new Array(p),b=new Array(p),x=0;x<p;++x)g[x]=v[x]=-1,y[x]=1/0,b[x]=!1;for(var x=0;x<m;++x){var _=t[x];if(2!==_.length)throw new Error(\"Input must be a graph\");var w=_[1],M=_[0];v[M]!==-1?v[M]=-2:v[M]=w,g[w]!==-1?g[w]=-2:g[w]=M}for(var A=[],k=new Array(p),x=0;x<p;++x){(y[x]=i(x))<1/0?(k[x]=A.length,A.push(x)):k[x]=-1}for(var T=A.length,x=T>>1;x>=0;--x)u(x);for(;;){var E=h();if(E<0||y[E]>r)break;!function(t){if(!b[t]){b[t]=!0;var e=g[t],r=v[t];g[r]>=0&&(g[r]=e),v[e]>=0&&(v[e]=r),k[e]>=0&&f(k[e],i(e)),k[r]>=0&&f(k[r],i(r))}}(E)}for(var S=[],x=0;x<p;++x)b[x]||(k[x]=S.length,S.push(e[x].slice()));var L=(S.length,[]);return t.forEach(function(t){var e=d(g,t[0]),r=d(v,t[1]);if(e>=0&&r>=0&&e!==r){var n=k[e],i=k[r];n!==i&&L.push([n,i])}}),o.unique(o.normalize(L)),{positions:S,edges:L}}e.exports=i;var a=t(\"robust-orientation\"),o=t(\"simplicial-complex\")},{\"robust-orientation\":487,\"simplicial-complex\":500}],503:[function(t,e,r){\"use strict\";function n(t,e){var r,n;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0])){var i=Math.min(t[0][1],t[1][1]),o=Math.max(t[0][1],t[1][1]),s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]);return o<s?o-s:i>l?i-l:o-l}r=e[1],n=e[0]}var u,c;t[0][1]<t[1][1]?(u=t[0],c=t[1]):(u=t[1],c=t[0]);var h=a(n,r,u);return h?h:(h=a(n,r,c),h?h:c-n)}function i(t,e){var r,i;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0]))return n(e,t);r=e[1],i=e[0]}var o,s;if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-n(t,e);o=t[1],s=t[0]}var l=a(r,i,s),u=a(r,i,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=a(s,o,i),u=a(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return i[0]-s[0]}e.exports=i;var a=t(\"robust-orientation\")},{\"robust-orientation\":487}],504:[function(t,e,r){\"use strict\";function n(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function i(t,e){return t.y-e}function a(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=h(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{var l=a(t.right,e);if(l)return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l=a(t.right,e);if(l)return l;t=t.left}}return r}function o(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function s(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}function l(t){for(var e=t.length,r=2*e,i=new Array(r),a=0;a<e;++a){var l=t[a],u=l[0][0]<l[1][0];i[2*a]=new s(l[0][0],l,u,a),i[2*a+1]=new s(l[1][0],l,!u,a)}i.sort(function(t,e){var r=t.x-e.x;return r?r:(r=t.create-e.create,r?r:Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var h=c(f),d=[],p=[],m=[],a=0;a<r;){for(var g=i[a].x,v=[];a<r;){var y=i[a];if(y.x!==g)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new o(y.segment[0][1],y.index,!0,!0)),v.push(new o(y.segment[1][1],y.index,!1,!1))):(v.push(new o(y.segment[1][1],y.index,!0,!1)),v.push(new o(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}d.push(h.root),p.push(g),m.push(v)}return new n(d,p,m)}e.exports=l;var u=t(\"binary-search-bounds\"),c=t(\"functional-red-black-tree\"),h=t(\"robust-orientation\"),f=t(\"./lib/order-segments\");n.prototype.castUp=function(t){var e=u.le(this.coordinates,t[0]);if(e<0)return-1;var r=(this.slabs[e],a(this.slabs[e],t)),n=-1;if(r&&(n=r.value),this.coordinates[e]===t[0]){var o=null;if(r&&(o=r.key),e>0){var s=a(this.slabs[e-1],t);s&&(o?f(s.key,o)>0&&(o=s.key,n=s.value):(n=s.value,o=s.key))}var l=this.horizontal[e];if(l.length>0){var c=u.ge(l,t[1],i);if(c<l.length){var d=l[c];if(t[1]===d.y){if(d.closed)return d.index;for(;c<l.length-1&&l[c+1].y===t[1];)if(c+=1,d=l[c],d.closed)return d.index;if(d.y===t[1]&&!d.start){if((c+=1)>=l.length)return n;d=l[c]}}if(d.start)if(o){var p=h(o[0],o[1],[t[0],d.y]);o[0][0]>o[1][0]&&(p=-p),p>0&&(n=d.index)}else n=d.index;else d.y!==t[1]&&(n=d.index)}}}return n}},{\"./lib/order-segments\":503,\"binary-search-bounds\":56,\"functional-red-black-tree\":117,\"robust-orientation\":487}],505:[function(t,e,r){\"use strict\";function n(t,e){var r=u(l(t,e),[e[e.length-1]]);return r[r.length-1]}function i(t,e,r,n){var i=n-e,a=-e/i;a<0?a=0:a>1&&(a=1);for(var o=1-a,s=t.length,l=new Array(s),u=0;u<s;++u)l[u]=a*t[u]+o*r[u];return l}function a(t,e){for(var r=[],a=[],o=n(t[t.length-1],e),s=t[t.length-1],l=t[0],u=0;u<t.length;++u,s=l){l=t[u];var c=n(l,e);if(o<0&&c>0||o>0&&c<0){var h=i(s,c,l,o);r.push(h),a.push(h.slice())}c<0?a.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),a.push(l.slice())),o=c}return{positive:r,negative:a}}function o(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l<t.length;++l,o=s){s=t[l];var u=n(s,e);(a<0&&u>0||a>0&&u<0)&&r.push(i(o,u,s,a)),u>=0&&r.push(s.slice()),a=u}return r}function s(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l<t.length;++l,o=s){s=t[l];var u=n(s,e);(a<0&&u>0||a>0&&u<0)&&r.push(i(o,u,s,a)),u<=0&&r.push(s.slice()),a=u}return r}var l=t(\"robust-dot-product\"),u=t(\"robust-sum\");e.exports=a,e.exports.positive=o,e.exports.negative=s},{\"robust-dot-product\":484,\"robust-sum\":492}],506:[function(e,r,n){!function(e){function r(){var t=arguments[0],e=r.cache;return e[t]&&e.hasOwnProperty(t)||(e[t]=r.parse(t)),r.format.call(null,e[t],arguments)}function i(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}function a(t,e){return Array(e+1).join(t)}var o={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[\\+\\-]/};r.format=function(t,e){var n,s,l,u,c,h,f,d=1,p=t.length,m=\"\",g=[],v=!0,y=\"\";for(s=0;s<p;s++)if(\"string\"===(m=i(t[s])))g[g.length]=t[s];else if(\"array\"===m){if(u=t[s],u[2])for(n=e[d],l=0;l<u[2].length;l++){if(!n.hasOwnProperty(u[2][l]))throw new Error(r(\"[sprintf] property '%s' does not exist\",u[2][l]));n=n[u[2][l]]}else n=u[1]?e[u[1]]:e[d++];if(\"function\"==i(n)&&(n=n()),o.not_string.test(u[8])&&o.not_json.test(u[8])&&\"number\"!=i(n)&&isNaN(n))throw new TypeError(r(\"[sprintf] expecting number but found %s\",i(n)));switch(o.number.test(u[8])&&(v=n>=0),u[8]){case\"b\":n=n.toString(2);break;case\"c\":n=String.fromCharCode(n);break;case\"d\":case\"i\":n=parseInt(n,10);break;case\"j\":n=JSON.stringify(n,null,u[6]?parseInt(u[6]):0);break;case\"e\":n=u[7]?n.toExponential(u[7]):n.toExponential();break;case\"f\":n=u[7]?parseFloat(n).toFixed(u[7]):parseFloat(n);break;case\"g\":n=u[7]?parseFloat(n).toPrecision(u[7]):parseFloat(n);break;case\"o\":n=n.toString(8);break;case\"s\":n=(n=String(n))&&u[7]?n.substring(0,u[7]):n;break;case\"u\":n>>>=0;break;case\"x\":n=n.toString(16);break;case\"X\":n=n.toString(16).toUpperCase()}o.json.test(u[8])?g[g.length]=n:(!o.number.test(u[8])||v&&!u[3]?y=\"\":(y=v?\"+\":\"-\",n=n.toString().replace(o.sign,\"\")),h=u[4]?\"0\"===u[4]?\"0\":u[4].charAt(1):\" \",f=u[6]-(y+n).length,c=u[6]&&f>0?a(h,f):\"\",g[g.length]=u[5]?y+n+c:\"0\"===h?y+c+n:c+y+n)}return g.join(\"\")},r.cache={},r.parse=function(t){for(var e=t,r=[],n=[],i=0;e;){if(null!==(r=o.text.exec(e)))n[n.length]=r[0];else if(null!==(r=o.modulo.exec(e)))n[n.length]=\"%\";else{if(null===(r=o.placeholder.exec(e)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){i|=1;var a=[],s=r[2],l=[];if(null===(l=o.key.exec(s)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(a[a.length]=l[1];\"\"!==(s=s.substring(l[0].length));)if(null!==(l=o.key_access.exec(s)))a[a.length]=l[1];else{if(null===(l=o.index_access.exec(s)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");a[a.length]=l[1]}r[2]=a}else i|=2;if(3===i)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");n[n.length]=r}e=e.substring(r[0].length)}return n};var s=function(t,e,n){return n=(e||[]).slice(0),n.splice(0,0,t),r.apply(null,n)};void 0!==n?(n.sprintf=r,n.vsprintf=s):(e.sprintf=r,e.vsprintf=s,\"function\"==typeof t&&t.amd&&t(function(){return{sprintf:r,vsprintf:s}}))}(\"undefined\"==typeof window?this:window)},{}],507:[function(t,e,r){\"use strict\";function n(t){return new i(t)}function i(t){this.options=d(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function a(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function o(t,e){var r=t.geometry.coordinates;return{x:u(r[0]),y:c(r[1]),zoom:1/0,id:e,parentId:-1}}function s(t){return{type:\"Feature\",properties:l(t),geometry:{type:\"Point\",coordinates:[h(t.x),f(t.y)]}}}function l(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return d(d({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function u(t){return t/360+.5}function c(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function h(t){return 360*(t-.5)}function f(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function d(t,e){for(var r in e)t[r]=e[r];return t}function p(t){return t.x}function m(t){return t.y}var g=t(\"kdbush\");e.exports=n,i.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var r=\"prepare \"+t.length+\" points\";e&&console.time(r),this.points=t;var n=t.map(o);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var a=+Date.now()\n;this.trees[i+1]=g(n,p,m,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\"z%d: %d clusters in %dms\",i,n.length,+Date.now()-a)}return this.trees[this.options.minZoom]=g(n,p,m,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(u(t[0]),c(t[3]),u(t[2]),c(t[1])),i=[],a=0;a<n.length;a++){var o=r.points[n[a]];i.push(o.numPoints?s(o):this.points[o.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],o=0;o<i.length;o++){var l=this.trees[e+1].points[i[o]];l.parentId===t&&a.push(l.numPoints?s(l):this.points[l.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius,s=o/a,l=(r-s)/i,u=(r+1+s)/i,c={features:[]};return this._addTileFeatures(n.range((e-s)/i,l,(e+1+s)/i,u),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,u),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,u),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var s=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(s.x*i-r)),Math.round(this.options.extent*(s.y*i-n))]],tags:s.numPoints?l(s):this.points[s.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i<t.length;i++){var o=t[i];if(!(o.zoom<=e)){o.zoom=e;var s=this.trees[e+1],l=s.within(o.x,o.y,n),u=o.numPoints||1,c=o.x*u,h=o.y*u,f=null;this.options.reduce&&(f=this.options.initial(),this._accumulate(f,o));for(var d=0;d<l.length;d++){var p=s.points[l[d]];if(e<p.zoom){var m=p.numPoints||1;p.zoom=e,c+=p.x*m,h+=p.y*m,u+=m,p.parentId=i,this.options.reduce&&this._accumulate(f,p)}}1===u?r.push(o):(o.parentId=i,r.push(a(c/u,h/u,u,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:278}],508:[function(t,e,r){\"use strict\";function n(t){return t.split(\"\").map(function(t){return t in i?i[t]:\"\"}).join(\"\")}e.exports=n;var i={\" \":\" \",0:\"\\u2070\",1:\"\\xb9\",2:\"\\xb2\",3:\"\\xb3\",4:\"\\u2074\",5:\"\\u2075\",6:\"\\u2076\",7:\"\\u2077\",8:\"\\u2078\",9:\"\\u2079\",\"+\":\"\\u207a\",\"-\":\"\\u207b\",a:\"\\u1d43\",b:\"\\u1d47\",c:\"\\u1d9c\",d:\"\\u1d48\",e:\"\\u1d49\",f:\"\\u1da0\",g:\"\\u1d4d\",h:\"\\u02b0\",i:\"\\u2071\",j:\"\\u02b2\",k:\"\\u1d4f\",l:\"\\u02e1\",m:\"\\u1d50\",n:\"\\u207f\",o:\"\\u1d52\",p:\"\\u1d56\",r:\"\\u02b3\",s:\"\\u02e2\",t:\"\\u1d57\",u:\"\\u1d58\",v:\"\\u1d5b\",w:\"\\u02b7\",x:\"\\u02e3\",y:\"\\u02b8\",z:\"\\u1dbb\"}},{}],509:[function(t,e,r){\"use strict\";function n(t,e){var r=t.length,n=[\"'use strict';\"],i=\"surfaceNets\"+t.join(\"_\")+\"d\"+e;n.push(\"var contour=genContour({\",\"order:[\",t.join(),\"],\",\"scalarArguments: 3,\",\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\"),\"generic\"===e&&n.push(\"getters:[0],\");for(var a=[],l=[],u=0;u<r;++u)a.push(\"d\"+u),l.push(\"d\"+u);for(var u=0;u<1<<r;++u)a.push(\"v\"+u),l.push(\"v\"+u);for(var u=0;u<1<<r;++u)a.push(\"p\"+u),l.push(\"p\"+u);a.push(\"a\",\"b\",\"c\"),l.push(\"a\",\"c\"),n.push(\"vertex:function vertexFunc(\",a.join(),\"){\");for(var c=[],u=0;u<1<<r;++u)c.push(\"(p\"+u+\"<<\"+u+\")\");n.push(\"var m=(\",c.join(\"+\"),\")|0;if(m===0||m===\",(1<<(1<<r))-1,\"){return}\");var h=[],f=[];1<<(1<<r)<=128?(n.push(\"switch(m){\"),f=n):n.push(\"switch(m>>>7){\");for(var u=0;u<1<<(1<<r);++u){if(1<<(1<<r)>128&&u%128==0){h.length>0&&f.push(\"}}\");var d=\"vExtra\"+h.length;n.push(\"case \",u>>>7,\":\",d,\"(m&0x7f,\",l.join(),\");break;\"),f=[\"function \",d,\"(m,\",l.join(),\"){switch(m){\"],h.push(f)}f.push(\"case \",127&u,\":\");for(var p=new Array(r),m=new Array(r),g=new Array(r),v=new Array(r),y=0,b=0;b<r;++b)p[b]=[],m[b]=[],g[b]=0,v[b]=0;for(var b=0;b<1<<r;++b)for(var x=0;x<r;++x){var _=b^1<<x;if(!(_>b)&&!(u&1<<_)!=!(u&1<<b)){var w=1;u&1<<_?m[x].push(\"v\"+_+\"-v\"+b):(m[x].push(\"v\"+b+\"-v\"+_),w=-w),w<0?(p[x].push(\"-v\"+b+\"-v\"+_),g[x]+=2):(p[x].push(\"v\"+b+\"+v\"+_),g[x]-=2),y+=1;for(var M=0;M<r;++M)M!==x&&(_&1<<M?v[M]+=1:v[M]-=1)}}for(var A=[],x=0;x<r;++x)if(0===p[x].length)A.push(\"d\"+x+\"-0.5\");else{var k=\"\";g[x]<0?k=g[x]+\"*c\":g[x]>0&&(k=\"+\"+g[x]+\"*c\");var T=p[x].length/y*.5,E=.5+v[x]/y*.5;A.push(\"d\"+x+\"-\"+E+\"-\"+T+\"*(\"+p[x].join(\"+\")+k+\")/(\"+m[x].join(\"+\")+\")\")}f.push(\"a.push([\",A.join(),\"]);\",\"break;\")}n.push(\"}},\"),h.length>0&&f.push(\"}}\");for(var S=[],u=0;u<1<<r-1;++u)S.push(\"v\"+u);S.push(\"c0\",\"c1\",\"p0\",\"p1\",\"a\",\"b\",\"c\"),n.push(\"cell:function cellFunc(\",S.join(),\"){\");var L=s(r-1);n.push(\"if(p0){b.push(\",L.map(function(t){return\"[\"+t.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}else{b.push(\",L.map(function(t){var e=t.slice();return e.reverse(),\"[\"+e.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}}});function \",i,\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \",i,\";\");for(var u=0;u<h.length;++u)n.push(h[u].join(\"\"));return new Function(\"genContour\",n.join(\"\"))(o)}function i(t,e){for(var r=l(t,e),n=r.length,i=new Array(n),a=new Array(n),o=0;o<n;++o)i[o]=[r[o]],a[o]=[o];return{positions:i,cells:a}}function a(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return i(t,e);var r=t.order.join()+\"-\"+t.dtype,a=u[r],e=+e||0;return a||(a=u[r]=n(t.order,t.dtype)),a(t,e)}e.exports=a;var o=t(\"ndarray-extract-contour\"),s=t(\"triangulate-hypercube\"),l=t(\"zero-crossings\"),u={}},{\"ndarray-extract-contour\":436,\"triangulate-hypercube\":515,\"zero-crossings\":562}],510:[function(t,e,r){(function(r){\"use strict\";function n(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var u=r[s[l]];n[i++]=u[0],n[i++]=u[1]+1.4,a=Math.max(u[0],a)}return{data:n,shape:a}}function i(t,e,r){var r=r||{},o=s[t];o||(o=s[t]={\" \":{data:new Float32Array(0),shape:.2}});var l=o[e];if(!l)if(e.length<=1||!/\\d/.test(e))l=o[e]=n(a(e,{triangles:!0,font:t,textAlign:r.textAlign||\"left\",textBaseline:\"alphabetic\"}));else{for(var u=e.split(/(\\d|\\s)/),c=new Array(u.length),h=0,f=0,d=0;d<u.length;++d)c[d]=i(t,u[d]),h+=c[d].data.length,f+=c[d].shape,d>0&&(f+=.02);for(var p=new Float32Array(h),m=0,g=-.5*f,d=0;d<c.length;++d){for(var v=c[d].data,y=0;y<v.length;y+=2)p[m++]=v[y]+g,p[m++]=v[y+1];g+=c[d].shape+.02}l=o[e]={data:p,shape:f}}return l}e.exports=i;var a=t(\"vectorize-text\"),o=window||r.global||{},s=o.__TEXT_CACHE||{};o.__TEXT_CACHE={}}).call(this,t(\"_process\"))},{_process:466,\"vectorize-text\":532}],511:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\"sans-serif\",this.radius=r||8;var a=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=a,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=t+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.d=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Int16Array(a),this.middle=Math.round(a/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}function i(t,e,r,n,i,o,s){for(var l=0;l<e;l++){for(var u=0;u<r;u++)n[u]=t[u*e+l];for(a(n,i,o,s,r),u=0;u<r;u++)t[u*e+l]=i[u]}for(u=0;u<r;u++){for(l=0;l<e;l++)n[l]=t[u*e+l];for(a(n,i,o,s,e),l=0;l<e;l++)t[u*e+l]=Math.sqrt(i[l])}}function a(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a<i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l<=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);s++,r[s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a<i;a++){for(;n[s+1]<a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}e.exports=n;var o=1e20;n.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=e.data,n=0;n<this.size*this.size;n++){var a=r[4*n+3]/255;this.gridOuter[n]=1===a?0:0===a?o:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?o:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(i(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),i(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var s=this.gridOuter[n]-this.gridInner[n],l=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))));r[4*n+0]=l,r[4*n+1]=l,r[4*n+2]=l,r[4*n+3]=255}return e}},{}],512:[function(e,r,n){!function(e){function n(t,e){if(t=t?t:\"\",e=e||{},t instanceof n)return t;if(!(this instanceof n))return new n(t,e);var r=i(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=V(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=V(this._r)),this._g<1&&(this._g=V(this._g)),this._b<1&&(this._b=V(this._b)),this._ok=r.ok,this._tc_id=U++}function i(t){var e={r:0,g:0,b:0},r=1,n=null,i=null,o=null,l=!1,c=!1;return\"string\"==typeof t&&(t=F(t)),\"object\"==typeof t&&(R(t.r)&&R(t.g)&&R(t.b)?(e=a(t.r,t.g,t.b),l=!0,c=\"%\"===String(t.r).substr(-1)?\"prgb\":\"rgb\"):R(t.h)&&R(t.s)&&R(t.v)?(n=z(t.s),i=z(t.v),e=u(t.h,n,i),l=!0,c=\"hsv\"):R(t.h)&&R(t.s)&&R(t.l)&&(n=z(t.s),o=z(t.l),e=s(t.h,n,o),l=!0,c=\"hsl\"),t.hasOwnProperty(\"a\")&&(r=t.a)),r=T(r),{ok:l,format:t.format||c,r:H(255,q(e.r,0)),g:H(255,q(e.g,0)),b:H(255,q(e.b,0)),a:r}}function a(t,e,r){return{r:255*E(t,255),g:255*E(e,255),b:255*E(r,255)}}function o(t,e,r){t=E(t,255),e=E(e,255),r=E(r,255);var n,i,a=q(t,e,r),o=H(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function s(t,e,r){function n(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}var i,a,o;if(t=E(t,360),e=E(e,100),r=E(r,100),0===e)i=a=o=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;i=n(l,s,t+1/3),a=n(l,s,t),o=n(l,s,t-1/3)}return{r:255*i,g:255*a,b:255*o}}function l(t,e,r){t=E(t,255),e=E(e,255),r=E(r,255);var n,i,a=q(t,e,r),o=H(t,e,r),s=a,l=a-o;if(i=0===a?0:l/a,a==o)n=0;else{switch(a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,v:s}}function u(t,r,n){t=6*E(t,360),r=E(r,100),n=E(n,100);var i=e.floor(t),a=t-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),u=i%6;return{r:255*[n,s,o,o,l,n][u],g:255*[l,n,n,s,o,o][u],b:255*[o,o,l,n,n,s][u]}}function c(t,e,r,n){var i=[I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\"\")}function h(t,e,r,n,i){var a=[I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16)),I(P(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(\"\")}function f(t,e,r,n){return[I(P(n)),I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16))].join(\"\")}function d(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.s-=e/100,r.s=S(r.s),n(r)}function p(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.s+=e/100,r.s=S(r.s),n(r)}function m(t){return n(t).desaturate(100)}function g(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.l+=e/100,r.l=S(r.l),n(r)}function v(t,e){e=0===e?0:e||10;var r=n(t).toRgb();return r.r=q(0,H(255,r.r-V(255*-(e/100)))),r.g=q(0,H(255,r.g-V(255*-(e/100)))),r.b=q(0,H(255,r.b-V(255*-(e/100)))),n(r)}function y(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.l-=e/100,r.l=S(r.l),n(r)}function b(t,e){var r=n(t).toHsl(),i=(r.h+e)%360;return r.h=i<0?360+i:i,n(r)}function x(t){var e=n(t).toHsl();return e.h=(e.h+180)%360,n(e)}function _(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+120)%360,s:e.s,l:e.l}),n({h:(r+240)%360,s:e.s,l:e.l})]}function w(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+90)%360,s:e.s,l:e.l}),n({h:(r+180)%360,s:e.s,l:e.l}),n({h:(r+270)%360,s:e.s,l:e.l})]}function M(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+72)%360,s:e.s,l:e.l}),n({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var i=n(t).toHsl(),a=360/r,o=[n(t)];for(i.h=(i.h-(a*e>>1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(n(i));return o}function k(t,e){e=e||6;for(var r=n(t).toHsv(),i=r.h,a=r.s,o=r.v,s=[],l=1/e;e--;)s.push(n({h:i,s:a,v:o})),o=(o+l)%1;return s}function T(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function E(t,r){C(t)&&(t=\"100%\");var n=D(t);return t=H(r,q(0,parseFloat(t))),n&&(t=parseInt(t*r,10)/100),e.abs(t-r)<1e-6?1:t%r/parseFloat(r)}function S(t){return H(1,q(0,t))}function L(t){return parseInt(t,16)}function C(t){return\"string\"==typeof t&&t.indexOf(\".\")!=-1&&1===parseFloat(t)}function D(t){return\"string\"==typeof t&&t.indexOf(\"%\")!=-1}function I(t){return 1==t.length?\"0\"+t:\"\"+t}function z(t){return t<=1&&(t=100*t+\"%\"),t}function P(t){return e.round(255*parseFloat(t)).toString(16)}function O(t){return L(t)/255}function R(t){return!!W.CSS_UNIT.exec(t)}function F(t){t=t.replace(N,\"\").replace(B,\"\").toLowerCase();var e=!1;if(Y[t])t=Y[t],e=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};var r;return(r=W.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=W.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=W.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=W.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=W.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=W.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=W.hex8.exec(t))?{r:L(r[1]),g:L(r[2]),b:L(r[3]),a:O(r[4]),format:e?\"name\":\"hex8\"}:(r=W.hex6.exec(t))?{r:L(r[1]),g:L(r[2]),b:L(r[3]),format:e?\"name\":\"hex\"}:(r=W.hex4.exec(t))?{r:L(r[1]+\"\"+r[1]),g:L(r[2]+\"\"+r[2]),b:L(r[3]+\"\"+r[3]),a:O(r[4]+\"\"+r[4]),format:e?\"name\":\"hex8\"}:!!(r=W.hex3.exec(t))&&{r:L(r[1]+\"\"+r[1]),g:L(r[2]+\"\"+r[2]),b:L(r[3]+\"\"+r[3]),format:e?\"name\":\"hex\"}}function j(t){var e,r;return t=t||{level:\"AA\",size:\"small\"},e=(t.level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\"),\"small\"!==r&&\"large\"!==r&&(r=\"small\"),{level:e,size:r}}var N=/^\\s+/,B=/\\s+$/,U=0,V=e.round,H=e.min,q=e.max,G=e.random;n.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,r,n,i,a,o,s=this.toRgb();return t=s.r/255,r=s.g/255,n=s.b/255,i=t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4),a=r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4),o=n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*o},setAlpha:function(t){return this._a=T(t),this._roundA=V(100*this._a)/100,this},toHsv:function(){var t=l(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=l(this._r,this._g,this._b),e=V(360*t.h),r=V(100*t.s),n=V(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=o(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=o(this._r,this._g,this._b),e=V(360*t.h),r=V(100*t.s),n=V(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return c(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return h(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:V(this._r),g:V(this._g),b:V(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+V(this._r)+\", \"+V(this._g)+\", \"+V(this._b)+\")\":\"rgba(\"+V(this._r)+\", \"+V(this._g)+\", \"+V(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:V(100*E(this._r,255))+\"%\",g:V(100*E(this._g,255))+\"%\",b:V(100*E(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+V(100*E(this._r,255))+\"%, \"+V(100*E(this._g,255))+\"%, \"+V(100*E(this._b,255))+\"%)\":\"rgba(\"+V(100*E(this._r,255))+\"%, \"+V(100*E(this._g,255))+\"%, \"+V(100*E(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(X[c(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+f(this._r,this._g,this._b,this._a),r=e,i=this._gradientType?\"GradientType = 1, \":\"\";if(t){var a=n(t);r=\"#\"+f(a._r,a._g,a._b,a._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+i+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return n(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(g,arguments)},brighten:function(){return this._applyModification(v,arguments)},darken:function(){return this._applyModification(y,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(p,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(x,arguments)},monochromatic:function(){return this._applyCombination(k,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(_,arguments)},tetrad:function(){return this._applyCombination(w,arguments)}},n.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var i in t)t.hasOwnProperty(i)&&(r[i]=\"a\"===i?t[i]:z(t[i]));t=r}return n(t,e)},n.equals=function(t,e){return!(!t||!e)&&n(t).toRgbString()==n(e).toRgbString()},n.random=function(){return n.fromRatio({r:G(),g:G(),b:G()})},n.mix=function(t,e,r){r=0===r?0:r||50;var i=n(t).toRgb(),a=n(e).toRgb(),o=r/100;return n({r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a})},n.readability=function(t,r){var i=n(t),a=n(r);return(e.max(i.getLuminance(),a.getLuminance())+.05)/(e.min(i.getLuminance(),a.getLuminance())+.05)},n.isReadable=function(t,e,r){var i,a,o=n.readability(t,e);switch(a=!1,i=j(r),i.level+i.size){case\"AAsmall\":case\"AAAlarge\":a=o>=4.5;break;case\"AAlarge\":a=o>=3;break;case\"AAAsmall\":a=o>=7}return a},n.mostReadable=function(t,e,r){var i,a,o,s,l=null,u=0;r=r||{},a=r.includeFallbackColors,o=r.level,s=r.size;for(var c=0;c<e.length;c++)(i=n.readability(t,e[c]))>u&&(u=i,l=n(e[c]));return n.isReadable(t,l,{level:o,size:s})||!a?l:(r.includeFallbackColors=!1,n.mostReadable(t,[\"#fff\",\"#000\"],r))};var Y=n.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},X=n.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(Y),W=function(){var t=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\",e=\"[\\\\s|\\\\(]+(\"+t+\")[,|\\\\s]+(\"+t+\")[,|\\\\s]+(\"+t+\")\\\\s*\\\\)?\",r=\"[\\\\s|\\\\(]+(\"+t+\")[,|\\\\s]+(\"+t+\")[,|\\\\s]+(\"+t+\")[,|\\\\s]+(\"+t+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(t),rgb:new RegExp(\"rgb\"+e),rgba:new RegExp(\"rgba\"+r),hsl:new RegExp(\"hsl\"+e),hsla:new RegExp(\"hsla\"+r),hsv:new RegExp(\"hsv\"+e),hsva:new RegExp(\"hsva\"+r),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();void 0!==r&&r.exports?r.exports=n:\"function\"==typeof t&&t.amd?t(function(){return n}):window.tinycolor=n}(Math)},{}],513:[function(t,e,r){\"use strict\";function n(t,e){var r=o(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function i(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var i=n(r,\"font-size\")/128;return e.removeChild(r),i}function a(t,e){switch(e=e||document.body,t=(t||\"px\").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case\"%\":return e.clientHeight/100;case\"ch\":case\"ex\":return i(t,e);case\"em\":return n(e,\"font-size\");case\"rem\":return n(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return s;case\"cm\":return s/2.54;case\"mm\":return s/25.4;case\"pt\":return s/72;case\"pc\":return s/6}return 1}var o=t(\"parse-unit\");e.exports=a;var s=96},{\"parse-unit\":454}],514:[function(e,r,n){!function(e,i){\"object\"==typeof n&&void 0!==r?i(n):\"function\"==typeof t&&t.amd?t([\"exports\"],i):i(e.topojson=e.topojson||{})}(this,function(t){\"use strict\";function e(t,e){var n=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=r(t,e);return null==n&&null==i?{type:\"Feature\",properties:a,geometry:o}:null==i?{type:\"Feature\",id:n,properties:a,geometry:o}:{type:\"Feature\",id:n,bbox:i,properties:a,geometry:o}}function r(t,e){function r(t,e){e.length&&e.pop();for(var r=h[t<0?~t:t],n=0,i=r.length;n<i;++n)e.push(u(r[n].slice(),n));t<0&&c(e,i)}function n(t){return u(t.slice())}function i(t){for(var e=[],n=0,i=t.length;n<i;++n)r(t[n],e);return e.length<2&&e.push(e[0].slice()),e}function a(t){for(var e=i(t);e.length<4;)e.push(e[0].slice());return e}function o(t){return t.map(a)}function s(t){var e,r=t.type;switch(r){case\"GeometryCollection\":return{type:r,geometries:t.geometries.map(s)};case\"Point\":e=n(t.coordinates);break;case\"MultiPoint\":e=t.coordinates.map(n);break;case\"LineString\":e=i(t.arcs);break;case\"MultiLineString\":e=t.arcs.map(i);break;case\"Polygon\":e=o(t.arcs);break;case\"MultiPolygon\":e=t.arcs.map(o);break;default:return null}return{type:r,coordinates:e}}var u=l(t),h=t.arcs;return s(e)}function n(t,e,r){var n,a,o;if(arguments.length>1)n=i(t,e,r);else for(a=0,n=new Array(o=t.arcs.length);a<o;++a)n[a]=a;return{type:\"MultiLineString\",arcs:f(t,n)}}function i(t,e,r){function n(t){var e=t<0?~t:t;(c[e]||(c[e]=[])).push({i:t,g:l})}function i(t){t.forEach(n)}function a(t){t.forEach(i)}function o(t){t.forEach(a)}function s(t){switch(l=t,t.type){case\"GeometryCollection\":t.geometries.forEach(s);break;case\"LineString\":i(t.arcs);break;case\"MultiLineString\":case\"Polygon\":a(t.arcs);break;case\"MultiPolygon\":o(t.arcs)}}var l,u=[],c=[];return s(e),c.forEach(null==r?function(t){u.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&u.push(t[0].i)}),u}function a(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}function o(t,e){function n(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(n);break;case\"Polygon\":i(t.arcs);break;case\"MultiPolygon\":t.arcs.forEach(i)}}function i(t){t.forEach(function(e){e.forEach(function(e){(s[e=e<0?~e:e]||(s[e]=[])).push(t)})}),l.push(t)}function o(e){return a(r(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}var s={},l=[],u=[];return e.forEach(n),l.forEach(function(t){if(!t._){var e=[],r=[t];for(t._=1,u.push(e);t=r.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){s[t<0?~t:t].forEach(function(t){t._||(t._=1,r.push(t))})})})}}),l.forEach(function(t){delete t._}),{type:\"MultiPolygon\",arcs:u.map(function(e){var r,n=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){s[t<0?~t:t].length<2&&n.push(t)})})}),n=f(t,n),(r=n.length)>1)for(var i,a,l=1,u=o(n[0]);l<r;++l)(i=o(n[l]))>u&&(a=n[0],n[0]=n[l],n[l]=a,u=i);return n})}}var s=function(t){return t},l=function(t){if(null==(e=t.transform))return s;var e,r,n,i=e.scale[0],a=e.scale[1],o=e.translate[0],l=e.translate[1];return function(t,e){return e||(r=n=0),t[0]=(r+=t[0])*i+o,t[1]=(n+=t[1])*a+l,t}},u=function(t){function e(t){s[0]=t[0],s[1]=t[1],o(s),s[0]<u&&(u=s[0]),s[0]>h&&(h=s[0]),s[1]<c&&(c=s[1]),s[1]>f&&(f=s[1])}function r(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(r);break;case\"Point\":e(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(e)}}var n=t.bbox;if(!n){var i,a,o=l(t),s=new Array(2),u=1/0,c=u,h=-u,f=-u;t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)i=t[e],s[0]=i[0],s[1]=i[1],o(s,e),s[0]<u&&(u=s[0]),s[0]>h&&(h=s[0]),s[1]<c&&(c=s[1]),s[1]>f&&(f=s[1])});for(a in t.objects)r(t.objects[a]);n=t.bbox=[u,c,h,f]}return n},c=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r},h=function(t,r){return\"GeometryCollection\"===r.type?{type:\"FeatureCollection\",features:r.geometries.map(function(r){return e(t,r)})}:e(t,r)},f=function(t,e){function r(e){var r,n=t.arcs[e<0?~e:e],i=n[0];return t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1],e<0?[r,i]:[i,r]}function n(t,e){for(var r in t){var n=t[r];delete e[n.start],delete n.start,delete n.end,n.forEach(function(t){i[t<0?~t:t]=1}),s.push(n)}}var i={},a={},o={},s=[],l=-1;return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++l],e[l]=r,e[n]=i)}),e.forEach(function(t){var e,n,i=r(t),s=i[0],l=i[1];if(e=o[s])if(delete o[e.end],e.push(t),e.end=l,n=a[l]){delete a[n.start];var u=n===e?e:e.concat(n);a[u.start=e.start]=o[u.end=n.end]=u}else a[e.start]=o[e.end]=e;else if(e=a[l])if(delete a[e.start],e.unshift(t),e.start=s,n=o[s]){delete o[n.end];var c=n===e?e:n.concat(e);a[c.start=n.start]=o[c.end=e.end]=c}else a[e.start]=o[e.end]=e;else e=[t],a[e.start=s]=o[e.end=l]=e}),n(o,a),n(a,o),e.forEach(function(t){i[t<0?~t:t]||s.push([t])}),s},d=function(t){return r(t,n.apply(this,arguments))},p=function(t){return r(t,o.apply(this,arguments))},m=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r},g=function(t){function e(t,e){t.forEach(function(t){t<0&&(t=~t);var r=i[t];r?r.push(e):i[t]=[e]})}function r(t,r){t.forEach(function(t){e(t,r)})}function n(t,e){\"GeometryCollection\"===t.type?t.geometries.forEach(function(t){n(t,e)}):t.type in o&&o[t.type](t.arcs,e)}var i={},a=t.map(function(){return[]}),o={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(t,e){t.forEach(function(t){r(t,e)})}};t.forEach(n);for(var s in i)for(var l=i[s],u=l.length,c=0;c<u;++c)for(var h=c+1;h<u;++h){var f,d=l[c],p=l[h];(f=a[d])[s=m(f,p)]!==p&&f.splice(s,0,p),(f=a[p])[s=m(f,d)]!==d&&f.splice(s,0,d)}return a},v=function(t,e){function r(t){t[0]=Math.round((t[0]-o)/s),t[1]=Math.round((t[1]-l)/c)}function n(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(n);break;case\"Point\":r(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(r)}}if(!((e=Math.floor(e))>=2))throw new Error(\"n must be \\u22652\");if(t.transform)throw new Error(\"already quantized\");var i,a=u(t),o=a[0],s=(a[2]-o)/(e-1)||1,l=a[1],c=(a[3]-l)/(e-1)||1;t.arcs.forEach(function(t){for(var e,r,n,i=1,a=1,u=t.length,h=t[0],f=h[0]=Math.round((h[0]-o)/s),d=h[1]=Math.round((h[1]-l)/c);i<u;++i)h=t[i],r=Math.round((h[0]-o)/s),n=Math.round((h[1]-l)/c),r===f&&n===d||(e=t[a++],e[0]=r-f,f=r,e[1]=n-d,d=n);a<2&&(e=t[a++],e[0]=0,e[1]=0),t.length=a});for(i in t.objects)n(t.objects[i]);return t.transform={scale:[s,c],translate:[o,l]},t},y=function(t){if(null==(e=t.transform))return s;var e,r,n,i=e.scale[0],a=e.scale[1],o=e.translate[0],l=e.translate[1];return function(t,e){e||(r=n=0);var s=Math.round((t[0]-o)/i),u=Math.round((t[1]-l)/a);return t[0]=s-r,r=s,t[1]=u-n,n=u,t}};t.bbox=u,t.feature=h,t.mesh=d,t.meshArcs=n,t.merge=p,t.mergeArcs=o,t.neighbors=g,t.quantize=v,t.transform=l,t.untransform=y,Object.defineProperty(t,\"__esModule\",{value:!0})})},{}],515:[function(t,e,r){\"use strict\";function n(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(o(t+1)),r=[],n=0;n<e;++n){for(var s=i.unrank(t,n),l=[0],u=0,c=0;c<s.length;++c)u+=1<<s[c],l.push(u);a(s)<1&&(l[0]=u,l[t]=0),r.push(l)}return r}e.exports=n;var i=t(\"permutation-rank\"),a=t(\"permutation-parity\"),o=t(\"gamma\")},{gamma:118,\"permutation-parity\":458,\"permutation-rank\":459}],516:[function(t,e,r){\"use strict\";function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t){\nreturn Math.min(1,Math.max(-1,t))}function a(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s<3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(var s=0;s<3;++s)i[s]-=o/a*t[s];return f(i,i),i}function o(t,e,r,n,i,a,o,s){this.center=l(r),this.up=l(n),this.right=l(i),this.radius=l([a]),this.angle=l([o,s]),this.angle.bounds=[[-(1/0),-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}function s(t){t=t||{};var e=t.center||[0,0,0],r=t.up||[0,1,0],i=t.right||a(r),s=t.radius||1,l=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),f(r,r),i=[].slice.call(i,0,3),f(i,i),\"eye\"in t){var c=t.eye,p=[c[0]-e[0],c[1]-e[1],c[2]-e[2]];h(i,p,r),n(i[0],i[1],i[2])<1e-6?i=a(r):f(i,i),s=n(p[0],p[1],p[2]);var m=d(r,p)/s,g=d(i,p)/s;u=Math.acos(m),l=Math.acos(g)}return s=Math.log(s),new o(t.zoomMin,t.zoomMax,e,r,i,s,l,u)}e.exports=s;var l=t(\"filtered-vector\"),u=t(\"gl-mat4/invert\"),c=t(\"gl-mat4/rotate\"),h=t(\"gl-vec3/cross\"),f=t(\"gl-vec3/normalize\"),d=t(\"gl-vec3/dot\"),p=o.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-(1/0),e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,i=0,a=0,o=0;o<3;++o)a+=e[o]*r[o],i+=e[o]*e[o];for(var s=Math.sqrt(i),l=0,o=0;o<3;++o)r[o]-=e[o]*a/i,l+=r[o]*r[o],e[o]/=s;for(var u=Math.sqrt(l),o=0;o<3;++o)r[o]/=u;var c=this.computedToward;h(c,e,r),f(c,c);for(var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(p),v=Math.sin(p),y=Math.cos(m),b=Math.sin(m),x=this.computedCenter,_=g*y,w=v*y,M=b,A=-g*b,k=-v*b,T=y,E=this.computedEye,S=this.computedMatrix,o=0;o<3;++o){var L=_*r[o]+w*c[o]+M*e[o];S[4*o+1]=A*r[o]+k*c[o]+T*e[o],S[4*o+2]=L,S[4*o+3]=0}var C=S[1],D=S[5],I=S[9],z=S[2],P=S[6],O=S[10],R=D*O-I*P,F=I*z-C*O,j=C*P-D*z,N=n(R,F,j);R/=N,F/=N,j/=N,S[0]=R,S[4]=F,S[8]=j;for(var o=0;o<3;++o)E[o]=x[o]+S[2+4*o]*d;for(var o=0;o<3;++o){for(var l=0,B=0;B<3;++B)l+=S[o+4*B]*E[B];S[12+o]=-l}S[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var m=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;m[0]=i[2],m[1]=i[6],m[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l<3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];c(i,i,n,m);for(var l=0;l<3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},p.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=(Math.exp(this.computedRadius[0]),a[1]),s=a[5],l=a[9],u=n(o,s,l);o/=u,s/=u,l/=u;var c=a[0],h=a[4],f=a[8],d=c*o+h*s+f*l;c-=o*d,h-=s*d,f-=l*d;var p=n(c,h,f);c/=p,h/=p,f/=p;var m=c*e+o*r,g=h*e+s*r,v=f*e+l*r;this.center.move(t,m,g,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+i),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,a){var o=1;\"number\"==typeof r&&(o=0|r),(o<0||o>3)&&(o=1);var s=(o+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var l=e[o],c=e[o+4],h=e[o+8];if(a){var f=Math.abs(l),d=Math.abs(c),p=Math.abs(h),m=Math.max(f,d,p);f===m?(l=l<0?-1:1,c=h=0):p===m?(h=h<0?-1:1,l=c=0):(c=c<0?-1:1,l=h=0)}else{var g=n(l,c,h);l/=g,c/=g,h/=g}var v=e[s],y=e[s+4],b=e[s+8],x=v*l+y*c+b*h;v-=l*x,y-=c*x,b-=h*x;var _=n(v,y,b);v/=_,y/=_,b/=_;var w=c*b-h*y,M=h*v-l*b,A=l*y-c*v,k=n(w,M,A);w/=k,M/=k,A/=k,this.center.jump(t,q,G,Y),this.radius.idle(t),this.up.jump(t,l,c,h),this.right.jump(t,v,y,b);var T,E;if(2===o){var S=e[1],L=e[5],C=e[9],D=S*v+L*y+C*b,I=S*w+L*M+C*A;T=R<0?-Math.PI/2:Math.PI/2,E=Math.atan2(I,D)}else{var z=e[2],P=e[6],O=e[10],R=z*l+P*c+O*h,F=z*v+P*y+O*b,j=z*w+P*M+O*A;T=Math.asin(i(R)),E=Math.atan2(j,F)}this.angle.jump(t,E,T),this.recalcMatrix(t);var N=e[2],B=e[6],U=e[10],V=this.computedMatrix;u(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Y=V[14]/H,X=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*X,G-B*X,Y-U*X)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,a){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter,a=a||this.computedUp;var o=a[0],s=a[1],l=a[2],u=n(o,s,l);if(!(u<1e-6)){o/=u,s/=u,l/=u;var c=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],d=n(c,h,f);if(!(d<1e-6)){c/=d,h/=d,f/=d;var p=this.computedRight,m=p[0],g=p[1],v=p[2],y=o*m+s*g+l*v;m-=y*o,g-=y*s,v-=y*l;var b=n(m,g,v);if(!(b<.01&&(m=s*f-l*h,g=l*c-o*f,v=o*h-s*c,(b=n(m,g,v))<1e-6))){m/=b,g/=b,v/=b,this.up.set(t,o,s,l),this.right.set(t,m,g,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var x=s*v-l*g,_=l*m-o*v,w=o*g-s*m,M=n(x,_,w);x/=M,_/=M,w/=M;var A=o*c+s*h+l*f,k=m*c+g*h+v*f,T=x*c+_*h+w*f,E=Math.asin(i(A)),S=Math.atan2(T,k),L=this.angle._state,C=L[L.length-1],D=L[L.length-2];C%=2*Math.PI;var I=Math.abs(C+2*Math.PI-S),z=Math.abs(C-S),P=Math.abs(C-2*Math.PI-S);I<z&&(C+=2*Math.PI),P<z&&(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,D),this.angle.set(t,S,E)}}}}},{\"filtered-vector\":115,\"gl-mat4/invert\":162,\"gl-mat4/rotate\":166,\"gl-vec3/cross\":254,\"gl-vec3/dot\":255,\"gl-vec3/normalize\":258}],517:[function(t,e,r){\"use strict\";function n(t,e,r){var n=t*e,a=i*t,o=a-t,s=a-o,l=t-s,u=i*e,c=u-e,h=u-c,f=e-h,d=n-s*h,p=d-l*h,m=p-s*f,g=l*f-m;return r?(r[0]=g,r[1]=n,r):[g,n]}e.exports=n;var i=+(Math.pow(2,27)+1)},{}],518:[function(t,e,r){\"use strict\";function n(t,e,r){var n=t+e,i=n-t,a=n-i,o=e-i,s=t-a;return r?(r[0]=s+o,r[1]=n,r):[s+o,n]}e.exports=n},{}],519:[function(t,e,r){(function(e,n){\"use strict\";function i(t){if(t){var e=t.length||t.byteLength;w[y.log2(e)].push(t)}}function a(t){i(t.buffer)}function o(t){var t=y.nextPow2(t),e=y.log2(t),r=w[e];return r.length>0?r.pop():new ArrayBuffer(t)}function s(t){return new Uint8Array(o(t),0,t)}function l(t){return new Uint16Array(o(2*t),0,t)}function u(t){return new Uint32Array(o(4*t),0,t)}function c(t){return new Int8Array(o(t),0,t)}function h(t){return new Int16Array(o(2*t),0,t)}function f(t){return new Int32Array(o(4*t),0,t)}function d(t){return new Float32Array(o(4*t),0,t)}function p(t){return new Float64Array(o(8*t),0,t)}function m(t){return x?new Uint8ClampedArray(o(t),0,t):s(t)}function g(t){return new DataView(o(t),0,t)}function v(t){t=y.nextPow2(t);var e=y.log2(t),r=M[e];return r.length>0?r.pop():new n(t)}var y=t(\"bit-twiddle\"),b=t(\"dup\");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:b([32,0]),UINT16:b([32,0]),UINT32:b([32,0]),INT8:b([32,0]),INT16:b([32,0]),INT32:b([32,0]),FLOAT:b([32,0]),DOUBLE:b([32,0]),DATA:b([32,0]),UINT8C:b([32,0]),BUFFER:b([32,0])});var x=\"undefined\"!=typeof Uint8ClampedArray,_=e.__TYPEDARRAY_POOL;_.UINT8C||(_.UINT8C=b([32,0])),_.BUFFER||(_.BUFFER=b([32,0]));var w=_.DATA,M=_.BUFFER;r.free=function(t){if(n.isBuffer(t))M[y.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength;w[0|y.log2(e)].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=a,r.freeArrayBuffer=i,r.freeBuffer=function(t){M[y.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return o(t);switch(e){case\"uint8\":return s(t);case\"uint16\":return l(t);case\"uint32\":return u(t);case\"int8\":return c(t);case\"int16\":return h(t);case\"int32\":return f(t);case\"float\":case\"float32\":return d(t);case\"double\":case\"float64\":return p(t);case\"uint8_clamped\":return m(t);case\"buffer\":return v(t);case\"data\":case\"dataview\":return g(t);default:return null}return null},r.mallocArrayBuffer=o,r.mallocUint8=s,r.mallocUint16=l,r.mallocUint32=u,r.mallocInt8=c,r.mallocInt16=h,r.mallocInt32=f,r.mallocFloat32=r.mallocFloat=d,r.mallocFloat64=r.mallocDouble=p,r.mallocUint8Clamped=m,r.mallocDataView=g,r.mallocBuffer=v,r.clearCache=function(){for(var t=0;t<32;++t)_.UINT8[t].length=0,_.UINT16[t].length=0,_.UINT32[t].length=0,_.INT8[t].length=0,_.INT16[t].length=0,_.INT32[t].length=0,_.FLOAT[t].length=0,_.DOUBLE[t].length=0,_.UINT8C[t].length=0,w[t].length=0,M[t].length=0}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t(\"buffer\").Buffer)},{\"bit-twiddle\":57,buffer:67,dup:107}],520:[function(t,e,r){\"use strict\";\"use restrict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,\"length\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],521:[function(t,e,r){\"use strict\";function n(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,i=t[o],e(i,a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}function i(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}function a(t,e,r){return 0===t.length?t:e?(r||t.sort(e),n(t,e)):(r||t.sort(),i(t))}e.exports=a},{}],522:[function(t,e,r){function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}e.exports=n,n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){void 0===e&&(e=1e-6);var r,n,i,a,o;for(i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if(r=0,n=1,(i=t)<r)return r;if(i>n)return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],523:[function(t,e,r){\"use strict\";function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(t,e,r){if(t&&u.isObject(t)&&t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}function a(t){return u.isString(t)&&(t=i(t)),t instanceof n?t.format():n.prototype.format.call(t)}function o(t,e){return i(t,!1,!0).resolve(e)}function s(t,e){return t?i(t,!1,!0).resolveObject(e):e}var l=t(\"punycode\"),u=t(\"./util\");r.parse=i,r.resolve=o,r.resolveObject=s,r.format=a,r.Url=n;var c=/^([a-z0-9.+-]+:)/i,h=/:[0-9]*$/,f=/^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,d=[\"<\",\">\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"],p=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(d),m=[\"'\"].concat(p),g=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(m),v=[\"/\",\"?\",\"#\"],y={javascript:!0,\"javascript:\":!0},b={javascript:!0,\"javascript:\":!0},x={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0},_=t(\"querystring\");n.prototype.parse=function(t,e,r){if(!u.isString(t))throw new TypeError(\"Parameter 'url' must be a string, not \"+typeof t);var n=t.indexOf(\"?\"),i=n!==-1&&n<t.indexOf(\"#\")?\"?\":\"#\",a=t.split(i);a[0]=a[0].replace(/\\\\/g,\"/\"),t=a.join(i);var o=t;if(o=o.trim(),!r&&1===t.split(\"#\").length){var s=f.exec(o);if(s)return this.path=o,this.href=o,this.pathname=s[1],s[2]?(this.search=s[2],this.query=e?_.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search=\"\",this.query={}),this}var h=c.exec(o);if(h){h=h[0];var d=h.toLowerCase();this.protocol=d,o=o.substr(h.length)}if(r||h||o.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)){var p=\"//\"===o.substr(0,2);!p||h&&b[h]||(o=o.substr(2),this.slashes=!0)}if(!b[h]&&(p||h&&!x[h])){for(var w=-1,M=0;M<v.length;M++){var A=o.indexOf(v[M]);A!==-1&&(w===-1||A<w)&&(w=A)}var k,T;T=w===-1?o.lastIndexOf(\"@\"):o.lastIndexOf(\"@\",w),T!==-1&&(k=o.slice(0,T),o=o.slice(T+1),this.auth=decodeURIComponent(k)),w=-1;for(var M=0;M<g.length;M++){var A=o.indexOf(g[M]);A!==-1&&(w===-1||A<w)&&(w=A)}w===-1&&(w=o.length),this.host=o.slice(0,w),o=o.slice(w),this.parseHost(),this.hostname=this.hostname||\"\";var E=\"[\"===this.hostname[0]&&\"]\"===this.hostname[this.hostname.length-1];if(!E)for(var S=this.hostname.split(/\\./),M=0,L=S.length;M<L;M++){var C=S[M];if(C&&!C.match(/^[+a-z0-9A-Z_-]{0,63}$/)){for(var D=\"\",I=0,z=C.length;I<z;I++)D+=C.charCodeAt(I)>127?\"x\":C[I];if(!D.match(/^[+a-z0-9A-Z_-]{0,63}$/)){var P=S.slice(0,M),O=S.slice(M+1),R=C.match(/^([+a-z0-9A-Z_-]{0,63})(.*)$/);R&&(P.push(R[1]),O.unshift(R[2])),O.length&&(o=\"/\"+O.join(\".\")+o),this.hostname=P.join(\".\");break}}}this.hostname.length>255?this.hostname=\"\":this.hostname=this.hostname.toLowerCase(),E||(this.hostname=l.toASCII(this.hostname));var F=this.port?\":\"+this.port:\"\",j=this.hostname||\"\";this.host=j+F,this.href+=this.host,E&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\"/\"!==o[0]&&(o=\"/\"+o))}if(!y[d])for(var M=0,L=m.length;M<L;M++){var N=m[M];if(o.indexOf(N)!==-1){var B=encodeURIComponent(N);B===N&&(B=escape(N)),o=o.split(N).join(B)}}var U=o.indexOf(\"#\");U!==-1&&(this.hash=o.substr(U),o=o.slice(0,U));var V=o.indexOf(\"?\");if(V!==-1?(this.search=o.substr(V),this.query=o.substr(V+1),e&&(this.query=_.parse(this.query)),o=o.slice(0,V)):e&&(this.search=\"\",this.query={}),o&&(this.pathname=o),x[d]&&this.hostname&&!this.pathname&&(this.pathname=\"/\"),this.pathname||this.search){var F=this.pathname||\"\",H=this.search||\"\";this.path=F+H}return this.href=this.format(),this},n.prototype.format=function(){var t=this.auth||\"\";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,\":\"),t+=\"@\");var e=this.protocol||\"\",r=this.pathname||\"\",n=this.hash||\"\",i=!1,a=\"\";this.host?i=t+this.host:this.hostname&&(i=t+(this.hostname.indexOf(\":\")===-1?this.hostname:\"[\"+this.hostname+\"]\"),this.port&&(i+=\":\"+this.port)),this.query&&u.isObject(this.query)&&Object.keys(this.query).length&&(a=_.stringify(this.query));var o=this.search||a&&\"?\"+a||\"\";return e&&\":\"!==e.substr(-1)&&(e+=\":\"),this.slashes||(!e||x[e])&&i!==!1?(i=\"//\"+(i||\"\"),r&&\"/\"!==r.charAt(0)&&(r=\"/\"+r)):i||(i=\"\"),n&&\"#\"!==n.charAt(0)&&(n=\"#\"+n),o&&\"?\"!==o.charAt(0)&&(o=\"?\"+o),r=r.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),o=o.replace(\"#\",\"%23\"),e+i+r+o+n},n.prototype.resolve=function(t){return this.resolveObject(i(t,!1,!0)).format()},n.prototype.resolveObject=function(t){if(u.isString(t)){var e=new n;e.parse(t,!1,!0),t=e}for(var r=new n,i=Object.keys(this),a=0;a<i.length;a++){var o=i[a];r[o]=this[o]}if(r.hash=t.hash,\"\"===t.href)return r.href=r.format(),r;if(t.slashes&&!t.protocol){for(var s=Object.keys(t),l=0;l<s.length;l++){var c=s[l];\"protocol\"!==c&&(r[c]=t[c])}return x[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname=\"/\"),r.href=r.format(),r}if(t.protocol&&t.protocol!==r.protocol){if(!x[t.protocol]){for(var h=Object.keys(t),f=0;f<h.length;f++){var d=h[f];r[d]=t[d]}return r.href=r.format(),r}if(r.protocol=t.protocol,t.host||b[t.protocol])r.pathname=t.pathname;else{for(var p=(t.pathname||\"\").split(\"/\");p.length&&!(t.host=p.shift()););t.host||(t.host=\"\"),t.hostname||(t.hostname=\"\"),\"\"!==p[0]&&p.unshift(\"\"),p.length<2&&p.unshift(\"\"),r.pathname=p.join(\"/\")}if(r.search=t.search,r.query=t.query,r.host=t.host||\"\",r.auth=t.auth,r.hostname=t.hostname||t.host,r.port=t.port,r.pathname||r.search){var m=r.pathname||\"\",g=r.search||\"\";r.path=m+g}return r.slashes=r.slashes||t.slashes,r.href=r.format(),r}var v=r.pathname&&\"/\"===r.pathname.charAt(0),y=t.host||t.pathname&&\"/\"===t.pathname.charAt(0),_=y||v||r.host&&t.pathname,w=_,M=r.pathname&&r.pathname.split(\"/\")||[],p=t.pathname&&t.pathname.split(\"/\")||[],A=r.protocol&&!x[r.protocol];if(A&&(r.hostname=\"\",r.port=null,r.host&&(\"\"===M[0]?M[0]=r.host:M.unshift(r.host)),r.host=\"\",t.protocol&&(t.hostname=null,t.port=null,t.host&&(\"\"===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),_=_&&(\"\"===p[0]||\"\"===M[0])),y)r.host=t.host||\"\"===t.host?t.host:r.host,r.hostname=t.hostname||\"\"===t.hostname?t.hostname:r.hostname,r.search=t.search,r.query=t.query,M=p;else if(p.length)M||(M=[]),M.pop(),M=M.concat(p),r.search=t.search,r.query=t.query;else if(!u.isNullOrUndefined(t.search)){if(A){r.hostname=r.host=M.shift();var k=!!(r.host&&r.host.indexOf(\"@\")>0)&&r.host.split(\"@\");k&&(r.auth=k.shift(),r.host=r.hostname=k.shift())}return r.search=t.search,r.query=t.query,u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:\"\")+(r.search?r.search:\"\")),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path=\"/\"+r.search:r.path=null,r.href=r.format(),r;for(var T=M.slice(-1)[0],E=(r.host||t.host||M.length>1)&&(\".\"===T||\"..\"===T)||\"\"===T,S=0,L=M.length;L>=0;L--)T=M[L],\".\"===T?M.splice(L,1):\"..\"===T?(M.splice(L,1),S++):S&&(M.splice(L,1),S--);if(!_&&!w)for(;S--;S)M.unshift(\"..\");!_||\"\"===M[0]||M[0]&&\"/\"===M[0].charAt(0)||M.unshift(\"\"),E&&\"/\"!==M.join(\"/\").substr(-1)&&M.push(\"\");var C=\"\"===M[0]||M[0]&&\"/\"===M[0].charAt(0);if(A){r.hostname=r.host=C?\"\":M.length?M.shift():\"\";var k=!!(r.host&&r.host.indexOf(\"@\")>0)&&r.host.split(\"@\");k&&(r.auth=k.shift(),r.host=r.hostname=k.shift())}return _=_||r.host&&M.length,_&&!C&&M.unshift(\"\"),M.length?r.pathname=M.join(\"/\"):(r.pathname=null,r.path=null),u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:\"\")+(r.search?r.search:\"\")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=h.exec(t);e&&(e=e[0],\":\"!==e&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},{\"./util\":524,punycode:467,querystring:471}],524:[function(t,e,r){\"use strict\";e.exports={isString:function(t){return\"string\"==typeof t},isObject:function(t){return\"object\"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],525:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],526:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],527:[function(t,e,r){(function(e,n){function i(t,e){var n={seen:[],stylize:o};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(e)?n.showHidden=e:e&&r._extend(n,e),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=a),l(n,t,n.depth)}function a(t,e){var r=i.styles[e];return r?\"\\x1b[\"+i.colors[r][0]+\"m\"+t+\"\\x1b[\"+i.colors[r][1]+\"m\":t}function o(t,e){return t}function s(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}function l(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return b(i)||(i=l(t,i,n)),i}var a=u(t,e);if(a)return a;var o=Object.keys(e),m=s(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),k(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return c(e);if(0===o.length){if(T(e)){var g=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+g+\"]\",\"special\")}if(w(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(A(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(k(e))return c(e)}var v=\"\",y=!1,x=[\"{\",\"}\"];if(p(e)&&(y=!0,x=[\"[\",\"]\"]),T(e)){v=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\"}if(w(e)&&(v=\" \"+RegExp.prototype.toString.call(e)),A(e)&&(v=\" \"+Date.prototype.toUTCString.call(e)),k(e)&&(v=\" \"+c(e)),0===o.length&&(!y||0==e.length))return x[0]+v+x[1];if(n<0)return w(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\");t.seen.push(e);var _;return _=y?h(t,e,n,m,o):o.map(function(r){return f(t,e,n,m,r,y)}),t.seen.pop(),d(_,v,x)}function u(t,e){if(_(e))return t.stylize(\"undefined\",\"undefined\");if(b(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}return y(e)?t.stylize(\"\"+e,\"number\"):m(e)?t.stylize(\"\"+e,\"boolean\"):g(e)?t.stylize(\"null\",\"null\"):void 0}function c(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function h(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)D(e,String(o))?a.push(f(t,e,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||a.push(f(t,e,r,n,i,!0))}),a}function f(t,e,r,n,i,a){var o,s,u;if(u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]},u.get?s=u.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):u.set&&(s=t.stylize(\"[Setter]\",\"special\")),D(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(u.value)<0?(s=g(r)?l(t,u.value,null):l(t,u.value,r-1),s.indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map(function(t){return\"  \"+t}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(t){return\"   \"+t}).join(\"\\n\"))):s=t.stylize(\"[Circular]\",\"special\")),_(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function d(t,e,r){var n=0;return t.reduce(function(t,e){return n++,e.indexOf(\"\\n\")>=0&&n++,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60?r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+r[1]:r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}function p(t){return Array.isArray(t)}function m(t){return\"boolean\"==typeof t}function g(t){return null===t}function v(t){return null==t}function y(t){return\"number\"==typeof t}function b(t){return\"string\"==typeof t}function x(t){return\"symbol\"==typeof t}function _(t){return void 0===t}function w(t){return M(t)&&\"[object RegExp]\"===S(t)}function M(t){return\"object\"==typeof t&&null!==t}function A(t){return M(t)&&\"[object Date]\"===S(t)}function k(t){return M(t)&&(\"[object Error]\"===S(t)||t instanceof Error)}function T(t){return\"function\"==typeof t}function E(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t}function S(t){return Object.prototype.toString.call(t)}function L(t){return t<10?\"0\"+t.toString(10):t.toString(10)}function C(){var t=new Date,e=[L(t.getHours()),L(t.getMinutes()),L(t.getSeconds())].join(\":\");return[t.getDate(),P[t.getMonth()],e].join(\" \")}function D(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.format=function(t){if(!b(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(i(arguments[r]));return e.join(\" \")}for(var r=1,n=arguments,a=n.length,o=String(t).replace(/%[sdj%]/g,function(t){if(\"%%\"===t)return\"%\";if(r>=a)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}}),s=n[r];r<a;s=n[++r])o+=g(s)||!M(s)?\" \"+s:\" \"+i(s);return o},r.deprecate=function(t,i){function a(){if(!o){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),o=!0}return t.apply(this,arguments)}if(_(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(e.noDeprecation===!0)return t;var o=!1;return a};var I,z={};r.debuglog=function(t){if(_(I)&&(I=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!z[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(I)){var n=e.pid;z[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else z[t]=function(){};return z[t]},r.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=m,r.isNull=g,r.isNullOrUndefined=v,r.isNumber=y,r.isString=b,r.isSymbol=x,r.isUndefined=_,r.isRegExp=w,r.isObject=M,r.isDate=A,r.isError=k,r.isFunction=T,r.isPrimitive=E,r.isBuffer=t(\"./support/isBuffer\");var P=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];r.log=function(){console.log(\"%s - %s\",C(),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!M(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":526,_process:466,inherits:525}],528:[function(t,e,r){e.exports.VectorTile=t(\"./lib/vectortile.js\"),e.exports.VectorTileFeature=t(\"./lib/vectortilefeature.js\"),e.exports.VectorTileLayer=t(\"./lib/vectortilelayer.js\")},{\"./lib/vectortile.js\":529,\"./lib/vectortilefeature.js\":530,\"./lib/vectortilelayer.js\":531}],529:[function(t,e,r){\"use strict\";function n(t,e){this.layers=t.readFields(i,{},e)}function i(t,e,r){if(3===t){var n=new a(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var a=t(\"./vectortilelayer\");e.exports=n},{\"./vectortilelayer\":531}],530:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?a(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}function o(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=s(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}function s(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}var l=t(\"point-geometry\");e.exports=n,n.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,o=0,s=[];t.pos<r;){if(!i){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new l(a,o));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-(1/0),l=1/0,u=-(1/0);t.pos<e;){if(!n){var c=t.readVarint();r=7&c,n=c>>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<l&&(l=a),a>u&&(u=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,u]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+c)/l;t[e]=[360*(r.x+u)/l-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var a,s,l=this.extent*Math.pow(2,r),u=this.extent*t,c=this.extent*e,h=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var d=[];for(a=0;a<h.length;a++)d[a]=h[a][0];h=d,i(h);break;case 2:for(a=0;a<h.length;a++)i(h[a]);break;case 3:for(h=o(h),a=0;a<h.length;a++)for(s=0;s<h[a].length;s++)i(h[a][s])}1===h.length?h=h[0]:f=\"Multi\"+f;var p={type:\"Feature\",geometry:{type:f,coordinates:h},properties:this.properties};return\"id\"in this&&(p.id=this.id),p}},{\"point-geometry\":463}],531:[function(t,e,r){\"use strict\";function n(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(i,this,e),this.length=this._features.length}function i(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(a(r))}function a(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}var o=t(\"./vectortilefeature.js\");e.exports=n,n.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new o(this._pbf,e,this.extent,this._keys,this._values)}},{\"./vectortilefeature.js\":530}],532:[function(t,e,r){\"use strict\";function n(t,e){return\"object\"==typeof e&&null!==e||(e={}),i(t,e.canvas||a,e.context||o,e)}e.exports=n;var i=t(\"./lib/vtext\"),a=null,o=null;\"undefined\"!=typeof document&&(a=document.createElement(\"canvas\"),a.width=8192,a.height=1024,o=a.getContext(\"2d\"))},{\"./lib/vtext\":533}],533:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=e.textAlign||\"start\",i=e.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var u=t[l],c=0;c<2;++c)a[c]=0|Math.min(a[c],u[c]),o[c]=0|Math.max(o[c],u[c]);var h=0;switch(n){case\"center\":h=-.5*(a[0]+o[0]);break;case\"right\":case\"end\":h=-o[0];break;case\"left\":case\"start\":h=-a[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+n+\"'\")}var f=0;switch(i){case\"hanging\":case\"top\":f=-a[1];break;case\"middle\":f=-.5*(a[1]+o[1]);break;case\"alphabetic\":case\"ideographic\":f=-3*r;break;case\"bottom\":f=-o[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+i+\"'\")}var d=1/r;return\"lineHeight\"in e?d*=+e.lineHeight:\"width\"in e?d=e.width/(o[0]-a[0]):\"height\"in e&&(d=e.height/(o[1]-a[1])),t.map(function(t){return[d*(t[0]+h),d*(t[1]+f)]})}function i(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i>8192)throw new Error(\"vectorize-text: String too long (sorry, this will get fixed later)\");var a=3*n;return t.height<a&&(t.height=a),e.fillStyle=\"#000\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\"#fff\",e.fillText(r,n,2*n),c(e.getImageData(0,0,i,a).data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}function a(t,e){var r=u(t,128);return e?h(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function o(t,e,r,i){var o=a(t,i),s=n(o.positions,e,r),l=o.edges,u=\"ccw\"===e.orientation;if(f(s,l),e.polygons||e.polygon||e.polyline){for(var c=p(l,s),h=new Array(c.length),m=0;m<c.length;++m){for(var g=c[m],v=new Array(g.length),y=0;y<g.length;++y){for(var b=g[y],x=new Array(b.length),_=0;_<b.length;++_)x[_]=s[b[_]].slice();u&&x.reverse(),v[y]=x}h[m]=v}return h}return e.triangles||e.triangulate||e.triangle?{cells:d(s,l,{delaunay:!1,exterior:!1,interior:!0}),positions:s}:{edges:l,positions:s}}function s(t,e,r){try{return o(t,e,r,!0)}catch(t){}try{return o(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}\nfunction l(t,e,r,n){var a=n.size||64,o=n.font||\"normal\";return r.font=a+\"px \"+o,r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",s(i(e,r,t,a),n,a)}e.exports=l,e.exports.processPixels=s;var u=t(\"surface-nets\"),c=t(\"ndarray\"),h=t(\"simplify-planar-graph\"),f=t(\"clean-pslg\"),d=t(\"cdt2d\"),p=t(\"planar-graph-to-polyline\")},{cdt2d:69,\"clean-pslg\":79,ndarray:447,\"planar-graph-to-polyline\":462,\"simplify-planar-graph\":502,\"surface-nets\":509}],534:[function(t,e,r){function n(t){var e=[];for(var r in t.layers)e.push(a(t.layers[r]));var n=new c;return h.tile.write({layers:e},n),n.finish()}function i(t){var e={};for(var r in t)e[r]=new f(t[r].features),e[r].name=r;return n({layers:e})}function a(t){for(var e={name:t.name||\"\",version:t.version||1,extent:t.extent||4096,keys:[],values:[],features:[]},r={},n={},i=0;i<t.length;i++){var a=t.feature(i);a.geometry=l(a.loadGeometry());var o=[];for(var s in a.properties){var c=r[s];void 0===c&&(e.keys.push(s),c=e.keys.length-1,r[s]=c);var h=u(a.properties[s]),f=n[h.key];void 0===f&&(e.values.push(h),f=e.values.length-1,n[h.key]=f),o.push(c),o.push(f)}a.tags=o,e.features.push(a)}return e}function o(t,e){return(e<<3)+(7&t)}function s(t){return t<<1^t>>31}function l(t){for(var e=[],r=0,n=0,i=t.length,a=0;a<i;a++){var l=t[a];e.push(o(1,1));for(var u=0;u<l.length;u++){1===u&&e.push(o(2,l.length-1));var c=l[u].x-r,h=l[u].y-n;e.push(s(c),s(h)),r+=c,n+=h}}return e}function u(t){var e,r=typeof t;return\"string\"===r?e={string_value:t}:\"boolean\"===r?e={bool_value:t}:\"number\"===r?e=t%1!=0?{double_value:t}:t<0?{sint_value:t}:{uint_value:t}:(t=JSON.stringify(t),e={string_value:t}),e.key=r+\":\"+t,e}var c=t(\"pbf\"),h=t(\"./vector-tile-pb\"),f=t(\"./lib/geojson_wrapper\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=i,e.exports.GeoJSONWrapper=f},{\"./lib/geojson_wrapper\":535,\"./vector-tile-pb\":536,pbf:457}],535:[function(t,e,r){\"use strict\";function n(t){this.features=t,this.length=t.length}function i(t){this.id=\"number\"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=4096}var a=t(\"point-geometry\"),o=t(\"vector-tile\").VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-(1/0),n=1/0,i=-(1/0),a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\"point-geometry\":463,\"vector-tile\":528}],536:[function(t,e,r){\"use strict\";function n(t,e){return t.readFields(i,{layers:[]},e)}function i(t,e,r){3===t&&e.layers.push(f(r,r.readVarint()+r.pos))}function a(t,e){var r;if(void 0!==t.layers)for(r=0;r<t.layers.length;r++)e.writeMessage(3,p,t.layers[r])}function o(t,e){return t.readFields(s,{},e)}function s(t,e,r){1===t?e.string_value=r.readString():2===t?e.float_value=r.readFloat():3===t?e.double_value=r.readDouble():4===t?e.int_value=r.readVarint():5===t?e.uint_value=r.readVarint():6===t?e.sint_value=r.readSVarint():7===t&&(e.bool_value=r.readBoolean())}function l(t,e){void 0!==t.string_value&&e.writeStringField(1,t.string_value),void 0!==t.float_value&&e.writeFloatField(2,t.float_value),void 0!==t.double_value&&e.writeDoubleField(3,t.double_value),void 0!==t.int_value&&e.writeVarintField(4,t.int_value),void 0!==t.uint_value&&e.writeVarintField(5,t.uint_value),void 0!==t.sint_value&&e.writeSVarintField(6,t.sint_value),void 0!==t.bool_value&&e.writeBooleanField(7,t.bool_value)}function u(t,e){var r=t.readFields(c,{},e);return void 0===r.type&&(r.type=\"Unknown\"),r}function c(t,e,r){1===t?e.id=r.readVarint():2===t?e.tags=r.readPackedVarint():3===t?e.type=r.readVarint():4===t&&(e.geometry=r.readPackedVarint())}function h(t,e){void 0!==t.id&&e.writeVarintField(1,t.id),void 0!==t.tags&&e.writePackedVarint(2,t.tags),void 0!==t.type&&e.writeVarintField(3,t.type),void 0!==t.geometry&&e.writePackedVarint(4,t.geometry)}function f(t,e){return t.readFields(d,{features:[],keys:[],values:[]},e)}function d(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():2===t?e.features.push(u(r,r.readVarint()+r.pos)):3===t?e.keys.push(r.readString()):4===t?e.values.push(o(r,r.readVarint()+r.pos)):5===t&&(e.extent=r.readVarint())}function p(t,e){void 0!==t.version&&e.writeVarintField(15,t.version),void 0!==t.name&&e.writeStringField(1,t.name);var r;if(void 0!==t.features)for(r=0;r<t.features.length;r++)e.writeMessage(2,h,t.features[r]);if(void 0!==t.keys)for(r=0;r<t.keys.length;r++)e.writeStringField(3,t.keys[r]);if(void 0!==t.values)for(r=0;r<t.values.length;r++)e.writeMessage(4,l,t.values[r]);void 0!==t.extent&&e.writeVarintField(5,t.extent)}var m=r.tile={read:n,write:a};m.GeomType={Unknown:0,Point:1,LineString:2,Polygon:3},m.value={read:o,write:l},m.feature={read:u,write:h},m.layer={read:f,write:p}},{}],537:[function(t,e,r){!function(){\"use strict\";function t(e){e.permitHostObjects___&&e.permitHostObjects___(t)}function r(t){return!(t.substr(0,d.length)==d&&\"___\"===t.substr(t.length-3))}function n(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[p];if(e&&e.key===t)return e;if(f(t)){e={key:t};try{return h(t,p,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function i(t){return t.prototype=null,Object.freeze(t)}function a(){y||\"undefined\"==typeof console||(y=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=t);var o=!1;if(\"function\"==typeof WeakMap){var s=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var l=new s,u=Object.freeze({});if(l.set(u,1),1===l.get(u))return void(e.exports=WeakMap);o=!0}}var c=(Object.prototype.hasOwnProperty,Object.getOwnPropertyNames),h=Object.defineProperty,f=Object.isExtensible,d=\"weakmap:\",p=d+\"ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var m=new ArrayBuffer(25),g=new Uint8Array(m);crypto.getRandomValues(g),p=d+\"rand:\"+Array.prototype.map.call(g,function(t){return(t%36).toString(36)}).join(\"\")+\"___\"}if(h(Object,\"getOwnPropertyNames\",{value:function(t){return c(t).filter(r)}}),\"getPropertyNames\"in Object){var v=Object.getPropertyNames;h(Object,\"getPropertyNames\",{value:function(t){return v(t).filter(r)}})}!function(){var t=Object.freeze;h(Object,\"freeze\",{value:function(e){return n(e),t(e)}});var e=Object.seal;h(Object,\"seal\",{value:function(t){return n(t),e(t)}});var r=Object.preventExtensions;h(Object,\"preventExtensions\",{value:function(t){return n(t),r(t)}})}();var y=!1,b=0,x=function(){function t(t,e){var r,i=n(t);return i?u in i?i[u]:e:(r=s.indexOf(t),r>=0?l[r]:e)}function e(t){var e=n(t);return e?u in e:s.indexOf(t)>=0}function r(t,e){var r,i=n(t);return i?i[u]=e:(r=s.indexOf(t),r>=0?l[r]=e:(r=s.length,l[r]=e,s[r]=t)),this}function o(t){var e,r,i=n(t);return i?u in i&&delete i[u]:!((e=s.indexOf(t))<0)&&(r=s.length-1,s[e]=void 0,l[e]=l[r],s[e]=s[r],s.length=r,l.length=r,!0)}this instanceof x||a();var s=[],l=[],u=b++;return Object.create(x.prototype,{get___:{value:i(t)},has___:{value:i(e)},set___:{value:i(r)},delete___:{value:i(o)}})};x.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof s?function(){function r(){function e(t,e){return c?u.has(t)?u.get(t):c.get___(t,e):u.get(t,e)}function r(t){return u.has(t)||!!c&&c.has___(t)}function n(t){var e=!!u.delete(t);return c?c.delete___(t)||e:e}this instanceof x||a();var l,u=new s,c=void 0,h=!1;return l=o?function(t,e){return u.set(t,e),u.has(t)||(c||(c=new x),c.set(t,e)),this}:function(t,e){if(h)try{u.set(t,e)}catch(r){c||(c=new x),c.set___(t,e)}else u.set(t,e);return this},Object.create(x.prototype,{get___:{value:i(e)},has___:{value:i(r)},set___:{value:i(l)},delete___:{value:i(n)},permitHostObjects___:{value:i(function(e){if(e!==t)throw new Error(\"bogus call to permitHostObjects___\");h=!0})}})}o&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),r.prototype=x.prototype,e.exports=r,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=x)}}()},{}],538:[function(t,e,r){function n(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:i(e,t)}}var i=t(\"./hidden-store.js\");e.exports=n},{\"./hidden-store.js\":539}],539:[function(t,e,r){function n(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}e.exports=n},{}],540:[function(t,e,r){function n(){var t=i();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}var i=t(\"./create-store.js\");e.exports=n},{\"./create-store.js\":538}],541:[function(t,e,r){var n=t(\"get-canvas-context\");e.exports=function(t){return n(\"webgl\",t)}},{\"get-canvas-context\":129}],542:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function r(t){g[t]=!0;for(var e in i[t][1]){var n=i[t][1][e];g[n]||r(n)}}for(var s,l=Object.keys(a),u=0,c=l.length;u<c;u++){var h=l[u],f=a[h].exports;if(f===t||f&&f.default===t){s=h;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var d={},u=0,c=l.length;u<c;u++){var h=l[u];d[h]=h}i[s]=[Function([\"require\",\"module\",\"exports\"],\"(\"+t+\")(self)\"),d]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[s]=s,i[p]=[Function([\"require\"],\"var f = require(\"+ o(s) +\");(f.default ? f.default : f)(self);\"),m];var g={};r(p);var v=\"(\"+n+\")({\"+Object.keys(g).map(function(t){return o(t)+\":[\"+i[t][0]+\",\"+o(i[t][1])+\"]\"}).join(\",\")+\"},{},[\"+o(p)+\"])\",y=window.URL||window.webkitURL||window.mozURL||window.msURL,b=new Blob([v],{type:\"text/javascript\"});if(e&&e.bare)return b;var x=y.createObjectURL(b),_=new Worker(x);return _.objectURL=x,_}},{}],543:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],544:[function(e,r,n){!function(e,i){\"object\"==typeof n&&void 0!==r?i(n):\"function\"==typeof t&&t.amd?t([\"exports\"],i):i(e.WhooTS=e.WhooTS||{})}(this,function(t){function e(t,e,n,i,a,o){return o=o||{},t+\"?\"+[\"bbox=\"+r(n,i,a),\"format=\"+(o.format||\"image/png\"),\"service=\"+(o.service||\"WMS\"),\"version=\"+(o.version||\"1.1.1\"),\"request=\"+(o.request||\"GetMap\"),\"srs=\"+(o.srs||\"EPSG:3857\"),\"width=\"+(o.width||256),\"height=\"+(o.height||256),\"layers=\"+e].join(\"&\")}function r(t,e,r){e=Math.pow(2,r)-e-1;var i=n(256*t,256*e,r),a=n(256*(t+1),256*(e+1),r);return i[0]+\",\"+i[1]+\",\"+a[0]+\",\"+a[1]}function n(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}t.getURL=e,t.getTileBBox=r,t.getMercCoords=n,Object.defineProperty(t,\"__esModule\",{value:!0})})},{}],545:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function i(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Solar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Solar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=31))throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a=n||{}}var o=p[i.year-p[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=p[a.year-p[0]];var l,u=o>>9&4095,c=o>>5&15,h=31&o,f=new Date(u,c-1,h),m=new Date(i.year,i.month-1,i.day);l=Math.round((m-f)/864e5);var g,v=d[a.year-d[0]];for(g=0;g<13;g++){var y=v&1<<12-g?30:29;if(l<y)break;l-=y}var b=v>>13;return!b||g<b?(a.isIntercalary=!1,a.month=1+g):g===b?(a.isIntercalary=!0,a.month=g):(a.isIntercalary=!1,a.month=g),a.day=1+l,a}function a(t,e,r,n,i){var a,o;if(\"object\"==typeof t)o=t,a=e||{};else{if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Lunar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Lunar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=30))throw new Error(\"Lunar day outside range 1 - 30\");var s;\"object\"==typeof n?(s=!1,a=n):(s=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:s}}var l;l=o.day-1;var u,c=d[o.year-d[0]],h=c>>13;u=h?o.month>h?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var f=0;f<u;f++){l+=c&1<<12-f?30:29}var m=p[o.year-p[0]],g=m>>9&4095,v=m>>5&15,y=31&m,b=new Date(g,v-1,y+l);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}var o=t(\"../main\"),s=t(\"object-assign\"),l=o.instance();n.prototype=new o.baseCalendar,s(n.prototype,{name:\"Chinese\",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(t,e){if(\"string\"==typeof t){var r=t.match(c);return r?r[0]:\"\"}var n=this._validateYear(t),i=t.month(),a=\"\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(t){if(\"string\"==typeof t){var e=t.match(h);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=this.toChineseMonth(r,n),a=[\"\\u4e00\\u6708\",\"\\u4e8c\\u6708\",\"\\u4e09\\u6708\",\"\\u56db\\u6708\",\"\\u4e94\\u6708\",\"\\u516d\\u6708\",\"\\u4e03\\u6708\",\"\\u516b\\u6708\",\"\\u4e5d\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4e00\\u6708\",\"\\u5341\\u4e8c\\u6708\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95f0\"+a),a},monthNamesShort:function(t){if(\"string\"==typeof t){var e=t.match(f);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=this.toChineseMonth(r,n),a=[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95f0\"+a),a},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))\"\\u95f0\"===e[0]&&(r=!0,e=e.substring(1)),\"\\u6708\"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"].indexOf(e);else{var i=e[e.length-1];r=\"i\"===i||\"I\"===i}return this.toMonthIndex(t,n,r)},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),\"number\"!=typeof t||t<1888||t>2111)throw e.replace(/\\{0\\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var n=this.intercalaryMonth(t);if(r&&e!==n||e<1||e>12)throw o.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return n?!r&&e<=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(t=t.year(),e=t.month());var r=this.intercalaryMonth(t),n=r?12:11;if(e<0||e>n)throw o.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),d[t-d[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(t=t.year(),e=t.month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var n,i=this._validateYear(t,o.local.invalidyear),a=p[i-p[0]],s=a>>9&4095,u=a>>5&15,c=31&a;n=l.newDate(s,u,c),n.add(4-(n.dayOfWeek()||7),\"d\");var h=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=d[t-d[0]];if(e>(r>>13?12:11))throw o.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,s,r,o.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var i=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),u=a(t,s,r,i);return l.toJD(u.year,u.month,u.day)},fromJD:function(t){var e=l.fromJD(t),r=i(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(u),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var i=t.year(),a=t.month(),o=this.isIntercalaryMonth(i,a),s=this.toChineseMonth(i,a),l=Object.getPrototypeOf(n.prototype).add.call(this,t,e,r);if(\"y\"===r){var u=l.year(),c=l.month(),h=this.isIntercalaryMonth(u,s),f=o&&h?this.toMonthIndex(u,s,!0):this.toMonthIndex(u,s,!1);f!==c&&l.month(f)}return l}});var u=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-\\/](\\d?\\d)([iI]?)[-\\/](\\d?\\d)/m,c=/^\\d?\\d[iI]?/m,h=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?\\u6708/m,f=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?/m;o.calendars.chinese=n;var d=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],p=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{\"../main\":559,\"object-assign\":450}],546:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\");n.prototype=new i.baseCalendar,a(n.prototype,{name:\"Coptic\",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=e.year()+(e.year()<0?1:0);return t%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),t<0&&t++,n.day()+30*(n.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),i.calendars.coptic=n},{\"../main\":559,\"object-assign\":450}],547:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\");n.prototype=new i.baseCalendar,a(n.prototype,{name:\"Discworld\",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,i.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return{century:o[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year()+(n.year()<0?1:0),e=n.month(),(r=n.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};i.calendars.discworld=n},{\"../main\":559,\"object-assign\":450}],548:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\");n.prototype=new i.baseCalendar,a(n.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=e.year()+(e.year()<0?1:0);return t%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),t<0&&t++,n.day()+30*(n.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),i.calendars.ethiopian=n},{\"../main\":559,\"object-assign\":450}],549:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(\"../main\"),o=t(\"object-assign\");n.prototype=new a.baseCalendar,o(n.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return t=t<0?t+1:t,i(7*t+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,a.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear).year(),this.toJD(t===-1?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,a.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===i(this.daysInYear(t),10)?30:9===e&&3===i(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);return{yearType:(this.leapYear(n)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t<=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(var s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(var s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return i(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(e===-1?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),a.calendars.hebrew=n},{\"../main\":559,\"object-assign\":450}],550:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\");n.prototype=new i.baseCalendar,a(n.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-kham\\u012bs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t<=0?t+1:t,r+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),i.calendars.islamic=n},{\"../main\":559,\"object-assign\":450}],551:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\");n.prototype=new i.baseCalendar,a(n.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],\nmonthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=e.year()<0?e.year()+1:e.year();return t%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=e+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}}),i.calendars.julian=n},{\"../main\":559,\"object-assign\":450}],552:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function i(t,e){return t-e*Math.floor(t/e)}function a(t,e){return i(t-1,e)+1}var o=t(\"../main\"),s=t(\"object-assign\");n.prototype=new o.baseCalendar,s(n.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,o.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+\".\"+Math.floor(t/20)+\".\"+t%20},forYear:function(t){if(t=t.split(\".\"),t.length<3)throw\"Invalid Mayan year\";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,o.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate),i=n.toJD(),a=this._toHaab(i),s=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[s[0]-1],tzolkinDay:s[0],tzolkinTrecena:s[1]}},_toHaab:function(t){t-=this.jdEpoch;var e=i(t+8+340,365);return[Math.floor(e/20)+1,i(e,20)]},_toTzolkin:function(t){return t-=this.jdEpoch,[a(t+20,20),a(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate);return n.day()+20*n.month()+360*n.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),o.calendars.mayan=n},{\"../main\":559,\"object-assign\":450}],553:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\");n.prototype=new i.baseCalendar;var o=i.instance(\"gregorian\");a(n.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.regionalOptions[\"\"].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidMonth),t=n.year();t<0&&t++;for(var a=n.day(),s=1;s<n.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),i.calendars.nanakshahi=n},{\"../main\":559,\"object-assign\":450}],554:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\");n.prototype=new i.baseCalendar,a(n.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,i.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var a=i.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,\"d\").toJD()},fromJD:function(t){var e=i.instance(),r=e.fromJD(t),n=r.year(),a=r.dayOfYear(),o=n+56;this._createMissingCalendarData(o);for(var s=9,l=this.NEPALI_CALENDAR_DATA[o][0],u=this.NEPALI_CALENDAR_DATA[o][s]-l+1;a>u;)s++,s>12&&(s=1,o++),u+=this.NEPALI_CALENDAR_DATA[o][s];var c=this.NEPALI_CALENDAR_DATA[o][s]-(u-a);return this.newDate(o,s,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)void 0===this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),i.calendars.nepali=n},{\"../main\":559,\"object-assign\":450}],555:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(\"../main\"),o=t(\"object-assign\");n.prototype=new a.baseCalendar,o(n.prototype,{name:\"Persian\",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xe6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xe6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,a.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-((n.dayOfWeek()+1)%7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,a.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var o=t-(t>=0?474:473),s=474+i(o,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(o/2820)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=t-this.toJD(475,1,1),r=Math.floor(e/1029983),n=i(e,1029983),a=2820;if(1029982!==n){var o=Math.floor(n/366),s=i(n,366);a=Math.floor((2134*o+2816*s+2815)/1028522)+o+1}var l=a+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),h=t-this.toJD(l,c,1)+1;return this.newDate(l,c,h)}}),a.calendars.persian=n,a.calendars.jalali=n},{\"../main\":559,\"object-assign\":450}],556:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\"),o=i.instance();n.prototype=new i.baseCalendar,a(n.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate),t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),i.calendars.taiwan=n},{\"../main\":559,\"object-assign\":450}],557:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\"),o=i.instance();n.prototype=new i.baseCalendar,a(n.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate),t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),i.calendars.thai=n},{\"../main\":559,\"object-assign\":450}],558:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}var i=t(\"../main\"),a=t(\"object-assign\");n.prototype=new i.baseCalendar,a(n.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thal\\u0101th\\u0101\\u2019\",\"Yawm al-Arba\\u2018\\u0101\\u2019\",\"Yawm al-Kham\\u012bs\",\"Yawm al-Jum\\u2018a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,i.local.invalidMonth),n=r.toJD()-24e5+.5,a=0,s=0;s<o.length;s++){if(o[s]>n)return o[a]-o[a-1];a++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate),a=12*(n.year()-1)+n.month()-15292;return n.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var n=i.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(t=null!=t.year?t.year:t,n=t>=1276&&t<=1500),n},_validate:function(t,e,r,n){var a=i.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return a}}),i.calendars.ummalqura=n\n;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{\"../main\":559,\"object-assign\":450}],559:[function(t,e,r){function n(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function a(t,e){return t=\"\"+t,\"000000\".substring(0,e-t.length)+t}function o(){this.shortYearCutoff=\"+10\"}function s(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}var l=t(\"object-assign\");l(n.prototype,{instance:function(t,e){t=(t||\"gregorian\").toLowerCase(),e=e||\"\";var r=this._localCals[t+\"-\"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+\"-\"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,t);return r},newDate:function(t,e,r,n,i){return n=(null!=t&&t.year?t.calendar():\"string\"==typeof n?this.instance(n,i):n)||this.instance(),n.newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+\"\").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(0===a?\"\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),l(i.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,\"y\")},month:function(t){return 0===arguments.length?this._month:this.set(t,\"m\")},day:function(t){return 0===arguments.length?this._day:this.set(t,\"d\")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?\"-\":\"\")+a(Math.abs(this.year()),4)+\"-\"+a(this.month(),2)+\"-\"+a(this.day(),2)}}),l(o.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+a(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=t.toJD()+e*(\"w\"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\"y\"===r?e:0),o=t.monthOfYear()+(\"m\"===r?e:0),i=t.day();\"y\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\"m\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?e:t.year(),i=\"m\"===r?e:t.month(),a=\"d\"===r?e:t.day();return\"y\"!==r&&\"m\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);return u.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(u.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(u.local.differentCalendars||u.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,t.calendar().local.name);return t}try{if(1===++this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),s.prototype=new o,l(s.prototype,{name:\"Gregorian\",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear),t=e.year()+(e.year()<0?1:0);return t%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25);r=e+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=e.exports=new n;u.cdate=i,u.baseCalendar=o,u.calendars.gregorian=s},{\"object-assign\":450}],560:[function(t,e,r){var n=t(\"object-assign\"),i=t(\"./main\");n(i.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),i.local=i.regionalOptions[\"\"],n(i.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(t,e,r){if(\"string\"!=typeof t&&(r=e,e=t,t=\"\"),!e)return\"\";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.monthNumbers||this.local.monthNumbers,s=r.monthNamesShort||this.local.monthNamesShort,l=r.monthNames||this.local.monthNames,u=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;g+n<t.length&&t.charAt(g+n)===e;)n++;return g+=n-1,Math.floor(n/(r||1))>1}),c=function(t,e,r,n){var i=\"\"+e;if(u(t,n))for(;i.length<r;)i=\"0\"+i;return i},h=this,f=this.local.digits,d=function(t){return r.localNumbers&&f?f(t):t},p=\"\",m=!1,g=0;g<t.length;g++)if(m)\"'\"!==t.charAt(g)||u(\"'\")?p+=t.charAt(g):m=!1;else switch(t.charAt(g)){case\"d\":p+=d(c(\"d\",e.day(),2));break;case\"D\":p+=function(t,e,r,n){return u(t)?n[e]:r[e]}(\"D\",e.dayOfWeek(),n,a);break;case\"o\":p+=c(\"o\",e.dayOfYear(),3);break;case\"w\":p+=c(\"w\",e.weekOfYear(),2);break;case\"m\":p+=function(t){return\"function\"==typeof o?o.call(h,t,u(\"m\")):d(c(\"m\",t.month(),2))}(e);break;case\"M\":p+=function(t,e){return e?\"function\"==typeof l?l.call(h,t):l[t.month()-h.minMonth]:\"function\"==typeof s?s.call(h,t):s[t.month()-h.minMonth]}(e,u(\"M\"));break;case\"y\":p+=u(\"y\",2)?e.year():(e.year()%100<10?\"0\":\"\")+e.year()%100;break;case\"Y\":u(\"Y\",2),p+=e.formatYear();break;case\"J\":p+=e.toJD();break;case\"@\":p+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":p+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":u(\"'\")?p+=\"'\":m=!0;break;default:p+=t.charAt(g)}return p},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[\"\"].invalidArguments;if(\"\"===(e=\"object\"==typeof e?e.toString():e+\"\"))return null;t=t||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=\"string\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,u=r.monthNamesShort||this.local.monthNamesShort,c=r.monthNames||this.local.monthNames,h=-1,f=-1,d=-1,p=-1,m=-1,g=!1,v=!1,y=function(e,r){for(var n=1;A+n<t.length&&t.charAt(A+n)===e;)n++;return A+=n-1,Math.floor(n/(r||1))>1},b=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],o=new RegExp(\"^-?\\\\d{1,\"+a+\"}\"),s=e.substring(M).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,M);return M+=s[0].length,parseInt(s[0],10)},x=this,_=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(M,o[s].length).toLowerCase()===o[s].toLowerCase())return M+=o[s].length,s+x.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,M)},w=function(){if(e.charAt(M)!==t.charAt(A))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,M);M++},M=0,A=0;A<t.length;A++)if(v)\"'\"!==t.charAt(A)||y(\"'\")?w():v=!1;else switch(t.charAt(A)){case\"d\":p=b(\"d\");break;case\"D\":_(\"D\",a,o);break;case\"o\":m=b(\"o\");break;case\"w\":b(\"w\");break;case\"m\":d=function(){if(\"function\"==typeof l){y(\"m\");var t=l.call(x,e.substring(M));return M+=t.length,t}return b(\"m\")}();break;case\"M\":d=function(){if(\"function\"==typeof c){var t=y(\"M\")?c.call(x,e.substring(M)):u.call(x,e.substring(M));return M+=t.length,t}return _(\"M\",u,c)}();break;case\"y\":var k=A;g=!y(\"y\",2),A=k,f=b(\"y\",2);break;case\"Y\":f=b(\"Y\",2);break;case\"J\":h=b(\"J\")+.5,\".\"===e.charAt(M)&&(M++,b(\"J\"));break;case\"@\":h=b(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":h=b(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":M=e.length;break;case\"'\":y(\"'\")?w():v=!0;break;default:w()}if(M<e.length)throw i.local.unexpectedText||i.regionalOptions[\"\"].unexpectedText;if(f===-1?f=this.today().year():f<100&&g&&(f+=n===-1?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),\"string\"==typeof d&&(d=s.call(this,f,d)),m>-1){d=1,p=m;for(var T=this.daysInMonth(f,d);p>T;T=this.daysInMonth(f,d))d++,p-=T}return h>-1?this.fromJD(h):this.newDate(f,d,p)},determineDate:function(t,e,r,n,i){r&&\"object\"!=typeof r&&(i=n,n=r,r=null),\"string\"!=typeof n&&(i=n,n=\"\");var a=this;return e=e?e.newDate():null,t=null==t?e:\"string\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}t=t.toLowerCase();for(var e=(t.match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(t);return e}(t):\"number\"==typeof t?isNaN(t)||t===1/0||t===-(1/0)?e:a.today().add(t,\"d\"):a.newDate(t)}})},{\"./main\":559,\"object-assign\":450}],561:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",{offset:[1],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},post:{body:\"{}\",\nargs:[],thisVars:[],localVars:[]},body:{body:\"{\\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\\n        }\\n      }\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg3_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[\"_inline_1_da\",\"_inline_1_db\"]},funcName:\"zeroCrossings\"})},{\"cwise-compiler\":100}],562:[function(t,e,r){\"use strict\";function n(t,e){var r=[];return e=+e||0,i(t.hi(t.shape[0]-1),r,e),r}e.exports=n;var i=t(\"./lib/zc-core\")},{\"./lib/zc-core\":561}],563:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./attributes\");e.exports=function(t,e,r,s,l){function u(r,i){return n.coerce(t,e,o,r,i)}s=s||{},l=l||{};var c=u(\"visible\",!l.itemIsNotPlainObject),h=u(\"clicktoshow\");if(!c&&!h)return e;u(\"opacity\"),u(\"align\"),u(\"bgcolor\");var f=u(\"bordercolor\"),d=i.opacity(f);u(\"borderpad\");var p=u(\"borderwidth\"),m=u(\"showarrow\");u(\"text\",m?\" \":\"new text\"),u(\"textangle\"),n.coerceFont(u,\"font\",r.font);for(var g=[\"x\",\"y\"],v=[-10,-30],y={_fullLayout:r},b=0;b<2;b++){var x=g[b],_=a.coerceRef(t,e,y,x,\"\",\"paper\");if(a.coercePosition(e,y,u,_,x,.5),m){var w=\"a\"+x,M=a.coerceRef(t,e,y,w,\"pixel\");\"pixel\"!==M&&M!==_&&(M=e[w]=\"pixel\");var A=\"pixel\"===M?v[b]:.4;a.coercePosition(e,y,u,M,w,A)}u(x+\"anchor\")}if(n.noneOrAll(t,e,[\"x\",\"y\"]),m&&(u(\"arrowcolor\",d?e.bordercolor:i.defaultLine),u(\"arrowhead\"),u(\"arrowsize\"),u(\"arrowwidth\",2*(d&&p||1)),u(\"standoff\"),n.noneOrAll(t,e,[\"ax\",\"ay\"])),h){var k=u(\"xclick\"),T=u(\"yclick\");e._xclick=void 0===k?e.x:k,e._yclick=void 0===T?e.y:T}return e}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../color\":576,\"./attributes\":565}],564:[function(t,e,r){\"use strict\";e.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0},{path:\"M2,2V-2H-2V2Z\",backoff:0}]},{}],565:[function(t,e,r){\"use strict\";var n=t(\"./arrow_paths\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../lib/extend\").extendFlat;e.exports={_isLinkedToArray:\"annotation\",visible:{valType:\"boolean\",dflt:!0},text:{valType:\"string\"},textangle:{valType:\"angle\",dflt:0},font:o({},i,{}),opacity:{valType:\"number\",min:0,max:1,dflt:1},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},borderpad:{valType:\"number\",min:0,dflt:1},borderwidth:{valType:\"number\",min:0,dflt:1},showarrow:{valType:\"boolean\",dflt:!0},arrowcolor:{valType:\"color\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1},arrowsize:{valType:\"number\",min:.3,dflt:1},arrowwidth:{valType:\"number\",min:.1},standoff:{valType:\"number\",min:0,dflt:0},ax:{valType:\"any\"},ay:{valType:\"any\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()]},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()]},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()]},x:{valType:\"any\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()]},y:{valType:\"any\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1},xclick:{valType:\"any\"},yclick:{valType:\"any\"},_deprecated:{ref:{valType:\"string\"}}}},{\"../../lib/extend\":673,\"../../plots/cartesian/constants\":725,\"../../plots/font_attributes\":740,\"./arrow_paths\":564}],566:[function(t,e,r){\"use strict\";function n(t){var e=t._fullLayout;i.filterVisible(e.annotations).forEach(function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref),i=3*e.arrowsize*e.arrowwidth||0;r&&r.autorange&&(e.axref===e.xref?(a.expand(r,[r.r2c(e.x)],{ppadplus:i,ppadminus:i}),a.expand(r,[r.r2c(e.ax)],{ppadplus:e._xpadplus,ppadminus:e._xpadminus})):a.expand(r,[r.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,i)})),n&&n.autorange&&(e.ayref===e.yref?(a.expand(n,[n.r2c(e.y)],{ppadplus:i,ppadminus:i}),a.expand(n,[n.r2c(e.ay)],{ppadplus:e._ypadplus,ppadminus:e._ypadminus})):a.expand(n,[n.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,i)}))})}var i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./draw\").draw;e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.annotations);if(r.length&&t._fullData.length){var s={};r.forEach(function(t){s[t.xref]=!0,s[t.yref]=!0});if(a.list(t).filter(function(t){return t.autorange&&s[t._id]}).length)return i.syncOrAsync([o,n],t)}}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"./draw\":570}],567:[function(t,e,r){\"use strict\";function n(t,e){var r=a(t,e);return r.on.length>0||r.explicitOff.length>0}function i(t,e){var r,n=a(t,e),i=n.on,s=n.off.concat(n.explicitOff),l={};if(i.length||s.length){for(r=0;r<i.length;r++)l[\"annotations[\"+i[r]+\"].visible\"]=!0;for(r=0;r<s.length;r++)l[\"annotations[\"+s[r]+\"].visible\"]=!1;return o.update(t,{},l)}}function a(t,e){var r,n,i,a,o,s,l=t._fullLayout.annotations,u=[],c=[],h=[],f=(e||[]).length;for(r=0;r<l.length;r++)if(i=l[r],a=i.clicktoshow){for(n=0;n<f;n++)if(o=e[n],o.xaxis._id===i.xref&&o.yaxis._id===i.yref&&o.xaxis.d2r(o.x)===i._xclick&&o.yaxis.d2r(o.y)===i._yclick){s=i.visible?\"onout\"===a?c:h:u,s.push(r);break}n===f&&i.visible&&\"onout\"===a&&c.push(r)}return{on:u,off:c,explicitOff:h}}var o=t(\"../../plotly\");e.exports={hasClickToShow:n,onClick:i}},{\"../../plotly\":715}],568:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,a){function o(t){var r=u[t],o=null;o=s?i(r,e.range):Math.pow(10,r),n(o)||(o=null),a(c+t,o)}e=e||{};var s=\"log\"===r&&\"linear\"===e.type,l=\"linear\"===r&&\"log\"===e.type;if(s||l)for(var u,c,h=t._fullLayout.annotations,f=e._id.charAt(0),d=0;d<h.length;d++)u=h[d],c=\"annotations[\"+d+\"].\",u[f+\"ref\"]===e._id&&o(f),u[\"a\"+f+\"ref\"]===e._id&&o(\"a\"+f)}},{\"../../lib/to_log_range\":701,\"fast-isnumeric\":113}],569:[function(t,e,r){\"use strict\";var n=t(\"../../plots/array_container_defaults\"),i=t(\"./annotation_defaults\");e.exports=function(t,e){n(t,e,{name:\"annotations\",handleItemDefaults:i})}},{\"../../plots/array_container_defaults\":717,\"./annotation_defaults\":563}],570:[function(t,e,r){\"use strict\";function n(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&i(t,r);return l.previousPromises(t)}function i(t,e){function r(t){return t.call(f.font,D).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[b.align]||\"middle\"}),d.convertToTspans(t,n),t}function n(){function r(t,e){return\"auto\"===e&&(e=t<1/3?\"left\":t>2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}I.selectAll(\"tspan.line\").attr({y:0,x:0});var n=T.select(\".annotation-math-group\"),i=!n.empty(),d=f.bBox((i?n:I).node()),y=d.width,S=d.height,D=Math.round(y+2*L),z=Math.round(S+2*L);b._w=y,b._h=S;var P=!1;if([\"x\",\"y\"].forEach(function(e){var n,i,a,o,s,h=b[e+\"ref\"]||e,f=b[\"a\"+e+\"ref\"],d=c.getFromId(t,h),p=(M+(\"x\"===e?0:-90))*Math.PI/180,m=D*Math.cos(p),g=z*Math.sin(p),y=Math.abs(m)+Math.abs(g),x=b[e+\"anchor\"],_=w[e];if(d){var A=d.r2fraction(b[e]);if((t._dragging||!d.autorange)&&(A<0||A>1)&&(f===h?((A=d.r2fraction(b[\"a\"+e]))<0||A>1)&&(P=!0):P=!0,P))return;n=d._offset+d.r2p(b[e]),o=.5}else\"x\"===e?(a=b[e],n=v.l+v.w*a):(a=1-b[e],n=v.t+v.h*a),o=b.showarrow?.5:a;if(b.showarrow){_.head=n;var k=b[\"a\"+e];s=m*r(.5,b.xanchor)-g*r(.5,b.yanchor),f===h?(_.tail=d._offset+d.r2p(k),i=s):(_.tail=n+k,i=s+k),_.text=_.tail+s;var T=l[\"x\"===e?\"width\":\"height\"];if(\"paper\"===h&&(_.head=u.constrain(_.head,1,T-1)),\"pixel\"===f){var E=-Math.max(_.tail-3,_.text),S=Math.min(_.tail+3,_.text)-T;E>0?(_.tail+=E,_.text+=E):S>0&&(_.tail-=S,_.text-=S)}}else s=y*r(o,x),i=s,_.text=n+s;b[\"_\"+e+\"padplus\"]=y/2+i,b[\"_\"+e+\"padminus\"]=y/2-i,b[\"_\"+e+\"size\"]=y,b[\"_\"+e+\"shift\"]=s}),P)return void T.remove();if(i)n.select(\"svg\").attr({x:L-1,y:L});else{var O=L-d.top,R=L-d.left;I.attr({x:R,y:O}),I.selectAll(\"tspan.line\").attr({y:O,x:R})}C.call(f.setRect,E/2,E/2,D-E,z-E),T.call(f.setTranslate,Math.round(w.x.text-D/2),Math.round(w.y.text-z/2)),k.attr({transform:\"rotate(\"+M+\",\"+w.x.text+\",\"+w.y.text+\")\"});var F=\"annotations[\"+e+\"]\",j=function(r,n){o.select(t).selectAll('.annotation-arrow-g[data-index=\"'+e+'\"]').remove();var i=w.x.head,l=w.y.head,c=w.x.tail+r,d=w.y.tail+n,p=w.x.text+r,y=w.y.text+n,E=u.rotationXYMatrix(M,p,y),S=u.apply2DTransform(E),L=u.apply2DTransform2(E),D=+C.attr(\"width\"),I=+C.attr(\"height\"),z=p-.5*D,P=z+D,O=y-.5*I,R=O+I,j=[[z,O,z,R],[z,R,P,R],[P,R,P,O],[P,O,z,O]].map(L);if(!j.reduce(function(t,e){return t^!!a(i,l,i+1e6,l+1e6,e[0],e[1],e[2],e[3])},!1)){j.forEach(function(t){var e=a(c,d,i,l,t[0],t[1],t[2],t[3]);e&&(c=e.x,d=e.y)});var N=b.arrowwidth,B=b.arrowcolor,U=A.append(\"g\").style({opacity:h.opacity(B)}).classed(\"annotation-arrow-g\",!0).attr(\"data-index\",String(e)),V=U.append(\"path\").attr(\"d\",\"M\"+c+\",\"+d+\"L\"+i+\",\"+l).style(\"stroke-width\",N+\"px\").call(h.stroke,h.rgb(B));if(g(V,b.arrowhead,\"end\",b.arrowsize,b.standoff),t._context.editable&&V.node().parentNode){var H=i,q=l;if(b.standoff){var G=Math.sqrt(Math.pow(i-c,2)+Math.pow(l-d,2));H+=b.standoff*(c-i)/G,q+=b.standoff*(d-l)/G}var Y,X,W,Z=U.append(\"path\").classed(\"annotation\",!0).classed(\"anndrag\",!0).attr({\"data-index\":String(e),d:\"M3,3H-3V-3H3ZM0,0L\"+(c-H)+\",\"+(d-q),transform:\"translate(\"+H+\",\"+q+\")\"}).style(\"stroke-width\",N+6+\"px\").call(h.stroke,\"rgba(0,0,0,0)\").call(h.fill,\"rgba(0,0,0,0)\");m.init({element:Z.node(),prepFn:function(){var t=f.getTranslate(T);X=t.x,W=t.y,Y={},x&&x.autorange&&(Y[x._name+\".autorange\"]=!0),_&&_.autorange&&(Y[_._name+\".autorange\"]=!0)},moveFn:function(t,e){var r=S(X,W),n=r[0]+t,a=r[1]+e;T.call(f.setTranslate,n,a),Y[F+\".x\"]=x?x.p2r(x.r2p(b.x)+t):(i+t-v.l)/v.w,Y[F+\".y\"]=_?_.p2r(_.r2p(b.y)+e):1-(l+e-v.t)/v.h,b.axref===b.xref&&(Y[F+\".ax\"]=x?x.p2r(x.r2p(b.ax)+t):(i+t-v.l)/v.w),b.ayref===b.yref&&(Y[F+\".ay\"]=_?_.p2r(_.r2p(b.ay)+e):1-(l+e-v.t)/v.h),U.attr(\"transform\",\"translate(\"+t+\",\"+e+\")\"),k.attr({transform:\"rotate(\"+M+\",\"+n+\",\"+a+\")\"})},doneFn:function(e){if(e){s.relayout(t,Y);var r=document.querySelector(\".js-notes-box-panel\");r&&r.redraw(r.selectedObj)}}})}}};if(b.showarrow&&j(0,0),t._context.editable){var N,B;m.init({element:T.node(),prepFn:function(){B=k.attr(\"transform\"),N={}},moveFn:function(t,e){var r=\"pointer\";if(b.showarrow)b.axref===b.xref?N[F+\".ax\"]=x.p2r(x.r2p(b.ax)+t):N[F+\".ax\"]=b.ax+t,b.ayref===b.yref?N[F+\".ay\"]=_.p2r(_.r2p(b.ay)+e):N[F+\".ay\"]=b.ay+e,j(t,e);else{if(x)N[F+\".x\"]=b.x+t/x._m;else{var n=b._xsize/v.w,i=b.x+b._xshift/v.w-n/2;N[F+\".x\"]=m.align(i+t/v.w,n,0,1,b.xanchor)}if(_)N[F+\".y\"]=b.y+e/_._m;else{var a=b._ysize/v.h,o=b.y-b._yshift/v.h-a/2;N[F+\".y\"]=m.align(o-e/v.h,a,0,1,b.yanchor)}x&&_||(r=m.getCursor(x?.5:N[F+\".x\"],_?.5:N[F+\".y\"],b.xanchor,b.yanchor))}k.attr({transform:\"translate(\"+t+\",\"+e+\")\"+B}),p(T,r)},doneFn:function(e){if(p(T),e){s.relayout(t,N);var r=document.querySelector(\".js-notes-box-panel\");r&&r.redraw(r.selectedObj)}}})}}var i=t.layout,l=t._fullLayout,v=t._fullLayout._size;l._infolayer.selectAll('.annotation[data-index=\"'+e+'\"]').remove();var y=(i.annotations||[])[e],b=l.annotations[e];if(y&&b.visible!==!1){var x=c.getFromId(t,b.xref),_=c.getFromId(t,b.yref),w={x:{},y:{}},M=+b.textangle||0,A=l._infolayer.append(\"g\").classed(\"annotation\",!0).attr(\"data-index\",String(e)).style(\"opacity\",b.opacity).on(\"click\",function(){t._dragging=!1,t.emit(\"plotly_clickannotation\",{index:e,annotation:y,fullAnnotation:b})}),k=A.append(\"g\").classed(\"annotation-text-g\",!0).attr(\"data-index\",String(e)),T=k.append(\"g\"),E=b.borderwidth,S=b.borderpad,L=E+S,C=T.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",E+\"px\").call(h.stroke,b.bordercolor).call(h.fill,b.bgcolor),D=b.font,I=T.append(\"text\").classed(\"annotation\",!0).attr(\"data-unformatted\",b.text).text(b.text);t._context.editable?I.call(d.makeEditable,T).call(r).on(\"edit\",function(n){b.text=n,this.attr({\"data-unformatted\":b.text}),this.call(r);var i={};i[\"annotations[\"+e+\"].text\"]=b.text,x&&x.autorange&&(i[x._name+\".autorange\"]=!0),_&&_.autorange&&(i[_._name+\".autorange\"]=!0),s.relayout(t,i)}):I.call(r)}}function a(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,h=n-e,f=a-e,d=s-a,p=l*d-c*h;if(0===p)return null;var m=(u*d-c*f)/p,g=(u*h-l*f)/p;return g<0||g>1||m<0||m>1?null:{x:t+l*m,y:e+h*m}}var o=t(\"d3\"),s=t(\"../../plotly\"),l=t(\"../../plots/plots\"),u=t(\"../../lib\"),c=t(\"../../plots/cartesian/axes\"),h=t(\"../color\"),f=t(\"../drawing\"),d=t(\"../../lib/svg_text_utils\"),p=t(\"../../lib/setcursor\"),m=t(\"../dragelement\"),g=t(\"./draw_arrow_head\");e.exports={draw:n,drawOne:i}},{\"../../lib\":681,\"../../lib/setcursor\":696,\"../../lib/svg_text_utils\":700,\"../../plotly\":715,\"../../plots/cartesian/axes\":720,\"../../plots/plots\":779,\"../color\":576,\"../dragelement\":597,\"../drawing\":599,\"./draw_arrow_head\":571,d3:104}],571:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"./arrow_paths\");e.exports=function(t,e,r,l,u){function c(){t.style(\"stroke-dasharray\",\"0px,100px\")}function h(r,i){d.path&&(e>5&&(i=0),n.select(f.parentElement).append(\"path\").attr({class:t.attr(\"class\"),d:d.path,transform:\"translate(\"+r.x+\",\"+r.y+\")rotate(\"+180*i/Math.PI+\")scale(\"+y+\")\"}).style({fill:b,opacity:x,\"stroke-width\":0}))}i(l)||(l=1);var f=t.node(),d=s[e||0];\"string\"==typeof r&&r||(r=\"end\");var p,m,g,v,y=(o.getPx(t,\"stroke-width\")||1)*l,b=t.style(\"stroke\")||a.defaultLine,x=t.style(\"stroke-opacity\")||1,_=r.indexOf(\"start\")>=0,w=r.indexOf(\"end\")>=0,M=d.backoff*y+u;if(\"line\"===f.nodeName){p={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},m={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var A=p.x-m.x,k=p.y-m.y;if(g=Math.atan2(k,A),v=g+Math.PI,M){if(M*M>A*A+k*k)return void c();var T=M*Math.cos(g),E=M*Math.sin(g);_&&(p.x-=T,p.y-=E,t.attr({x1:p.x,y1:p.y})),w&&(m.x+=T,m.y+=E,t.attr({x2:m.x,y2:m.y}))}}else if(\"path\"===f.nodeName){var S=f.getTotalLength(),L=\"\";if(S<M)return void c();if(_){var C=f.getPointAtLength(0),D=f.getPointAtLength(.1);g=Math.atan2(C.y-D.y,C.x-D.x),p=f.getPointAtLength(Math.min(M,S)),M&&(L=\"0px,\"+M+\"px,\")}if(w){var I=f.getPointAtLength(S),z=f.getPointAtLength(S-.1);if(v=Math.atan2(I.y-z.y,I.x-z.x),m=f.getPointAtLength(Math.max(0,S-M)),M){var P=L?2*M:M;L+=S-P+\"px,\"+S+\"px\"}}else L&&(L+=S+\"px\");L&&t.style(\"stroke-dasharray\",L)}_&&h(p,g),w&&h(m,v)}},{\"../color\":576,\"../drawing\":599,\"./arrow_paths\":564,d3:104,\"fast-isnumeric\":113}],572:[function(t,e,r){\"use strict\";var n=t(\"./draw\"),i=t(\"./click\");e.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(\"./convert_coords\")}},{\"./attributes\":565,\"./calc_autorange\":566,\"./click\":567,\"./convert_coords\":568,\"./defaults\":569,\"./draw\":570}],573:[function(t,e,r){\"use strict\";e.exports=t(\"world-calendars/dist/main\"),t(\"world-calendars/dist/plus\"),t(\"world-calendars/dist/calendars/chinese\"),t(\"world-calendars/dist/calendars/coptic\"),t(\"world-calendars/dist/calendars/discworld\"),t(\"world-calendars/dist/calendars/ethiopian\"),t(\"world-calendars/dist/calendars/hebrew\"),t(\"world-calendars/dist/calendars/islamic\"),t(\"world-calendars/dist/calendars/julian\"),t(\"world-calendars/dist/calendars/mayan\"),t(\"world-calendars/dist/calendars/nanakshahi\"),t(\"world-calendars/dist/calendars/nepali\"),t(\"world-calendars/dist/calendars/persian\"),t(\"world-calendars/dist/calendars/taiwan\"),t(\"world-calendars/dist/calendars/thai\"),t(\"world-calendars/dist/calendars/ummalqura\")},{\"world-calendars/dist/calendars/chinese\":545,\"world-calendars/dist/calendars/coptic\":546,\"world-calendars/dist/calendars/discworld\":547,\"world-calendars/dist/calendars/ethiopian\":548,\"world-calendars/dist/calendars/hebrew\":549,\"world-calendars/dist/calendars/islamic\":550,\"world-calendars/dist/calendars/julian\":551,\"world-calendars/dist/calendars/mayan\":552,\"world-calendars/dist/calendars/nanakshahi\":553,\"world-calendars/dist/calendars/nepali\":554,\"world-calendars/dist/calendars/persian\":555,\"world-calendars/dist/calendars/taiwan\":556,\"world-calendars/dist/calendars/thai\":557,\"world-calendars/dist/calendars/ummalqura\":558,\"world-calendars/dist/main\":559,\"world-calendars/dist/plus\":560}],574:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n,a,o,s,l,u=Math.floor((e+.05)/h)+c,f=i(r).fromJD(u),d=0;(d=t.indexOf(\"%\",d))!==-1;)n=t.charAt(d+1),\"0\"===n||\"-\"===n||\"_\"===n?(o=3,a=t.charAt(d+2),\"_\"===n&&(n=\"-\")):(a=n,n=\"0\",o=2),s=b[a],s?(l=s===y?y:f.formatDate(s[n]),t=t.substr(0,d)+l+t.substr(d+o),d+=l.length):d+=o;return t}function i(t){var e=x[t];return e?e:e=x[t]=s.instance(t)}function a(t){return l.extendFlat({},f,{description:t})}function o(t){return\"Sets the calendar system to use with `\"+t+\"` date data.\"}var s=t(\"./calendars\"),l=t(\"../../lib\"),u=t(\"../../constants/numerical\"),c=u.EPOCHJD,h=u.ONEDAY,f={valType:\"enumerated\",values:Object.keys(s.calendars),dflt:\"gregorian\"},d=function(t,e,r,n){var i={};return i[r]=f,l.coerce(t,e,i,r,n)},p=function(t,e,r,n){for(var i=0;i<r.length;i++)d(t,e,r[i]+\"calendar\",n.calendar)},m={chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},g={chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},v={chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},y=\"##\",b={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:y,w:y,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}},x={},_={xcalendar:a(o(\"x\"))},w=l.extendFlat({},_,{ycalendar:a(o(\"y\"))}),M=l.extendFlat({},w,{zcalendar:a(o(\"z\"))}),A=a([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:w,bar:w,heatmap:w,contour:w,histogram:w,histogram2d:w,histogram2dcontour:w,scatter3d:M,surface:M,mesh3d:M,scattergl:w,ohlc:_,candlestick:_},layout:{calendar:a([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \")),\"xaxis.calendar\":A,\"yaxis.calendar\":A,\"scene.xaxis.calendar\":A,\"scene.yaxis.calendar\":A,\"scene.zaxis.calendar\":A},transforms:{filter:{valuecalendar:a([\"Sets the calendar system to use for `value`, if it is a date.\"].join(\" \")),targetcalendar:a([\"Sets the calendar system to use for `target`, if it is an\",\"array of dates. If `target` is a string (eg *x*) we use the\",\"corresponding trace attribute (eg `xcalendar`) if it exists,\",\"even if `targetcalendar` is provided.\"].join(\" \"))}}},layoutAttributes:f,handleDefaults:d,handleTraceDefaults:p,CANONICAL_SUNDAY:g,CANONICAL_TICK:m,DFLTRANGE:v,getCal:i,worldCalFmt:n}},{\"../../constants/numerical\":663,\"../../lib\":681,\"./calendars\":573}],575:[function(t,e,r){\"use strict\";r.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],r.defaultLine=\"#444\",r.lightLine=\"#eee\",r.background=\"#fff\",r.borderLine=\"#BEC8D9\",r.lightFraction=1e3/11},{}],576:[function(t,e,r){\"use strict\";function n(t){if(a(t)||\"string\"!=typeof t)return t;var e=t.trim();if(\"rgb\"!==e.substr(0,3))return t;var r=e.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return t;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),i=\"a\"===e.charAt(3)&&4===n.length;if(!i&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return i?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}var i=t(\"tinycolor2\"),a=t(\"fast-isnumeric\"),o=e.exports={},s=t(\"./attributes\");o.defaults=s.defaults,o.defaultLine=s.defaultLine,o.lightLine=s.lightLine,o.background=s.background,o.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},o.rgb=function(t){return o.tinyRGB(i(t))},o.opacity=function(t){return t?i(t).getAlpha():0},o.addOpacity=function(t,e){var r=i(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},o.combine=function(t,e){var r=i(t).toRgb();if(1===r.a)return i(t).toRgbString();var n=i(e||o.background).toRgb(),a=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a};return i({r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a}).toRgbString()},o.contrast=function(t,e,r){var n=i(t);return(n.isLight()?n.darken(r):n.lighten(e)).toString()},o.stroke=function(t,e){var r=i(e);t.style({stroke:o.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},o.fill=function(t,e){var r=i(e);t.style({fill:o.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},o.clean=function(t){if(t&&\"object\"==typeof t){var e,r,i,a,s=Object.keys(t);for(e=0;e<s.length;e++)if(i=s[e],a=t[i],\"color\"===i.substr(i.length-5))if(Array.isArray(a))for(r=0;r<a.length;r++)a[r]=n(a[r]);else t[i]=n(a);else if(\"colorscale\"===i.substr(i.length-10)&&Array.isArray(a))for(r=0;r<a.length;r++)Array.isArray(a[r])&&(a[r][1]=n(a[r][1]));else if(Array.isArray(a)){var l=a[0];if(!Array.isArray(l)&&l&&\"object\"==typeof l)for(r=0;r<a.length;r++)o.clean(a[r])}else a&&\"object\"==typeof a&&o.clean(a)}}},{\"./attributes\":575,\"fast-isnumeric\":113,tinycolor2:512}],577:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/layout_attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../lib/extend\").extendFlat;e.exports={thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",dflt:1.02,min:-2,max:3},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\",dflt:.5,min:-2,max:3},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\"},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:\"\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{valType:\"string\",dflt:\"Click to enter colorscale title\"},titlefont:a({},i,{}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}}},{\"../../lib/extend\":673,\"../../plots/cartesian/layout_attributes\":729,\"../../plots/font_attributes\":740}],578:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/tick_value_defaults\"),a=t(\"../../plots/cartesian/tick_mark_defaults\"),o=t(\"../../plots/cartesian/tick_label_defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r){function l(t,e){return n.coerce(c,u,s,t,e)}var u=e.colorbar={},c=t.colorbar||{};l(\"thickness\",\"fraction\"===l(\"thicknessmode\")?30/(r.width-r.margin.l-r.margin.r):30),l(\"len\",\"fraction\"===l(\"lenmode\")?1:r.height-r.margin.t-r.margin.b),l(\"x\"),l(\"xanchor\"),l(\"xpad\"),l(\"y\"),l(\"yanchor\"),l(\"ypad\"),n.noneOrAll(c,u,[\"x\",\"y\"]),l(\"outlinecolor\"),l(\"outlinewidth\"),l(\"bordercolor\"),l(\"borderwidth\"),l(\"bgcolor\"),i(c,u,l,\"linear\"),o(c,u,l,\"linear\",{outerTicks:!1,font:r.font,noHover:!0}),a(c,u,l,\"linear\",{outerTicks:!1,font:r.font,noHover:!0}),l(\"title\"),n.coerceFont(l,\"titlefont\",r.font),l(\"titleside\")}},{\"../../lib\":681,\"../../plots/cartesian/tick_label_defaults\":735,\"../../plots/cartesian/tick_mark_defaults\":736,\"../../plots/cartesian/tick_value_defaults\":737,\"./attributes\":577}],579:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../plotly\"),o=t(\"../../plots/plots\"),s=t(\"../../registry\"),l=t(\"../../plots/cartesian/axes\"),u=t(\"../dragelement\"),c=t(\"../../lib\"),h=t(\"../../lib/extend\").extendFlat,f=t(\"../../lib/setcursor\"),d=t(\"../drawing\"),p=t(\"../color\"),m=t(\"../titles\"),g=t(\"../../plots/cartesian/axis_defaults\"),v=t(\"../../plots/cartesian/position_defaults\"),y=t(\"../../plots/cartesian/layout_attributes\"),b=t(\"./attributes\");e.exports=function(t,e){function r(){function b(t,e){return c.coerce(Q,$,y,t,e)}function w(){if([\"top\",\"bottom\"].indexOf(_.titleside)!==-1){var e=at.select(\".cbtitle\"),r=e.select(\"text\"),a=[-_.outlinewidth/2,_.outlinewidth/2],o=e.select(\".h\"+$._id+\"title-math-group\").node(),s=15.6;if(r.node()&&(s=1.3*parseInt(r.style(\"font-size\"),10)),o?(st=d.bBox(o).height)>s&&(a[1]-=(st-s)/2):r.node()&&!r.classed(\"js-placeholder\")&&(st=d.bBox(e.node()).height),st){if(st+=5,\"top\"===_.titleside)$.domain[1]-=st/T.h,a[1]*=-1;else{$.domain[0]+=st/T.h;var u=Math.max(1,r.selectAll(\"tspan.line\").size());a[1]+=(1-u)*s}e.attr(\"transform\",\"translate(\"+a+\")\"),$.setScale()}}at.selectAll(\".cbfills,.cblines,.cbaxis\").attr(\"transform\",\"translate(0,\"+Math.round(T.h*(1-$.domain[1]))+\")\");var h=at.select(\".cbfills\").selectAll(\"rect.cbfill\").data(C);h.enter().append(\"rect\").classed(\"cbfill\",!0).style(\"stroke\",\"none\"),h.exit().remove(),h.each(function(t,e){var r=[0===e?S[0]:(C[e]+C[e-1])/2,e===C.length-1?S[1]:(C[e]+C[e+1])/2].map($.c2p).map(Math.round);e!==C.length-1&&(r[1]+=r[1]>r[0]?1:-1);var a=I(t).replace(\"e-\",\"\"),o=i(a).toHexString();n.select(this).attr({x:X,width:Math.max(B,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var f=at.select(\".cblines\").selectAll(\"path.cbline\").data(_.line.color&&_.line.width?L:[]);return f.enter().append(\"path\").classed(\"cbline\",!0),f.exit().remove(),f.each(function(t){n.select(this).attr(\"d\",\"M\"+X+\",\"+(Math.round($.c2p(t))+_.line.width/2%1)+\"h\"+B).call(d.lineGroupStyle,_.line.width,D(t),_.line.dash)}),$._axislayer.selectAll(\"g.\"+$._id+\"tick,path\").remove(),$._pos=X+B+(_.outlinewidth||0)/2-(\"outside\"===_.ticks?1:0),$.side=\"right\",c.syncOrAsync([function(){return l.doTicks(t,$,!0)},function(){if([\"top\",\"bottom\"].indexOf(_.titleside)===-1){var e=$.titlefont.size,r=$._offset+$._length/2,i=T.l+($.position||0)*T.w+(\"right\"===$.side?10+e*($.showticklabels?1:.5):-10-e*($.showticklabels?.5:0));M(\"h\"+$._id+\"title\",{avoid:{selection:n.select(t).selectAll(\"g.\"+$._id+\"tick\"),side:_.titleside,offsetLeft:T.l,offsetTop:T.t,maxShift:k.width},attributes:{x:i,y:r,\"text-anchor\":\"middle\"},transform:{rotate:\"-90\",offset:0}})}}])}function M(e,r){var n,i=x();n=s.traceIs(i,\"markerColorscale\")?\"marker.colorbar.title\":\"colorbar.title\";var a={propContainer:$,propName:n,traceIndex:i.index,dfltName:\"colorscale\",containerGroup:at.select(\".cbtitle\")},o=\"h\"===e.charAt(0)?e.substr(1):\"h\"+e;at.selectAll(\".\"+o+\",.\"+o+\"-math-group\").remove(),m.draw(t,e,h(a,r||{}))}function A(){var r=B+_.outlinewidth/2+d.bBox($._axislayer.node()).width;if(F=ot.select(\"text\"),F.node()&&!F.classed(\"js-placeholder\")){var n,i=ot.select(\".h\"+$._id+\"title-math-group\").node();n=i&&[\"top\",\"bottom\"].indexOf(_.titleside)!==-1?d.bBox(i).width:d.bBox(ot.node()).right-X-T.l,r=Math.max(r,n)}var a=2*_.xpad+r+_.borderwidth+_.outlinewidth/2,s=J-K;at.select(\".cbbg\").attr({x:X-_.xpad-(_.borderwidth+_.outlinewidth)/2,y:K-G,width:Math.max(a,2),height:Math.max(s+2*G,2)}).call(p.fill,_.bgcolor).call(p.stroke,_.bordercolor).style({\"stroke-width\":_.borderwidth}),at.selectAll(\".cboutline\").attr({x:X,y:K+_.ypad+(\"top\"===_.titleside?st:0),width:Math.max(B,2),height:Math.max(s-2*_.ypad-st,2)}).call(p.stroke,_.outlinecolor).style({fill:\"None\",\"stroke-width\":_.outlinewidth});var l=({center:.5,right:1}[_.xanchor]||0)*a;at.attr(\"transform\",\"translate(\"+(T.l-l)+\",\"+T.t+\")\"),o.autoMargin(t,e,{x:_.x,y:_.y,l:a*({right:1,center:.5}[_.xanchor]||0),r:a*({left:1,center:.5}[_.xanchor]||0),t:s*({bottom:1,middle:.5}[_.yanchor]||0),b:s*({top:1,middle:.5}[_.yanchor]||0)})}var k=t._fullLayout,T=k._size;if(\"function\"!=typeof _.fillcolor&&\"function\"!=typeof _.line.color)return void k._infolayer.selectAll(\"g.\"+e).remove();var E,S=n.extent((\"function\"==typeof _.fillcolor?_.fillcolor:_.line.color).domain()),L=[],C=[],D=\"function\"==typeof _.line.color?_.line.color:function(){return _.line.color},I=\"function\"==typeof _.fillcolor?_.fillcolor:function(){return _.fillcolor},z=_.levels.end+_.levels.size/100,P=_.levels.size,O=1.001*S[0]-.001*S[1],R=1.001*S[1]-.001*S[0];for(E=_.levels.start;(E-z)*P<0;E+=P)E>O&&E<R&&L.push(E);if(\"function\"==typeof _.fillcolor)if(_.filllevels)for(z=_.filllevels.end+_.filllevels.size/100,P=_.filllevels.size,E=_.filllevels.start;(E-z)*P<0;E+=P)E>S[0]&&E<S[1]&&C.push(E);else C=L.map(function(t){return t-_.levels.size/2}),C.push(C[C.length-1]+_.levels.size);else _.fillcolor&&\"string\"==typeof _.fillcolor&&(C=[0]);_.levels.size<0&&(L.reverse(),C.reverse());var F,j=k.height-k.margin.t-k.margin.b,N=k.width-k.margin.l-k.margin.r,B=Math.round(_.thickness*(\"fraction\"===_.thicknessmode?N:1)),U=B/T.w,V=Math.round(_.len*(\"fraction\"===_.lenmode?j:1)),H=V/T.h,q=_.xpad/T.w,G=(_.borderwidth+_.outlinewidth)/2,Y=_.ypad/T.h,X=Math.round(_.x*T.w+_.xpad),W=_.x-U*({middle:.5,right:1}[_.xanchor]||0),Z=_.y+H*(({top:-.5,bottom:.5}[_.yanchor]||0)-.5),J=Math.round(T.h*(1-Z)),K=J-V,Q={type:\"linear\",range:S,tickmode:_.tickmode,nticks:_.nticks,tick0:_.tick0,dtick:_.dtick,tickvals:_.tickvals,ticktext:_.ticktext,ticks:_.ticks,ticklen:_.ticklen,tickwidth:_.tickwidth,tickcolor:_.tickcolor,showticklabels:_.showticklabels,tickfont:_.tickfont,tickangle:_.tickangle,tickformat:_.tickformat,exponentformat:_.exponentformat,separatethousands:_.separatethousands,showexponent:_.showexponent,showtickprefix:_.showtickprefix,tickprefix:_.tickprefix,showticksuffix:_.showticksuffix,ticksuffix:_.ticksuffix,title:_.title,titlefont:_.titlefont,anchor:\"free\",position:1},$={},tt={letter:\"y\",font:k.font,noHover:!0,calendar:k.calendar};if(g(Q,$,b,tt,k),v(Q,$,b,tt),$._id=\"y\"+e,$.position=_.x+q+U,r.axis=$,[\"top\",\"bottom\"].indexOf(_.titleside)!==-1&&($.titleside=_.titleside,$.titlex=_.x+q,\n$.titley=Z+(\"top\"===_.titleside?H-Y:Y)),_.line.color&&\"auto\"===_.tickmode){$.tickmode=\"linear\",$.tick0=_.levels.start;var et=_.levels.size,rt=c.constrain((J-K)/50,4,15)+1,nt=(S[1]-S[0])/((_.nticks||rt)*et);if(nt>1){var it=Math.pow(10,Math.floor(Math.log(nt)/Math.LN10));et*=it*c.roundUp(nt/it,[2,5,10]),(Math.abs(_.levels.start)/_.levels.size+1e-6)%1<2e-6&&($.tick0=0)}$.dtick=et}$.domain=[Z+Y,Z+H-Y],$.setScale();var at=k._infolayer.selectAll(\"g.\"+e).data([0]);at.enter().append(\"g\").classed(e,!0).each(function(){var t=n.select(this);t.append(\"rect\").classed(\"cbbg\",!0),t.append(\"g\").classed(\"cbfills\",!0),t.append(\"g\").classed(\"cblines\",!0),t.append(\"g\").classed(\"cbaxis\",!0).classed(\"crisp\",!0),t.append(\"g\").classed(\"cbtitleunshift\",!0).append(\"g\").classed(\"cbtitle\",!0),t.append(\"rect\").classed(\"cboutline\",!0),t.select(\".cbtitle\").datum(0)}),at.attr(\"transform\",\"translate(\"+Math.round(T.l)+\",\"+Math.round(T.t)+\")\");var ot=at.select(\".cbtitleunshift\").attr(\"transform\",\"translate(-\"+Math.round(T.l)+\",-\"+Math.round(T.t)+\")\");$._axislayer=at.select(\".cbaxis\");var st=0;if([\"top\",\"bottom\"].indexOf(_.titleside)!==-1){var lt,ut=T.l+(_.x+q)*T.w,ct=$.titlefont.size;lt=\"top\"===_.titleside?(1-(Z+H-Y))*T.h+T.t+3+.75*ct:(1-(Z+Y))*T.h+T.t-3-.25*ct,M($._id+\"title\",{attributes:{x:ut,y:lt,\"text-anchor\":\"start\"}})}var ht=c.syncOrAsync([o.previousPromises,w,o.previousPromises,A],t);if(ht&&ht.then&&(t._promises||[]).push(ht),t._context.editable){var ft,dt,pt;u.init({element:at.node(),prepFn:function(){ft=at.attr(\"transform\"),f(at)},moveFn:function(t,e){at.attr(\"transform\",ft+\" translate(\"+t+\",\"+e+\")\"),dt=u.align(W+t/T.w,U,0,1,_.xanchor),pt=u.align(Z-e/T.h,H,0,1,_.yanchor),f(at,u.getCursor(dt,pt,_.xanchor,_.yanchor))},doneFn:function(e){f(at),e&&void 0!==dt&&void 0!==pt&&a.restyle(t,{\"colorbar.x\":dt,\"colorbar.y\":pt},x().index)}})}return ht}function x(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if(n=t._fullData[r],n.uid===i)return n}var _={};return Object.keys(b).forEach(function(t){_[t]=null}),_.fillcolor=null,_.line={color:null,width:null,dash:null},_.levels={start:null,end:null,size:null},_.filllevels=null,Object.keys(_).forEach(function(t){r[t]=function(e){return arguments.length?(_[t]=c.isPlainObject(_[t])?c.extendFlat(_[t],e):e,r):_[t]}}),r.options=function(t){return Object.keys(t).forEach(function(e){\"function\"==typeof r[e]&&r[e](t[e])}),r},r._opts=_,r}},{\"../../lib\":681,\"../../lib/extend\":673,\"../../lib/setcursor\":696,\"../../plotly\":715,\"../../plots/cartesian/axes\":720,\"../../plots/cartesian/axis_defaults\":722,\"../../plots/cartesian/layout_attributes\":729,\"../../plots/cartesian/position_defaults\":732,\"../../plots/plots\":779,\"../../registry\":794,\"../color\":576,\"../dragelement\":597,\"../drawing\":599,\"../titles\":652,\"./attributes\":577,d3:104,tinycolor2:512}],580:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\"../../lib\":681}],581:[function(t,e,r){\"use strict\";e.exports={zauto:{valType:\"boolean\",dflt:!0},zmin:{valType:\"number\",dflt:null},zmax:{valType:\"number\",dflt:null},colorscale:{valType:\"colorscale\"},autocolorscale:{valType:\"boolean\",dflt:!0},reversescale:{valType:\"boolean\",dflt:!1},showscale:{valType:\"boolean\",dflt:!0}}},{}],582:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./scales\"),a=t(\"./flip_scale\");e.exports=function(t,e,r,o){var s,l;r?(s=n.nestedProperty(t,r).get(),l=n.nestedProperty(t._input,r).get()):(s=t,l=t._input);var u=o+\"auto\",c=o+\"min\",h=o+\"max\",f=s[u],d=s[c],p=s[h],m=s.colorscale;f===!1&&void 0!==d||(d=n.aggNums(Math.min,null,e)),f===!1&&void 0!==p||(p=n.aggNums(Math.max,null,e)),d===p&&(d-=.5,p+=.5),s[c]=d,s[h]=p,l[c]=d,l[h]=p,l[u]=f!==!1||void 0===d&&void 0===p,s.autocolorscale&&(m=d*p<0?i.RdBu:d>=0?i.Reds:i.Blues,l.colorscale=m,s.reversescale&&(m=a(m)),s.colorscale=m)}},{\"../../lib\":681,\"./flip_scale\":587,\"./scales\":594}],583:[function(t,e,r){\"use strict\";var n=t(\"./attributes\"),i=t(\"../../lib/extend\").extendDeep;t(\"./scales.js\");e.exports=function(t){return{color:{valType:\"color\",arrayOk:!0},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{}),cmax:i({},n.zmax,{}),cmin:i({},n.zmin,{}),autocolorscale:i({},n.autocolorscale,{}),reversescale:i({},n.reversescale,{})}}},{\"../../lib/extend\":673,\"./attributes\":581,\"./scales.js\":594}],584:[function(t,e,r){\"use strict\";var n=t(\"./scales\");e.exports=n.RdBu},{\"./scales\":594}],585:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../colorbar/has_colorbar\"),o=t(\"../colorbar/defaults\"),s=t(\"./is_valid_scale\"),l=t(\"./flip_scale\");e.exports=function(t,e,r,u,c){var h=c.prefix,f=c.cLetter,d=h.slice(0,h.length-1),p=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,g=p[f+\"min\"],v=p[f+\"max\"],y=p.colorscale;u(h+f+\"auto\",!(n(g)&&n(v)&&g<v)),u(h+f+\"min\"),u(h+f+\"max\");var b;void 0!==y&&(b=!s(y)),u(h+\"autocolorscale\",b);var x=u(h+\"colorscale\");if(u(h+\"reversescale\")&&(m.colorscale=l(x)),\"marker.line.\"!==h){var _;h&&(_=a(p)),u(h+\"showscale\",_)&&o(p,m,r)}}},{\"../../lib\":681,\"../colorbar/defaults\":578,\"../colorbar/has_colorbar\":580,\"./flip_scale\":587,\"./is_valid_scale\":591,\"fast-isnumeric\":113}],586:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],587:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],588:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./default_scale\"),a=t(\"./is_valid_scale_array\");e.exports=function(t,e){function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return e||(e=i),t?(\"string\"==typeof t&&(r(),\"string\"==typeof t&&r()),a(t)?t:e):e}},{\"./default_scale\":584,\"./is_valid_scale_array\":592,\"./scales\":594}],589:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"./is_valid_scale\");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(Array.isArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||r.showscale===!0||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{\"../../lib\":681,\"./is_valid_scale\":591,\"fast-isnumeric\":113}],590:[function(t,e,r){\"use strict\";r.scales=t(\"./scales\"),r.defaultScale=t(\"./default_scale\"),r.attributes=t(\"./attributes\"),r.handleDefaults=t(\"./defaults\"),r.calc=t(\"./calc\"),r.hasColorscale=t(\"./has_colorscale\"),r.isValidScale=t(\"./is_valid_scale\"),r.getScale=t(\"./get_scale\"),r.flipScale=t(\"./flip_scale\"),r.extractScale=t(\"./extract_scale\"),r.makeColorScaleFunc=t(\"./make_color_scale_func\")},{\"./attributes\":581,\"./calc\":582,\"./default_scale\":584,\"./defaults\":585,\"./extract_scale\":586,\"./flip_scale\":587,\"./get_scale\":588,\"./has_colorscale\":589,\"./is_valid_scale\":591,\"./make_color_scale_func\":593,\"./scales\":594}],591:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./is_valid_scale_array\");e.exports=function(t){return void 0!==n[t]||i(t)}},{\"./is_valid_scale_array\":592,\"./scales\":594}],592:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\");e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:512}],593:[function(t,e,r){\"use strict\";function n(t){return a({r:t[0],g:t[1],b:t[2],a:t[3]}).toRgbString()}var i=t(\"d3\"),a=t(\"tinycolor2\"),o=t(\"fast-isnumeric\"),s=t(\"../color\");e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,u=l.length,c=new Array(u),h=0;h<u;h++){var f=a(l[h]).toRgb();c[h]=[f.r,f.g,f.b,f.a]}var d,p=i.scale.linear().domain(r).range(c).clamp(!0),m=e.noNumericCheck,g=e.returnArray;return d=m&&g?p:m?function(t){return n(p(t))}:g?function(t){return o(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return o(t)?n(p(t)):a(t).isValid()?t:s.defaultLine},d.domain=p.domain,d.range=function(){return l},d}},{\"../color\":576,d3:104,\"fast-isnumeric\":113,tinycolor2:512}],594:[function(t,e,r){\"use strict\";e.exports={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]]}},{}],595:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\"left\"===i||\"bottom\"===i?a:\"center\"===i||\"middle\"===i?s:\"right\"===i||\"top\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],596:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];e.exports=function(t,e,r,a){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\"../../lib\":681}],597:[function(t,e,r){\"use strict\";function n(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function i(t){t._dragging=!1,t._replotPending&&a.plot(t)}var a=t(\"../../plotly\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/constants\"),l=t(\"../../constants/interactions\"),u=e.exports={};u.align=t(\"./align\"),u.getCursor=t(\"./cursor\");var c=t(\"./unhover\");u.unhover=c.wrapped,u.unhoverRaw=c.raw,u.init=function(t){function e(e){return t.element.onmousemove=m,g._dragged=!1,g._dragging=!0,c=e.clientX,h=e.clientY,p=e.target,f=(new Date).getTime(),f-g._mouseDownTime<y?v+=1:(v=1,g._mouseDownTime=f),t.prepFn&&t.prepFn(e,c,h),d=n(),d.onmousemove=r,d.onmouseup=a,d.onmouseout=a,d.style.cursor=window.getComputedStyle(t.element).cursor,o.pauseEvent(e)}function r(e){var r=e.clientX-c,n=e.clientY-h,i=t.minDrag||s.MINDRAG;return Math.abs(r)<i&&(r=0),Math.abs(n)<i&&(n=0),(r||n)&&(g._dragged=!0,u.unhover(g)),t.moveFn&&t.moveFn(r,n,g._dragged),o.pauseEvent(e)}function a(e){if(m=t.element.onmousemove,t.setCursor&&(t.element.onmousemove=t.setCursor),d.onmousemove=null,d.onmouseup=null,d.onmouseout=null,o.removeElement(d),!g._dragging)return void(g._dragged=!1);if(g._dragging=!1,(new Date).getTime()-g._mouseDownTime>y&&(v=Math.max(v-1,1)),t.doneFn&&t.doneFn(g._dragged,v,e),!g._dragged){var r=document.createEvent(\"MouseEvents\");r.initEvent(\"click\",!0,!0),p.dispatchEvent(r)}return i(g),g._dragged=!1,o.pauseEvent(e)}var c,h,f,d,p,m,g=o.getPlotDiv(t.element)||{},v=1,y=l.DBLCLICKDELAY;g._mouseDownTime||(g._mouseDownTime=0),m=t.element.onmousemove,t.setCursor&&(t.element.onmousemove=t.setCursor),t.element.onmousedown=e,t.element.style.pointerEvents=\"all\"},u.coverSlip=n},{\"../../constants/interactions\":662,\"../../lib\":681,\"../../plotly\":715,\"../../plots/cartesian/constants\":725,\"./align\":595,\"./cursor\":596,\"./unhover\":598}],598:[function(t,e,r){\"use strict\";var n=t(\"../../lib/events\"),i=e.exports={};i.wrapped=function(t,e,r){\"string\"==typeof t&&(t=document.getElementById(t)),t._hoverTimer&&(clearTimeout(t._hoverTimer),t._hoverTimer=void 0),i.raw(t,e,r)},i.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&n.triggerHandler(t,\"plotly_beforehover\",e)===!1||(r._hoverlayer.selectAll(\"g\").remove(),t._hoverdata=void 0,e.target&&i&&t.emit(\"plotly_unhover\",{points:i}))}},{\"../../lib/events\":672}],599:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a,o){if(s.traceIs(r,\"symbols\")){var u=p(r);e.attr(\"d\",function(t){var e;e=\"various\"===t.ms||\"various\"===a.size?3:d.isBubble(r)?u(t.ms):(a.size||6)/2,t.mrc=e;var n=m.symbolNumber(t.mx||a.symbol)||0,i=n%100;return t.om=n%200>=100,m.symbolFuncs[i](e)+(n>=200?y:\"\")}).style(\"opacity\",function(t){return(t.mo+1||a.opacity+1)-1})}var c,h,f;t.so?(f=o.outlierwidth,h=o.outliercolor,c=a.outliercolor):(f=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,h=\"mlc\"in t?t.mlcc=i(t.mlc):Array.isArray(o.color)?l.defaultLine:o.color,c=\"mc\"in t?t.mcc=n(t.mc):Array.isArray(a.color)?l.defaultLine:a.color||\"rgba(0,0,0,0)\"),t.om?e.call(l.stroke,c).style({\"stroke-width\":(f||1)+\"px\",fill:\"none\"}):(e.style(\"stroke-width\",f+\"px\").call(l.fill,c),f&&e.call(l.stroke,h))}function i(t,e,r,n){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],u=Math.pow(i*i+o*o,x/2),c=Math.pow(s*s+l*l,x/2),h=(c*c*i-u*u*s)*n,f=(c*c*o-u*u*l)*n,d=3*c*(u+c),p=3*u*(u+c);return[[a.round(e[0]+(d&&h/d),2),a.round(e[1]+(d&&f/d),2)],[a.round(e[0]-(p&&h/p),2),a.round(e[1]-(p&&f/p),2)]]}var a=t(\"d3\"),o=t(\"fast-isnumeric\"),s=t(\"../../registry\"),l=t(\"../color\"),u=t(\"../colorscale\"),c=t(\"../../lib\"),h=t(\"../../lib/svg_text_utils\"),f=t(\"../../constants/xmlns_namespaces\"),d=t(\"../../traces/scatter/subtypes\"),p=t(\"../../traces/scatter/make_bubble_size_func\"),m=e.exports={};m.font=function(t,e,r,n){e&&e.family&&(n=e.color,r=e.size,e=e.family),e&&t.style(\"font-family\",e),r+1&&t.style(\"font-size\",r+\"px\"),n&&t.call(l.fill,n)},m.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},m.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},m.setRect=function(t,e,r,n,i){t.call(m.setPosition,e,r).call(m.setSize,n,i)},m.translatePoint=function(t,e,r,n){var i=t.xp||r.c2p(t.x),a=t.yp||n.c2p(t.y);o(i)&&o(a)&&e.node()?\"text\"===e.node().nodeName?e.attr(\"x\",i).attr(\"y\",a):e.attr(\"transform\",\"translate(\"+i+\",\"+a+\")\"):e.remove()},m.translatePoints=function(t,e,r,n){t.each(function(t){var i=a.select(this);m.translatePoint(t,i,e,r,n)})},m.getPx=function(t,e){return Number(t.style(e).replace(/px$/,\"\"))},m.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,i){e.style(\"fill\",\"none\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";l.stroke(e,n||a.color),m.dashLine(e,s,o)},m.lineGroupStyle=function(t,e,r,n){t.style(\"fill\",\"none\").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,s=n||i.dash||\"\";a.select(this).call(l.stroke,r||i.color).call(m.dashLine,s,o)})},m.dashLine=function(t,e,r){r=+r||0;var n=Math.max(r,3);\"solid\"===e?e=\"\":\"dot\"===e?e=n+\"px,\"+n+\"px\":\"dash\"===e?e=3*n+\"px,\"+3*n+\"px\":\"longdash\"===e?e=5*n+\"px,\"+5*n+\"px\":\"dashdot\"===e?e=3*n+\"px,\"+n+\"px,\"+n+\"px,\"+n+\"px\":\"longdashdot\"===e&&(e=5*n+\"px,\"+2*n+\"px,\"+n+\"px,\"+2*n+\"px\"),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},m.fillGroupStyle=function(t){t.style(\"stroke-width\",0).each(function(e){var r=a.select(this);try{r.call(l.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var g=t(\"./symbol_defs\");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolList=[],Object.keys(g).forEach(function(t){var e=g[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+\"-open\"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+\"-dot\",e.n+300,t+\"-open-dot\"])});var v=m.symbolNames.length,y=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";m.symbolNumber=function(t){if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),t=m.symbolNames.indexOf(t),t>=0&&(t+=e)}return t%100>=v||t>=400?0:Math.floor(Math.max(t,0))},m.singlePointStyle=function(t,e,r){var i=r.marker,a=i.line;n(t,e,r,m.tryColorscale(i,\"\"),m.tryColorscale(i,\"line\"),i,a)},m.pointStyle=function(t,e){if(t.size()){var r=e.marker,n=m.tryColorscale(r,\"\"),i=m.tryColorscale(r,\"line\");t.each(function(t){m.singlePointStyle(t,a.select(this),e,n,i)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&Array.isArray(i)?u.makeColorScaleFunc(u.extractScale(n,r.cmin,r.cmax)):c.identity};var b={start:1,end:-1,middle:0,bottom:1,top:-1};m.textPointStyle=function(t,e){t.each(function(t){var r=a.select(this),n=t.tx||e.text;if(!n||Array.isArray(n))return void r.remove();var i=t.tp||e.textposition,s=i.indexOf(\"top\")!==-1?\"top\":i.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\",l=i.indexOf(\"left\")!==-1?\"end\":i.indexOf(\"right\")!==-1?\"start\":\"middle\",u=t.ts||e.textfont.size,c=t.mrc?t.mrc/.8+1:0;u=o(u)&&u>0?u:0,r.call(m.font,t.tf||e.textfont.family,u,t.tc||e.textfont.color).attr(\"text-anchor\",l).text(n).call(h.convertToTspans);var f=a.select(this.parentNode),d=r.selectAll(\"tspan.line\"),p=1.3*((d[0].length||1)-1)+1,g=b[l]*c,v=.75*u+b[s]*c+(b[s]-1)*p*u/2;f.attr(\"transform\",\"translate(\"+g+\",\"+v+\")\"),p>1&&d.attr({x:r.attr(\"x\"),y:r.attr(\"y\")})})};var x=.5;m.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],a=[];for(r=1;r<t.length-1;r++)a.push(i(t[r-1],t[r],t[r+1],e));for(n+=\"Q\"+a[0][0]+\" \"+t[1],r=2;r<t.length-1;r++)n+=\"C\"+a[r-2][1]+\" \"+a[r-1][0]+\" \"+t[r];return n+=\"Q\"+a[t.length-3][1]+\" \"+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\")+\"Z\";var r,n=\"M\"+t[0],a=t.length-1,o=[i(t[a],t[0],t[1],e)];for(r=1;r<a;r++)o.push(i(t[r-1],t[r],t[r+1],e));for(o.push(i(t[a-1],t[a],t[0],e)),r=1;r<=a;r++)n+=\"C\"+o[r-1][1]+\" \"+o[r][0]+\" \"+t[r];return n+=\"C\"+o[a][1]+\" \"+o[0][0]+\" \"+t[0]+\"Z\"};var _={hv:function(t,e){return\"H\"+a.round(e[0],2)+\"V\"+a.round(e[1],2)},vh:function(t,e){return\"V\"+a.round(e[1],2)+\"H\"+a.round(e[0],2)},hvh:function(t,e){return\"H\"+a.round((t[0]+e[0])/2,2)+\"V\"+a.round(e[1],2)+\"H\"+a.round(e[0],2)},vhv:function(t,e){return\"V\"+a.round((t[1]+e[1])/2,2)+\"H\"+a.round(e[0],2)+\"V\"+a.round(e[1],2)}},w=function(t,e){return\"L\"+a.round(e[0],2)+\",\"+a.round(e[1],2)};m.steps=function(t){var e=_[t]||w;return function(t){for(var r=\"M\"+a.round(t[0][0],2)+\",\"+a.round(t[0][1],2),n=1;n<t.length;n++)r+=e(t[n-1],t[n]);return r}},m.makeTester=function(t){var e=a.select(\"body\").selectAll(\"#js-plotly-tester\").data([0]);e.enter().append(\"svg\").attr(\"id\",\"js-plotly-tester\").attr(f.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"});var r=e.selectAll(\".js-reference-point\").data([0]);r.enter().append(\"path\").classed(\"js-reference-point\",!0).attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"}),e.node()._cache||(e.node()._cache={}),t._tester=e,t._testref=r};var M=[];m.bBox=function(t){var e=t.attributes[\"data-bb\"];if(e&&e.value)return c.extendFlat({},M[e.value]);var r=a.select(\"#js-plotly-tester\"),n=r.node(),i=t.cloneNode(!0);n.appendChild(i),a.select(i).attr({x:0,y:0,transform:\"\"});var o=i.getBoundingClientRect(),s=r.select(\".js-reference-point\").node().getBoundingClientRect();n.removeChild(i);var l={height:o.height,width:o.width,left:o.left-s.left,top:o.top-s.top,right:o.right-s.left,bottom:o.bottom-s.top};return M.length>=1e4&&(a.selectAll(\"[data-bb]\").attr(\"data-bb\",null),M=[]),t.setAttribute(\"data-bb\",M.length),M.push(l),c.extendFlat({},l)},m.setClipUrl=function(t,e){if(!e)return void t.attr(\"clip-path\",null);var r=\"#\"+e,n=a.select(\"base\");n.size()&&n.attr(\"href\")&&(r=window.location.href.split(\"#\")[0]+r),t.attr(\"clip-path\",\"url(\"+r+\")\")},m.getTranslate=function(t){var e=t.attr?\"attr\":\"getAttribute\",r=t[e](\"transform\")||\"\",n=r.replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+n[0]||0,y:+n[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||0,r=r||0,a=a.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),a+=\" translate(\"+e+\", \"+r+\")\",a=a.trim(),t[i](\"transform\",a),a},m.getScale=function(t){var e=t.attr?\"attr\":\"getAttribute\",r=t[e](\"transform\")||\"\",n=r.replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+n[0]||1,y:+n[1]||1}},m.setScale=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||1,r=r||1,a=a.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),a+=\" scale(\"+e+\", \"+r+\")\",a=a.trim(),t[i](\"transform\",a),a},m.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?\"\":\" scale(\"+e+\",\"+r+\")\",a=/\\s*sc.*/,t.each(function(){n=(this.getAttribute(\"transform\")||\"\").replace(a,\"\"),n+=i,n=n.trim(),this.setAttribute(\"transform\",n)}),i}},{\"../../constants/xmlns_namespaces\":665,\"../../lib\":681,\"../../lib/svg_text_utils\":700,\"../../registry\":794,\"../../traces/scatter/make_bubble_size_func\":939,\"../../traces/scatter/subtypes\":944,\"../color\":576,\"../colorscale\":590,\"./symbol_defs\":600,d3:104,\"fast-isnumeric\":113}],600:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"}},square:{n:1,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"Z\"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H\"+e+\"V\"+r+\"H-\"+e+\"V\"+e+\"H-\"+r+\"V-\"+e+\"H-\"+e+\"V-\"+r+\"H\"+e+\"V-\"+e+\"H\"+r+\"Z\"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=\"l\"+e+\",\"+e,i=\"l\"+e+\",-\"+e,a=\"l-\"+e+\",-\"+e,o=\"l-\"+e+\",\"+e;return\"M0,\"+e+r+i+a+i+a+o+a+o+r+o+r+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",\"+n.round(t/2,2)+\"H\"+e+\"L0,-\"+n.round(t,2)+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",-\"+n.round(t/2,2)+\"H\"+e+\"L0,\"+n.round(t,2)+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L-\"+n.round(t,2)+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L\"+n.round(t,2)+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+r+\",-\"+e+\"H\"+e+\"V\"+r+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+e+\",-\"+r+\"V\"+e+\"H-\"+r+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H-\"+e+\"V-\"+r+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+e+\",\"+r+\"V-\"+e+\"H\"+r+\"Z\"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(t*-.309,2);return\"M\"+e+\",\"+a+\"L\"+r+\",\"+n.round(.809*t,2)+\"H-\"+r+\"L-\"+e+\",\"+a+\"L0,\"+i+\"Z\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M\"+i+\",-\"+r+\"V\"+r+\"L0,\"+e+\"L-\"+i+\",\"+r+\"V-\"+r+\"L0,-\"+e+\"Z\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M-\"+r+\",\"+i+\"H\"+r+\"L\"+e+\",0L\"+r+\",-\"+i+\"H-\"+r+\"L-\"+e+\",0Z\"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return\"M-\"+r+\",-\"+e+\"H\"+r+\"L\"+e+\",-\"+r+\"V\"+r+\"L\"+r+\",\"+e+\"H-\"+r+\"L-\"+e+\",\"+r+\"V-\"+r+\"Z\"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(e*-.309,2),u=n.round(.118*e,2),c=n.round(.809*e,2);return\"M\"+r+\",\"+l+\"H\"+i+\"L\"+a+\",\"+u+\"L\"+o+\",\"+c+\"L0,\"+n.round(.382*e,2)+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"L-\"+i+\",\"+l+\"H-\"+r+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return\"M-\"+i+\",0l-\"+r+\",-\"+e+\"h\"+i+\"l\"+r+\",-\"+e+\"l\"+r+\",\"+e+\"h\"+i+\"l-\"+r+\",\"+e+\"l\"+r+\",\"+e+\"h-\"+i+\"l-\"+r+\",\"+e+\"l-\"+r+\",-\"+e+\"h-\"+i+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M-\"+e+\",\"+r+o+e+\",\"+r+o+\"0,-\"+i+o+\"-\"+e+\",\"+r+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M\"+e+\",-\"+r+o+\"-\"+e+\",-\"+r+o+\"0,\"+i+o+e+\",-\"+r+\"Z\"}},\"star-square\":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",-\"+e+i+\"-\"+e+\",\"+e+i+e+\",\"+e+i+e+\",-\"+e+i+\"-\"+e+\",-\"+e+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",0\"+i+\"0,\"+e+i+e+\",0\"+i+\"0,-\"+e+i+\"-\"+e+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"L\"+e+\",-\"+e+\"H-\"+e+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"V-\"+e+\"L-\"+e+\",\"+e+\"V-\"+e+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM0,-\"+e+\"V\"+e+\"M-\"+e+\",0H\"+e},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM-\"+r+\",-\"+r+\"L\"+r+\",\"+r+\"M-\"+r+\",\"+r+\"L\"+r+\",-\"+r},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0},\"x-thin\":{n:34,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return\"M\"+e+\",\"+r+\"V-\"+r+\"m-\"+r+\",0V\"+r+\"M\"+r+\",\"+e+\"H-\"+r+\"m0,-\"+r+\"H\"+r},needLine:!0},\"y-up\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",\"+i+\"L0,0M\"+e+\",\"+i+\"L0,0M0,-\"+r+\"L0,0\"},needLine:!0,noDot:!0},\"y-down\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",-\"+i+\"L0,0M\"+e+\",-\"+i+\"L0,0M0,\"+r+\"L0,0\"},needLine:!0,noDot:!0},\"y-left\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M\"+i+\",\"+e+\"L0,0M\"+i+\",-\"+e+\"L0,0M-\"+r+\",0L0,0\"},needLine:!0,noDot:!0},\"y-right\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+i+\",\"+e+\"L0,0M-\"+i+\",-\"+e+\"L0,0M\"+r+\",0L0,0\"},needLine:!0,noDot:!0},\"line-ew\":{n:41,f:function(t){var e=n.round(1.4*t,2);return\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0},\"line-ns\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e},needLine:!0,noDot:!0},\"line-ne\":{n:43,f:function(t){var e=n.round(t,2);return\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0},\"line-nw\":{n:44,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e},needLine:!0,noDot:!0}}},{d3:104}],601:[function(t,e,r){\"use strict\";e.exports={visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"]},symmetric:{valType:\"boolean\"},array:{valType:\"data_array\"},arrayminus:{valType:\"data_array\"},value:{valType:\"number\",min:0,dflt:10},valueminus:{valType:\"number\",min:0,dflt:10},traceref:{valType:\"integer\",min:0,dflt:0},tracerefminus:{valType:\"integer\",min:0,dflt:0},copy_ystyle:{valType:\"boolean\"},copy_zstyle:{valType:\"boolean\"},color:{valType:\"color\"},thickness:{valType:\"number\",min:0,dflt:2},width:{valType:\"number\",min:0},_deprecated:{opacity:{valType:\"number\"}}}},{}],602:[function(t,e,r){\"use strict\";function n(t,e,r,n){var a=e[\"error_\"+n]||{},l=a.visible&&[\"linear\",\"log\"].indexOf(r.type)!==-1,u=[];if(l){for(var c=s(a),h=0;h<t.length;h++){var f=t[h],d=f[n];if(i(r.c2l(d))){var p=c(d,h);if(i(p[0])&&i(p[1])){var m=f[n+\"s\"]=d-p[0],g=f[n+\"h\"]=d+p[1];u.push(m,g)}}}o.expand(r,u,{padded:!0})}}var i=t(\"fast-isnumeric\"),a=t(\"../../registry\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"./compute_error\");e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var i=e[r],s=i[0].trace;if(a.traceIs(s,\"errorBarsOK\")){var l=o.getFromId(t,s.xaxis),u=o.getFromId(t,s.yaxis);n(i,s,l,\"x\"),n(i,s,u,\"y\")}}}},{\"../../plots/cartesian/axes\":720,\"../../registry\":794,\"./compute_error\":603,\"fast-isnumeric\":113}],603:[function(t,e,r){\"use strict\";function n(t,e){return\"percent\"===t?function(t){return Math.abs(t*e/100)}:\"constant\"===t?function(){return Math.abs(e)}:\"sqrt\"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(\"data\"===e){var i=t.array,a=t.arrayminus;return r||void 0===a?function(t,e){var r=+i[e];return[r,r]}:function(t,e){return[+a[e],+i[e]]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],604:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(t,e){\nreturn a.coerce(h,c,o,t,e)}var u=\"error_\"+s.axis,c=e[u]={},h=t[u]||{};if(l(\"visible\",void 0!==h.array||void 0!==h.value||\"sqrt\"===h.type)!==!1){var f=l(\"type\",\"array\"in h?\"data\":\"percent\"),d=!0;\"sqrt\"!==f&&(d=l(\"symmetric\",!((\"data\"===f?\"arrayminus\":\"valueminus\")in h))),\"data\"===f?(l(\"array\")||(c.array=[]),l(\"traceref\"),d||(l(\"arrayminus\")||(c.arrayminus=[]),l(\"tracerefminus\"))):\"percent\"!==f&&\"constant\"!==f||(l(\"value\"),d||l(\"valueminus\"));var p=\"copy_\"+s.inherit+\"style\";s.inherit&&(e[\"error_\"+s.inherit]||{}).visible&&l(p,!(h.color||n(h.thickness)||n(h.width))),s.inherit&&c[p]||(l(\"color\",r),l(\"thickness\"),l(\"width\",i.traceIs(e,\"gl3d\")?0:4))}}},{\"../../lib\":681,\"../../registry\":794,\"./attributes\":601,\"fast-isnumeric\":113}],605:[function(t,e,r){\"use strict\";var n=e.exports={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.calcFromTrace=function(t,e){for(var r=t.x||[],i=t.y,a=r.length||i.length,o=new Array(a),s=0;s<a;s++)o[s]={x:r[s],y:i[s]};return o[0].trace=t,n.calc({calcdata:[o],_fullLayout:e}),o},n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.hoverInfo=function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}},{\"./attributes\":601,\"./calc\":602,\"./defaults\":604,\"./plot\":606,\"./style\":607}],606:[function(t,e,r){\"use strict\";function n(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}var i=t(\"d3\"),a=t(\"fast-isnumeric\"),o=t(\"../../traces/scatter/subtypes\");e.exports=function(t,e,r){var s,l=e.xaxis,u=e.yaxis,c=r&&r.duration>0;t.each(function(t){var e,h=t[0].trace,f=h.error_x||{},d=h.error_y||{};h.ids&&(e=function(t){return t.id});var p=o.hasMarkers(h)&&h.marker.maxdisplayed>0;if(d.visible||f.visible){var m=i.select(this).selectAll(\"g.errorbar\").data(t,e);m.exit().remove(),m.style(\"opacity\",1);var g=m.enter().append(\"g\").classed(\"errorbar\",!0);c&&g.style(\"opacity\",0).transition().duration(r.duration).style(\"opacity\",1),m.each(function(t){var e=i.select(this),o=n(t,l,u);if(!p||t.vis){var h;if(d.visible&&a(o.x)&&a(o.yh)&&a(o.ys)){var m=d.width;h=\"M\"+(o.x-m)+\",\"+o.yh+\"h\"+2*m+\"m-\"+m+\",0V\"+o.ys,o.noYS||(h+=\"m-\"+m+\",0h\"+2*m);var g=e.select(\"path.yerror\");s=!g.size(),s?g=e.append(\"path\").classed(\"yerror\",!0):c&&(g=g.transition().duration(r.duration).ease(r.easing)),g.attr(\"d\",h)}if(f.visible&&a(o.y)&&a(o.xh)&&a(o.xs)){var v=(f.copy_ystyle?d:f).width;h=\"M\"+o.xh+\",\"+(o.y-v)+\"v\"+2*v+\"m0,-\"+v+\"H\"+o.xs,o.noXS||(h+=\"m0,-\"+v+\"v\"+2*v);var y=e.select(\"path.xerror\");s=!y.size(),s?y=e.append(\"path\").classed(\"xerror\",!0):c&&(y=y.transition().duration(r.duration).ease(r.easing)),y.attr(\"d\",h)}}})}})}},{\"../../traces/scatter/subtypes\":944,d3:104,\"fast-isnumeric\":113}],607:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../color\");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)})}},{\"../color\":576,d3:104}],608:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/constants\");e.exports={_isLinkedToArray:\"image\",visible:{valType:\"boolean\",dflt:!0},source:{valType:\"string\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\"},sizex:{valType:\"number\",dflt:0},sizey:{valType:\"number\",dflt:0},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},x:{valType:\"any\",dflt:0},y:{valType:\"any\",dflt:0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\"},xref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.x.toString()],dflt:\"paper\"},yref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.y.toString()],dflt:\"paper\"}}},{\"../../plots/cartesian/constants\":725}],609:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,a){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,u,c=t._fullLayout.images,h=e._id.charAt(0),f=0;f<c.length;f++)if(l=c[f],u=\"images[\"+f+\"].\",l[h+\"ref\"]===e._id){var d=l[h],p=l[\"size\"+h],m=null,g=null;if(o){m=i(d,e.range);var v=p/Math.pow(10,m)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else m=Math.pow(10,d),g=m*(Math.pow(10,p/2)-Math.pow(10,-p/2));n(m)?n(g)||(g=null):(m=null,g=null),a(u+h,m),a(u+\"size\"+h,g)}}},{\"../../lib/to_log_range\":701,\"fast-isnumeric\":113}],610:[function(t,e,r){\"use strict\";function n(t,e,r){function n(r,n){return i.coerce(t,e,s,r,n)}if(!n(\"visible\",!!n(\"source\")))return e;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var o={_fullLayout:r},l=[\"x\",\"y\"],u=0;u<2;u++){var c=l[u],h=a.coerceRef(t,e,o,c,\"paper\");a.coercePosition(e,o,n,h,c,0)}return e}var i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\");e.exports=function(t,e){o(t,e,{name:\"images\",handleItemDefaults:n})}},{\"../../lib\":681,\"../../plots/array_container_defaults\":717,\"../../plots/cartesian/axes\":720,\"./attributes\":608}],611:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../drawing\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/xmlns_namespaces\");e.exports=function(t){function e(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(\"xmlns\",o.svg);var i=new Promise(function(t){function n(){r.remove(),t()}var i=new Image;this.img=i,i.setAttribute(\"crossOrigin\",\"anonymous\"),i.onerror=n,i.onload=function(){var t=document.createElement(\"canvas\");t.width=this.width,t.height=this.height,t.getContext(\"2d\").drawImage(this,0,0);var e=t.toDataURL(\"image/png\");r.attr(\"xlink:href\",e)},r.on(\"error\",n),r.on(\"load\",t),i.src=e.source}.bind(this));t._promises.push(i)}}function r(e){var r=n.select(this),o=a.getFromId(t,e.xref),s=a.getFromId(t,e.yref),l=u._size,c=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*l.w,h=s?Math.abs(s.l2p(e.sizey)-s.l2p(0)):e.sizey*l.h,f=c*m.x[e.xanchor].offset,d=h*m.y[e.yanchor].offset,p=m.x[e.xanchor].sizing+m.y[e.yanchor].sizing,g=(o?o.r2p(e.x)+o._offset:e.x*l.w+l.l)+f,v=(s?s.r2p(e.y)+s._offset:l.h-e.y*l.h+l.t)+d;switch(e.sizing){case\"fill\":p+=\" slice\";break;case\"stretch\":p=\"none\"}r.attr({x:g,y:v,width:c,height:h,preserveAspectRatio:p,opacity:e.opacity});var y=o?o._id:\"\",b=s?s._id:\"\",x=y+b;r.call(i.setClipUrl,x?\"clip\"+u._uid+x:null)}var s,l,u=t._fullLayout,c=[],h={},f=[];for(l=0;l<u.images.length;l++){var d=u.images[l];if(d.visible)if(\"below\"===d.layer&&\"paper\"!==d.xref&&\"paper\"!==d.yref){s=d.xref+d.yref;var p=u._plots[s];if(!p){f.push(d);continue}p.mainplot&&(s=p.mainplot.id),h[s]||(h[s]=[]),h[s].push(d)}else\"above\"===d.layer?c.push(d):f.push(d)}var m={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-.5},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-.5},bottom:{sizing:\"YMax\",offset:-1}}},g=u._imageLowerLayer.selectAll(\"image\").data(f),v=u._imageUpperLayer.selectAll(\"image\").data(c);g.enter().append(\"image\"),v.enter().append(\"image\"),g.exit().remove(),v.exit().remove(),g.each(function(t){e.bind(this)(t),r.bind(this)(t)}),v.each(function(t){e.bind(this)(t),r.bind(this)(t)});var y=Object.keys(u._plots);for(l=0;l<y.length;l++){s=y[l];var b=u._plots[s];if(b.imagelayer){var x=b.imagelayer.selectAll(\"image\").data(h[s]||[]);x.enter().append(\"image\"),x.exit().remove(),x.each(function(t){e.bind(this)(t),r.bind(this)(t)})}}}},{\"../../constants/xmlns_namespaces\":665,\"../../plots/cartesian/axes\":720,\"../drawing\":599,d3:104}],612:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\"),convertCoords:t(\"./convert_coords\")}},{\"./attributes\":608,\"./convert_coords\":609,\"./defaults\":610,\"./draw\":611}],613:[function(t,e,r){\"use strict\";r.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],614:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat;e.exports={bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.defaultLine},borderwidth:{valType:\"number\",min:0,dflt:0},font:a({},n,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"]},tracegroupgap:{valType:\"number\",min:0,dflt:10},x:{valType:\"number\",min:-2,max:3,dflt:1.02},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\"}}},{\"../../lib/extend\":673,\"../../plots/font_attributes\":740,\"../color/attributes\":575}],615:[function(t,e,r){\"use strict\";e.exports={scrollBarWidth:4,scrollBarHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4}},{}],616:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./attributes\"),o=t(\"../../plots/layout_attributes\"),s=t(\"./helpers\");e.exports=function(t,e,r){function l(t,e){return i.coerce(d,p,a,t,e)}for(var u,c,h,f,d=t.legend||{},p=e.legend={},m=0,g=\"normal\",v=0;v<r.length;v++){var y=r[v];s.legendGetsTrace(y)&&(m++,n.traceIs(y,\"pie\")&&m++),(n.traceIs(y,\"bar\")&&\"stack\"===e.barmode||[\"tonextx\",\"tonexty\"].indexOf(y.fill)!==-1)&&(g=s.isGrouped({traceorder:g})?\"grouped+reversed\":\"reversed\"),void 0!==y.legendgroup&&\"\"!==y.legendgroup&&(g=s.isReversed({traceorder:g})?\"reversed+grouped\":\"grouped\")}if(i.coerce(t,e,o,\"showlegend\",m>1)!==!1){if(l(\"bgcolor\",e.paper_bgcolor),l(\"bordercolor\"),l(\"borderwidth\"),i.coerceFont(l,\"font\",e.font),l(\"orientation\"),\"h\"===p.orientation){var b=t.xaxis;b&&b.rangeslider&&b.rangeslider.visible?(u=0,h=\"left\",c=1.1,f=\"bottom\"):(u=0,h=\"left\",c=-.1,f=\"top\")}l(\"traceorder\",g),s.isGrouped(e.legend)&&l(\"tracegroupgap\"),l(\"x\",u),l(\"xanchor\",h),l(\"y\",c),l(\"yanchor\",f),i.noneOrAll(d,p,[\"x\",\"y\"])}}},{\"../../lib\":681,\"../../plots/layout_attributes\":770,\"../../registry\":794,\"./attributes\":614,\"./helpers\":619}],617:[function(t,e,r){\"use strict\";function n(t,e){function r(r){y.convertToTspans(r,function(){r.selectAll(\"tspan.line\").attr({x:r.attr(\"x\")}),t.call(o,e)})}var n=t.data()[0][0],i=e._fullLayout,a=n.trace,s=p.traceIs(a,\"pie\"),l=a.index,u=s?n.label:a.name,c=t.selectAll(\"text.legendtext\").data([0]);c.enter().append(\"text\").classed(\"legendtext\",!0),c.attr({x:40,y:0,\"data-unformatted\":u}).style(\"text-anchor\",\"start\").classed(\"user-select-none\",!0).call(g.font,i.legend.font).text(u),e._context.editable&&!s?c.call(y.makeEditable).call(r).on(\"edit\",function(t){this.attr({\"data-unformatted\":t}),this.text(t).call(r),this.text()||(t=\"    \");var i,a=n.trace._fullInput||{};if([\"ohlc\",\"candlestick\"].indexOf(a.type)!==-1){var o=n.trace.transforms;i=o[o.length-1].direction+\".name\"}else i=\"name\";h.restyle(e,i,t,l)}):c.call(r)}function i(t,e){var r,n=1,i=t.selectAll(\"rect\").data([0]);i.enter().append(\"rect\").classed(\"legendtoggle\",!0).style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\").call(v.fill,\"rgba(0,0,0,0)\"),i.on(\"mousedown\",function(){r=(new Date).getTime(),r-e._legendMouseDownTime<T?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(\"mouseup\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>T&&(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){a(t,e,n)},T):2===n&&(r._clickTimeout&&clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,a(t,e,n))}})}function a(t,e,r){if(!e._dragged&&!e._editing){var n,i,a=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],o=t.data()[0][0],s=e._fullData,l=o.trace,u=l.legendgroup,c=[];if(1===r&&k&&e.data&&e._context.showTips?(f.notifier(\"Double click on legend to isolate individual trace\",\"long\"),k=!1):k=!1,p.traceIs(l,\"pie\")){var d=o.label,m=a.indexOf(d);1===r?m===-1?a.push(d):a.splice(m,1):2===r&&(a=[],e.calcdata[0].forEach(function(t){d!==t.label&&a.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===a.length&&m===-1&&(a=[])),h.relayout(e,\"hiddenlabels\",a)}else{var g,v=[],y=[];for(g=0;g<s.length;g++)v.push(g),y.push(\"legendonly\");if(\"\"===u)c=[l.index],y[l.index]=!0;else for(g=0;g<s.length;g++)n=s[g],n.legendgroup===u&&(c.push(n.index),y[v.indexOf(g)]=!0);if(1===r)i=l.visible!==!0||\"legendonly\",h.restyle(e,\"visible\",i,c);else if(2===r){var b=!0;for(g=0;g<s.length;g++)if(s[g].visible!==y[g]){b=!1;break}b&&(y=!0),h.restyle(e,\"visible\",y,v)}}}}function o(t,e){var r,n,i=t.data()[0][0],a=t.select(\"g[class*=math-group]\"),o=e._fullLayout.legend,s=1.3*o.font.size;if(!i.trace.showlegend)return void t.remove();if(a.node()){var l=g.bBox(a.node());r=l.height,n=l.width,g.setTranslate(a,0,r/4)}else{var u=t.selectAll(\".legendtext\"),c=t.selectAll(\".legendtext>tspan\"),h=c[0].length||1;r=s*h,n=u.node()&&g.bBox(u.node()).width;var f=s*(.3+(1-h)/2);u.attr(\"y\",f),c.attr(\"y\",f)}r=Math.max(r,16)+3,i.height=r,i.width=n}function s(t,e,r){var n=t._fullLayout,i=n.legend,a=i.borderwidth,o=M.isGrouped(i);if(M.isVertical(i))o&&e.each(function(t,e){g.setTranslate(this,0,e*i.tracegroupgap)}),i.width=0,i.height=0,r.each(function(t){var e=t[0],r=e.height,n=e.width;g.setTranslate(this,a,5+a+i.height+r/2),i.height+=r,i.width=Math.max(i.width,n)}),i.width+=45+2*a,i.height+=10+2*a,o&&(i.height+=(i._lgroupsLength-1)*i.tracegroupgap),i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];c.select(this).select(\".legendtoggle\").call(g.setRect,0,-r.height/2,(t._context.editable?0:i.width)+40,r.height)});else if(o){i.width=0,i.height=0;for(var s=[i.width],l=e.data(),u=0,h=l.length;u<h;u++){var f=l[u].map(function(t){return t[0].width}),d=40+Math.max.apply(null,f);i.width+=i.tracegroupgap+d,s.push(i.width)}e.each(function(t,e){g.setTranslate(this,s[e],0)}),e.each(function(){var t=c.select(this),e=t.selectAll(\"g.traces\"),r=0;e.each(function(t){var e=t[0],n=e.height;g.setTranslate(this,0,5+a+r+n/2),r+=n}),i.height=Math.max(i.height,r)}),i.height+=10+2*a,i.width+=2*a,i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];c.select(this).select(\".legendtoggle\").call(g.setRect,0,-r.height/2,t._context.editable?0:i.width,r.height)})}else{i.width=0,i.height=0;var p=0,m=0,v=0,y=0;r.each(function(t){v=Math.max(40+t[0].width,v)}),r.each(function(t){var e=t[0],r=v,o=i.tracegroupgap||5;a+y+o+r>n.width-(n.margin.r+n.margin.l)&&(y=0,p+=m,i.height=i.height+m,m=0),g.setTranslate(this,a+y,5+a+e.height/2+p),i.width+=o+r,i.height=Math.max(i.height,e.height),y+=o+r,m=Math.max(e.height,m)}),i.width+=2*a,i.height+=10+2*a,i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];c.select(this).select(\".legendtoggle\").call(g.setRect,0,-r.height/2,t._context.editable?0:i.width,r.height)})}}function l(t){var e=t._fullLayout,r=e.legend,n=\"left\";A.isRightAnchor(r)?n=\"right\":A.isCenterAnchor(r)&&(n=\"center\");var i=\"top\";A.isBottomAnchor(r)?i=\"bottom\":A.isMiddleAnchor(r)&&(i=\"middle\"),d.autoMargin(t,\"legend\",{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[n]||0),r:r.width*({left:1,center:.5}[n]||0),b:r.height*({top:1,middle:.5}[i]||0),t:r.height*({bottom:1,middle:.5}[i]||0)})}function u(t){var e=t._fullLayout,r=e.legend,n=\"left\";A.isRightAnchor(r)?n=\"right\":A.isCenterAnchor(r)&&(n=\"center\"),d.autoMargin(t,\"legend\",{x:r.x,y:.5,l:r.width*({right:1,center:.5}[n]||0),r:r.width*({left:1,center:.5}[n]||0),b:0,t:0})}var c=t(\"d3\"),h=t(\"../../plotly\"),f=t(\"../../lib\"),d=t(\"../../plots/plots\"),p=t(\"../../registry\"),m=t(\"../dragelement\"),g=t(\"../drawing\"),v=t(\"../color\"),y=t(\"../../lib/svg_text_utils\"),b=t(\"./constants\"),x=t(\"../../constants/interactions\"),_=t(\"./get_legend_data\"),w=t(\"./style\"),M=t(\"./helpers\"),A=t(\"./anchor_utils\"),k=!0,T=x.DBLCLICKDELAY;e.exports=function(t){function e(t,e){L.attr(\"data-scroll\",e).call(g.setTranslate,0,e),C.call(g.setRect,N,t,b.scrollBarWidth,b.scrollBarHeight),E.select(\"rect\").attr({y:y.borderwidth-e})}var r=t._fullLayout,o=\"legend\"+r._uid;if(r._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var y=r.legend,x=r.showlegend&&_(t.calcdata,y),M=r.hiddenlabels||[];if(!r.showlegend||!x.length)return r._infolayer.selectAll(\".legend\").remove(),r._topdefs.select(\"#\"+o).remove(),void d.autoMargin(t,\"legend\");var k=r._infolayer.selectAll(\"g.legend\").data([0]);k.enter().append(\"g\").attr({class:\"legend\",\"pointer-events\":\"all\"});var E=r._topdefs.selectAll(\"#\"+o).data([0]);E.enter().append(\"clipPath\").attr(\"id\",o).append(\"rect\");var S=k.selectAll(\"rect.bg\").data([0]);S.enter().append(\"rect\").attr({class:\"bg\",\"shape-rendering\":\"crispEdges\"}),S.call(v.stroke,y.bordercolor),S.call(v.fill,y.bgcolor),S.style(\"stroke-width\",y.borderwidth+\"px\");var L=k.selectAll(\"g.scrollbox\").data([0]);L.enter().append(\"g\").attr(\"class\",\"scrollbox\");var C=k.selectAll(\"rect.scrollbar\").data([0]);C.enter().append(\"rect\").attr({class:\"scrollbar\",rx:20,ry:2,width:0,height:0}).call(v.fill,\"#808BA4\");var D=L.selectAll(\"g.groups\").data(x);D.enter().append(\"g\").attr(\"class\",\"groups\"),D.exit().remove();var I=D.selectAll(\"g.traces\").data(f.identity);I.enter().append(\"g\").attr(\"class\",\"traces\"),I.exit().remove(),I.call(w).style(\"opacity\",function(t){var e=t[0].trace;return p.traceIs(e,\"pie\")?M.indexOf(t[0].label)!==-1?.5:1:\"legendonly\"===e.visible?.5:1}).each(function(){c.select(this).call(n,t).call(i,t)});var z=0!==k.enter().size();z&&(s(t,D,I),l(t));var P=r.width,O=r.height;s(t,D,I),y.height>O?u(t):l(t);var R=r._size,F=R.l+R.w*y.x,j=R.t+R.h*(1-y.y);A.isRightAnchor(y)?F-=y.width:A.isCenterAnchor(y)&&(F-=y.width/2),A.isBottomAnchor(y)?j-=y.height:A.isMiddleAnchor(y)&&(j-=y.height/2);var N=y.width,B=R.w;N>B?(F=R.l,N=B):(F+N>P&&(F=P-N),F<0&&(F=0),N=Math.min(P-F,y.width));var U=y.height,V=R.h;U>V?(j=R.t,U=V):(j+U>O&&(j=O-U),j<0&&(j=0),U=Math.min(O-j,y.height)),g.setTranslate(k,F,j);var H,q,G=U-b.scrollBarHeight-2*b.scrollBarMargin,Y=y.height-U;if(y.height<=U||t._context.staticPlot)S.attr({width:N-y.borderwidth,height:U-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),g.setTranslate(L,0,0),E.select(\"rect\").attr({width:N-2*y.borderwidth,height:U-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth}),L.call(g.setClipUrl,o);else{H=b.scrollBarMargin,q=L.attr(\"data-scroll\")||0,S.attr({width:N-2*y.borderwidth+b.scrollBarWidth+b.scrollBarMargin,height:U-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),E.select(\"rect\").attr({width:N-2*y.borderwidth+b.scrollBarWidth+b.scrollBarMargin,height:U-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth-q}),L.call(g.setClipUrl,o),z&&e(H,q),k.on(\"wheel\",null),k.on(\"wheel\",function(){q=f.constrain(L.attr(\"data-scroll\")-c.event.deltaY/G*Y,-Y,0),H=b.scrollBarMargin-q/Y*G,e(H,q),c.event.preventDefault()}),C.on(\".drag\",null),L.on(\".drag\",null);var X=c.behavior.drag().on(\"drag\",function(){H=f.constrain(c.event.y-b.scrollBarHeight/2,b.scrollBarMargin,b.scrollBarMargin+G),q=-(H-b.scrollBarMargin)/G*Y,e(H,q)});C.call(X),L.call(X)}if(t._context.editable){var W,Z,J,K;k.classed(\"cursor-move\",!0),m.init({element:k.node(),prepFn:function(){var t=g.getTranslate(k);J=t.x,K=t.y},moveFn:function(t,e){var r=J+t,n=K+e;g.setTranslate(k,r,n),W=m.align(r,0,R.l,R.l+R.w,y.xanchor),Z=m.align(n,0,R.t+R.h,R.t,y.yanchor)},doneFn:function(e,n,i){if(e&&void 0!==W&&void 0!==Z)h.relayout(t,{\"legend.x\":W,\"legend.y\":Z});else{var o=r._infolayer.selectAll(\"g.traces\").filter(function(){var t=this.getBoundingClientRect();return i.clientX>=t.left&&i.clientX<=t.right&&i.clientY>=t.top&&i.clientY<=t.bottom});o.size()>0&&(1===n?k._clickTimeout=setTimeout(function(){a(o,t,n)},T):2===n&&(k._clickTimeout&&clearTimeout(k._clickTimeout),a(o,t,n)))}}})}}}},{\"../../constants/interactions\":662,\"../../lib\":681,\"../../lib/svg_text_utils\":700,\"../../plotly\":715,\"../../plots/plots\":779,\"../../registry\":794,\"../color\":576,\"../dragelement\":597,\"../drawing\":599,\"./anchor_utils\":613,\"./constants\":615,\"./get_legend_data\":618,\"./helpers\":619,\"./style\":621,d3:104}],618:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./helpers\");e.exports=function(t,e){function r(t,r){if(\"\"!==t&&i.isGrouped(e))l.indexOf(t)===-1?(l.push(t),u=!0,s[t]=[[r]]):s[t].push([r]);else{var n=\"~~i\"+h;l.push(n),s[n]=[[r]],h++}}var a,o,s={},l=[],u=!1,c={},h=0;for(a=0;a<t.length;a++){var f=t[a],d=f[0],p=d.trace,m=p.legendgroup;if(i.legendGetsTrace(p)&&p.showlegend)if(n.traceIs(p,\"pie\"))for(c[m]||(c[m]={}),o=0;o<f.length;o++){var g=f[o].label;c[m][g]||(r(m,{label:g,color:f[o].color,i:f[o].i,trace:p}),c[m][g]=!0)}else r(m,d)}if(!l.length)return[];var v,y,b=l.length;if(u&&i.isGrouped(e))for(y=new Array(b),a=0;a<b;a++)v=s[l[a]],y[a]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(b)],a=0;a<b;a++)v=s[l[a]][0],y[0][i.isReversed(e)?b-a-1:a]=v;b=1}return e._lgroupsLength=b,y}},{\"../../registry\":794,\"./helpers\":619}],619:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");r.legendGetsTrace=function(t){return t.visible&&n.traceIs(t,\"showLegend\")},r.isGrouped=function(t){return(t.traceorder||\"\").indexOf(\"grouped\")!==-1},r.isVertical=function(t){return\"h\"!==t.orientation},r.isReversed=function(t){return(t.traceorder||\"\").indexOf(\"reversed\")!==-1}},{\"../../registry\":794}],620:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\"),style:t(\"./style\")}},{\"./attributes\":614,\"./defaults\":616,\"./draw\":617,\"./style\":621}],621:[function(t,e,r){\"use strict\";function n(t){var e=t[0].trace,r=e.visible&&e.fill&&\"none\"!==e.fill,n=d.hasLines(e),i=l.select(this).select(\".legendfill\").selectAll(\"path\").data(r?[t]:[]);i.enter().append(\"path\").classed(\"js-fill\",!0),i.exit().remove(),i.attr(\"d\",\"M5,0h30v6h-30z\").call(h.fillGroupStyle);var a=l.select(this).select(\".legendlines\").selectAll(\"path\").data(n?[t]:[]);a.enter().append(\"path\").classed(\"js-line\",!0).attr(\"d\",\"M5,0h30\"),a.exit().remove(),a.call(h.lineGroupStyle)}function i(t){function e(t,e,r){var n=c.nestedProperty(o,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function r(t){return t[0]}var n,i,a=t[0],o=a.trace,s=d.hasMarkers(o),u=d.hasText(o),f=d.hasLines(o);if(s||u||f){var p={},m={};s&&(p.mc=e(\"marker.color\",r),p.mo=e(\"marker.opacity\",c.mean,[.2,1]),p.ms=e(\"marker.size\",c.mean,[2,16]),p.mlc=e(\"marker.line.color\",r),p.mlw=e(\"marker.line.width\",c.mean,[0,5]),m.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"}),f&&(m.line={width:e(\"line.width\",r,[0,10])}),u&&(p.tx=\"Aa\",p.tp=e(\"textposition\",r),p.ts=10,p.tc=e(\"textfont.color\",r),p.tf=e(\"textfont.family\",r)),n=[c.minExtend(a,p)],i=c.minExtend(o,m)}var g=l.select(this).select(\"g.legendpoints\"),v=g.selectAll(\"path.scatterpts\").data(s?n:[]);v.enter().append(\"path\").classed(\"scatterpts\",!0).attr(\"transform\",\"translate(20,0)\"),v.exit().remove(),v.call(h.pointStyle,i),s&&(n[0].mrc=3);var y=g.selectAll(\"g.pointtext\").data(u?n:[]);y.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",\"translate(20,0)\"),y.exit().remove(),y.selectAll(\"text\").call(h.textPointStyle,i)}function a(t){var e=t[0].trace,r=e.marker||{},n=r.line||{},i=l.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbar\").data(u.traceIs(e,\"bar\")?[t]:[]);i.enter().append(\"path\").classed(\"legendbar\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),i.exit().remove(),i.each(function(t){var e=l.select(this),i=t[0],a=(i.mlw+1||n.width+1)-1;e.style(\"stroke-width\",a+\"px\").call(f.fill,i.mc||r.color),a&&e.call(f.stroke,i.mlc||n.color)})}function o(t){var e=t[0].trace,r=l.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(u.traceIs(e,\"box\")&&e.visible?[t]:[]);r.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),r.exit().remove(),r.each(function(){var t=e.line.width,r=l.select(this);r.style(\"stroke-width\",t+\"px\").call(f.fill,e.fillcolor),t&&r.call(f.stroke,e.line.color)})}function s(t){var e=t[0].trace,r=l.select(this).select(\"g.legendpoints\").selectAll(\"path.legendpie\").data(u.traceIs(e,\"pie\")&&e.visible?[t]:[]);r.enter().append(\"path\").classed(\"legendpie\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),r.exit().remove(),r.size()&&r.call(p,t[0],e)}var l=t(\"d3\"),u=t(\"../../registry\"),c=t(\"../../lib\"),h=t(\"../drawing\"),f=t(\"../color\"),d=t(\"../../traces/scatter/subtypes\"),p=t(\"../../traces/pie/style_one\");e.exports=function(t){t.each(function(t){var e=l.select(this),r=e.selectAll(\"g.layers\").data([0]);r.enter().append(\"g\").classed(\"layers\",!0),r.style(\"opacity\",t[0].trace.opacity),r.selectAll(\"g.legendfill\").data([t]).enter().append(\"g\").classed(\"legendfill\",!0),r.selectAll(\"g.legendlines\").data([t]).enter().append(\"g\").classed(\"legendlines\",!0);var n=r.selectAll(\"g.legendsymbols\").data([t]);n.enter().append(\"g\").classed(\"legendsymbols\",!0),n.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(a).each(o).each(s).each(n).each(i)}},{\"../../lib\":681,\"../../registry\":794,\"../../traces/pie/style_one\":918,\"../../traces/scatter/subtypes\":944,\"../color\":576,\"../drawing\":599,d3:104}],622:[function(t,e,r){\"use strict\";function n(t,e){var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout,o={};if(\"zoom\"===n){for(var s,l,c=\"in\"===i?.5:2,f=(1+c)/2,d=(1-c)/2,p=h.list(t,null,!0),m=0;m<p.length;m++)if(s=p[m],!s.fixedrange)if(l=s._name,\"auto\"===i)o[l+\".autorange\"]=!0;else if(\"reset\"===i)if(void 0===s._rangeInitial)o[l+\".autorange\"]=!0;else{var g=s._rangeInitial.slice();o[l+\".range[0]\"]=g[0],o[l+\".range[1]\"]=g[1]}else{var v=[s.r2l(s.range[0]),s.r2l(s.range[1])],y=[f*v[0]+d*v[1],f*v[1]+d*v[0]];o[l+\".range[0]\"]=s.l2r(y[0]),o[l+\".range[1]\"]=s.l2r(y[1])}}else\"hovermode\"!==n||\"x\"!==i&&\"y\"!==i||(i=a._isHoriz?\"y\":\"x\",r.setAttribute(\"data-val\",i)),o[n]=i;u.relayout(t,o)}function i(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout,o=c.getSubplotIds(a,\"gl3d\"),s={},l=n.split(\".\"),h=0;h<o.length;h++)s[o[h]+\".\"+l[1]]=i;u.relayout(t,s)}function a(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=t._fullLayout,a=c.getSubplotIds(i,\"gl3d\"),o={},s=0;s<a.length;s++){var l=a[s],h=l+\".camera\",d=i[l]._scene;\"resetDefault\"===n?o[h]=null:\"resetLastSave\"===n&&(o[h]=f.extendDeep({},d.cameraInitial))}u.relayout(t,o)}function o(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=c.getSubplotIds(a,\"gl3d\"),s=[\"xaxis\",\"yaxis\",\"zaxis\"],l=[\"showspikes\",\"spikesides\",\"spikethickness\",\"spikecolor\"],h={},d={},p={};if(n)p=f.extendDeep(i,n),r._previousVal=null;else{p={\"allaxes.showspikes\":!1};for(var m=0;m<o.length;m++){var g=o[m],v=a[g],y=h[g]={};y.hovermode=v.hovermode,p[g+\".hovermode\"]=!1;for(var b=0;b<3;b++){var x=s[b];d=y[x]={};for(var _=0;_<l.length;_++){var w=l[_];d[w]=v[x][w]}}}r._previousVal=f.extendDeep({},h)}u.relayout(t,p)}function s(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout,o=c.getSubplotIds(a,\"geo\"),s=0;s<o.length;s++){var l=a[o[s]]._subplot;if(\"zoom\"===n){var u=l.projection.scale(),h=\"in\"===i?2*u:.5*u;l.projection.scale(h),l.zoom.scale(h),l.render()}else\"reset\"===n&&l.zoomReset()}}function l(t){var e,r=t._fullLayout;e=r._has(\"cartesian\")?r._isHoriz?\"y\":\"x\":\"closest\";var n=!t._fullLayout.hovermode&&e;u.relayout(t,\"hovermode\",n)}var u=t(\"../../plotly\"),c=t(\"../../plots/plots\"),h=t(\"../../plots/cartesian/axes\"),f=t(\"../../lib\"),d=t(\"../../snapshot/download\"),p=t(\"../../../build/ploticon\"),m=e.exports={};m.toImage={name:\"toImage\",title:\"Download plot as a png\",icon:p.camera,click:function(t){var e=\"png\";f.notifier(\"Taking snapshot - this may take a few seconds\",\"long\"),f.isIE()&&(f.notifier(\"IE only supports svg.  Changing format to svg.\",\"long\"),e=\"svg\"),d(t,{format:e}).then(function(t){f.notifier(\"Snapshot succeeded - \"+t,\"long\")}).catch(function(){f.notifier(\"Sorry there was a problem downloading your snapshot!\",\"long\")})}},m.sendDataToCloud={name:\"sendDataToCloud\",title:\"Save and edit plot in cloud\",icon:p.disk,click:function(t){c.sendDataToCloud(t)}},m.zoom2d={name:\"zoom2d\",title:\"Zoom\",attr:\"dragmode\",val:\"zoom\",icon:p.zoombox,click:n},m.pan2d={name:\"pan2d\",title:\"Pan\",attr:\"dragmode\",val:\"pan\",icon:p.pan,click:n},m.select2d={name:\"select2d\",title:\"Box Select\",attr:\"dragmode\",val:\"select\",icon:p.selectbox,click:n},m.lasso2d={name:\"lasso2d\",title:\"Lasso Select\",attr:\"dragmode\",val:\"lasso\",icon:p.lasso,click:n},m.zoomIn2d={name:\"zoomIn2d\",title:\"Zoom in\",attr:\"zoom\",val:\"in\",icon:p.zoom_plus,click:n},m.zoomOut2d={name:\"zoomOut2d\",title:\"Zoom out\",attr:\"zoom\",val:\"out\",icon:p.zoom_minus,click:n},m.autoScale2d={name:\"autoScale2d\",title:\"Autoscale\",attr:\"zoom\",val:\"auto\",icon:p.autoscale,click:n},m.resetScale2d={name:\"resetScale2d\",title:\"Reset axes\",attr:\"zoom\",val:\"reset\",icon:p.home,click:n},m.hoverClosestCartesian={name:\"hoverClosestCartesian\",title:\"Show closest data on hover\",attr:\"hovermode\",val:\"closest\",icon:p.tooltip_basic,gravity:\"ne\",click:n},m.hoverCompareCartesian={name:\"hoverCompareCartesian\",title:\"Compare data on hover\",attr:\"hovermode\",val:function(t){return t._fullLayout._isHoriz?\"y\":\"x\"},icon:p.tooltip_compare,gravity:\"ne\",click:n},m.zoom3d={name:\"zoom3d\",title:\"Zoom\",attr:\"scene.dragmode\",val:\"zoom\",icon:p.zoombox,click:i},m.pan3d={name:\"pan3d\",title:\"Pan\",attr:\"scene.dragmode\",val:\"pan\",icon:p.pan,click:i},m.orbitRotation={name:\"orbitRotation\",title:\"orbital rotation\",attr:\"scene.dragmode\",val:\"orbit\",icon:p[\"3d_rotate\"],click:i},m.tableRotation={name:\"tableRotation\",title:\"turntable rotation\",attr:\"scene.dragmode\",val:\"turntable\",icon:p[\"z-axis\"],click:i},m.resetCameraDefault3d={name:\"resetCameraDefault3d\",title:\"Reset camera to default\",attr:\"resetDefault\",icon:p.home,click:a},m.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",title:\"Reset camera to last save\",attr:\"resetLastSave\",icon:p.movie,click:a},m.hoverClosest3d={name:\"hoverClosest3d\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:null,toggle:!0,icon:p.tooltip_basic,gravity:\"ne\",click:o},m.zoomInGeo={name:\"zoomInGeo\",title:\"Zoom in\",attr:\"zoom\",val:\"in\",icon:p.zoom_plus,click:s},m.zoomOutGeo={name:\"zoomOutGeo\",title:\"Zoom out\",attr:\"zoom\",val:\"out\",icon:p.zoom_minus,click:s},m.resetGeo={name:\"resetGeo\",title:\"Reset\",attr:\"reset\",val:null,icon:p.autoscale,click:s},m.hoverClosestGeo={name:\"hoverClosestGeo\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:null,toggle:!0,icon:p.tooltip_basic,gravity:\"ne\",click:l},m.hoverClosestGl2d={name:\"hoverClosestGl2d\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:null,toggle:!0,icon:p.tooltip_basic,gravity:\"ne\",click:l},m.hoverClosestPie={name:\"hoverClosestPie\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:\"closest\",icon:p.tooltip_basic,gravity:\"ne\",click:l},m.toggleHover={name:\"toggleHover\",title:\"Toggle show closest data on hover\",attr:\"hovermode\",val:null,toggle:!0,icon:p.tooltip_basic,gravity:\"ne\",click:function(t,e){l(t),o(t,e)}},m.resetViews={name:\"resetViews\",title:\"Reset views\",icon:p.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),n(t,e),r.setAttribute(\"data-attr\",\"resetLastSave\"),a(t,e)}}},{\"../../../build/ploticon\":2,\"../../lib\":681,\"../../plotly\":715,\"../../plots/cartesian/axes\":720,\"../../plots/plots\":779,\"../../snapshot/download\":796}],\n623:[function(t,e,r){\"use strict\";r.manage=t(\"./manage\")},{\"./manage\":624}],624:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t){for(var r=[],n=0;n<t.length;n++){var i=t[n];e.indexOf(i)===-1&&r.push(h[i])}g.push(r)}var s=t._fullLayout,l=t._fullData,u=s._has(\"cartesian\"),c=s._has(\"gl3d\"),f=s._has(\"geo\"),d=s._has(\"pie\"),p=s._has(\"gl2d\"),m=s._has(\"ternary\"),g=[];if(n([\"toImage\",\"sendDataToCloud\"]),(u||p||d||m)+f+c>1)return n([\"resetViews\",\"toggleHover\"]),o(g,r);c&&(n([\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]),n([\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]),n([\"hoverClosest3d\"])),f&&(n([\"zoomInGeo\",\"zoomOutGeo\",\"resetGeo\"]),n([\"hoverClosestGeo\"]));var v=i(s),y=[];return((u||p)&&!v||m)&&(y=[\"zoom2d\",\"pan2d\"]),(u||m)&&a(l)&&(y.push(\"select2d\"),y.push(\"lasso2d\")),y.length&&n(y),!u&&!p||v||m||n([\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\",\"resetScale2d\"]),u&&d?n([\"toggleHover\"]):p?n([\"hoverClosestGl2d\"]):u?n([\"hoverClosestCartesian\",\"hoverCompareCartesian\"]):d&&n([\"hoverClosestPie\"]),o(g,r)}function i(t){for(var e=l.list({_fullLayout:t},null,!0),r=!0,n=0;n<e.length;n++)if(!e[n].fixedrange){r=!1;break}return r}function a(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(\"scatter\"===n.type||\"scatterternary\"===n.type?(u.hasMarkers(n)||u.hasText(n))&&(e=!0):e=!0)}return e}function o(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}function s(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\"string\"==typeof i){if(void 0===h[i])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));t[e][n]=h[i]}}return t}var l=t(\"../../plots/cartesian/axes\"),u=t(\"../../traces/scatter/subtypes\"),c=t(\"./modebar\"),h=t(\"./buttons\");e.exports=function(t){var e=t._fullLayout,r=t._context,i=e._modeBar;if(!r.displayModeBar)return void(i&&(i.destroy(),delete e._modeBar));if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var a,o=r.modeBarButtons;a=Array.isArray(o)&&o.length?s(o):n(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),i?i.update(t,a):e._modeBar=c(t,a)}},{\"../../plots/cartesian/axes\":720,\"../../traces/scatter/subtypes\":944,\"./buttons\":622,\"./modebar\":625}],625:[function(t,e,r){\"use strict\";function n(t){this.container=t.container,this.element=document.createElement(\"div\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}function i(t,e){var r=t._fullLayout,i=new n({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&a.select(i.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),i}var a=t(\"d3\"),o=t(\"../../lib\"),s=t(\"../../../build/ploticon\"),l=n.prototype;l.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\"hover\"===r.displayModeBar?this.element.className=\"modebar modebar--hover\":this.element.className=\"modebar\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},l.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(t){var r=e.createGroup();t.forEach(function(t){var n=t.name;if(!n)throw new Error(\"must provide button 'name' in button config\");if(e.buttonsNames.indexOf(n)!==-1)throw new Error(\"button name '\"+n+\"' is taken\");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},l.createGroup=function(){var t=document.createElement(\"div\");return t.className=\"modebar-group\",t},l.createButton=function(t){var e=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var n=t.title;void 0===n&&(n=t.name),(n||0===n)&&r.setAttribute(\"data-title\",n),void 0!==t.attr&&r.setAttribute(\"data-attr\",t.attr);var i=t.val;if(void 0!==i&&(\"function\"==typeof i&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i)),\"function\"!=typeof t.click)throw new Error(\"must provide button 'click' function in button config\");return r.addEventListener(\"click\",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(\"data-toggle\",t.toggle||!1),t.toggle&&a.select(r).classed(\"active\",!0),r.appendChild(this.createIcon(t.icon||s.question)),r.setAttribute(\"data-gravity\",t.gravity||\"n\"),r},l.createIcon=function(t){var e=t.ascent-t.descent,r=\"http://www.w3.org/2000/svg\",n=document.createElementNS(r,\"svg\"),i=document.createElementNS(r,\"path\");return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",t.width/e+\"em\"),n.setAttribute(\"viewBox\",[0,0,t.width,e].join(\" \")),i.setAttribute(\"d\",t.path),i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+t.ascent+\")\"),n.appendChild(i),n},l.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(t){var n=t.getAttribute(\"data-val\")||!0,i=t.getAttribute(\"data-attr\"),s=\"true\"===t.getAttribute(\"data-toggle\"),l=a.select(t);if(s)i===r&&l.classed(\"active\",!l.classed(\"active\"));else{var u=null===i?i:o.nestedProperty(e,i).get();l.classed(\"active\",u===n)}})},l.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},l.getLogo=function(){var t=this.createGroup(),e=document.createElement(\"a\");return e.href=\"https://plot.ly/\",e.target=\"_blank\",e.setAttribute(\"data-title\",\"Produced with Plotly\"),e.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",e.appendChild(this.createIcon(s.plotlylogo)),t.appendChild(e),t},l.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},l.destroy=function(){o.removeElement(this.container.querySelector(\".modebar\"))},e.exports=i},{\"../../../build/ploticon\":2,\"../../lib\":681,d3:104}],626:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"./button_attributes\");o=a(o,{_isLinkedToArray:\"button\"}),e.exports={visible:{valType:\"boolean\"},buttons:o,x:{valType:\"number\",min:-2,max:3},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\"},font:a({},n,{}),bgcolor:{valType:\"color\",dflt:i.lightLine},activecolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.defaultLine},borderwidth:{valType:\"number\",min:0,dflt:0}}},{\"../../lib/extend\":673,\"../../plots/font_attributes\":740,\"../color/attributes\":575,\"./button_attributes\":627}],627:[function(t,e,r){\"use strict\";e.exports={step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\"},count:{valType:\"number\",min:0,dflt:1},label:{valType:\"string\"}}},{}],628:[function(t,e,r){\"use strict\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],629:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t,e){return a.coerce(i,o,l,t,e)}for(var i,o,s=t.buttons||[],u=e.buttons=[],c=0;c<s.length;c++)if(i=s[c],o={},a.isPlainObject(i)){var h=n(\"step\");\"all\"!==h&&(!r||\"gregorian\"===r||\"month\"!==h&&\"year\"!==h?n(\"stepmode\"):o.stepmode=\"backward\",n(\"count\")),n(\"label\"),o._index=c,u.push(o)}return u}function i(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+u.yPad]}var a=t(\"../../lib\"),o=t(\"../color\"),s=t(\"./attributes\"),l=t(\"./button_attributes\"),u=t(\"./constants\");e.exports=function(t,e,r,l,c){function h(t,e){return a.coerce(f,d,s,t,e)}var f=t.rangeselector||{},d=e.rangeselector={};if(h(\"visible\",n(f,d,c).length>0)){var p=i(e,r,l);h(\"x\",p[0]),h(\"y\",p[1]),a.noneOrAll(t,e,[\"x\",\"y\"]),h(\"xanchor\"),h(\"yanchor\"),a.coerceFont(h,\"font\",r.font);var m=h(\"bgcolor\");h(\"activecolor\",o.contrast(m,u.lightAmount,u.darkAmount)),h(\"bordercolor\"),h(\"borderwidth\")}}},{\"../../lib\":681,\"../color\":576,\"./attributes\":626,\"./button_attributes\":627,\"./constants\":628}],630:[function(t,e,r){\"use strict\";function n(t){for(var e=v.list(t,\"x\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function i(t){return t._id}function a(t,e,r){if(\"all\"===e.step)return t.autorange===!0;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}function o(t,e,r){var n=t.selectAll(\"rect\").data([0]);n.enter().append(\"rect\").classed(\"selector-rect\",!0),n.attr(\"shape-rendering\",\"crispEdges\"),n.attr({rx:b.rx,ry:b.ry}),n.call(p.stroke,e.bordercolor).call(p.fill,s(e,r)).style(\"stroke-width\",e.borderwidth+\"px\")}function s(t,e){return e.isActive||e.isHovered?t.activecolor:t.bgcolor}function l(t,e,r){function n(t){g.convertToTspans(t)}var i=t.selectAll(\"text\").data([0]);i.enter().append(\"text\").classed(\"selector-text\",!0).classed(\"user-select-none\",!0),i.attr(\"text-anchor\",\"middle\"),i.call(m.font,e.font).text(u(r)).call(n)}function u(t){return t.label?t.label:\"all\"===t.step?\"all\":t.count+t.step.charAt(0)}function c(t,e,r,n){r.width=0,r.height=0;var i=r.borderwidth;e.each(function(){var t=h.select(this),e=t.select(\".selector-text\"),n=e.selectAll(\"tspan\"),i=1.3*r.font.size,a=n[0].length||1,o=Math.max(i*a,16)+3;r.height=Math.max(r.height,o)}),e.each(function(){var t=h.select(this),e=t.select(\".selector-rect\"),n=t.select(\".selector-text\"),a=n.selectAll(\"tspan\"),o=n.node()&&m.bBox(n.node()).width,s=1.3*r.font.size,l=a[0].length||1,u=Math.max(o+10,b.minButtonWidth);t.attr(\"transform\",\"translate(\"+(i+r.width)+\",\"+i+\")\"),e.attr({x:0,y:0,width:u,height:r.height});var c={x:u/2,y:r.height/2-(l-1)*s/2+3};n.attr(c),a.attr(c),r.width+=u+5}),e.selectAll(\"rect\").attr(\"height\",r.height);var a=t._fullLayout._size;r.lx=a.l+a.w*r.x,r.ly=a.t+a.h*(1-r.y);var o=\"left\";y.isRightAnchor(r)&&(r.lx-=r.width,o=\"right\"),y.isCenterAnchor(r)&&(r.lx-=r.width/2,o=\"center\");var s=\"top\";y.isBottomAnchor(r)&&(r.ly-=r.height,s=\"bottom\"),y.isMiddleAnchor(r)&&(r.ly-=r.height/2,s=\"middle\"),r.width=Math.ceil(r.width),r.height=Math.ceil(r.height),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),d.autoMargin(t,n+\"-range-selector\",{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[o]||0),r:r.width*({left:1,center:.5}[o]||0),b:r.height*({top:1,middle:.5}[s]||0),t:r.height*({bottom:1,middle:.5}[s]||0)})}var h=t(\"d3\"),f=t(\"../../plotly\"),d=t(\"../../plots/plots\"),p=t(\"../color\"),m=t(\"../drawing\"),g=t(\"../../lib/svg_text_utils\"),v=t(\"../../plots/cartesian/axis_ids\"),y=t(\"../legend/anchor_utils\"),b=t(\"./constants\"),x=t(\"./get_update_object\");e.exports=function(t){var e=t._fullLayout,r=e._infolayer.selectAll(\".rangeselector\").data(n(t),i);r.enter().append(\"g\").classed(\"rangeselector\",!0),r.exit().remove(),r.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),r.each(function(e){var r=h.select(this),n=e,i=n.rangeselector,s=r.selectAll(\"g.button\").data(i.buttons);s.enter().append(\"g\").classed(\"button\",!0),s.exit().remove(),s.each(function(e){var r=h.select(this),s=x(n,e);e.isActive=a(n,e,s),r.call(o,i,e),r.call(l,i,e),r.on(\"click\",function(){t._dragged||f.relayout(t,s)}),r.on(\"mouseover\",function(){e.isHovered=!0,r.call(o,i,e)}),r.on(\"mouseout\",function(){e.isHovered=!1,r.call(o,i,e)})}),c(t,s,i,n._name),r.attr(\"transform\",\"translate(\"+i.lx+\",\"+i.ly+\")\")})}},{\"../../lib/svg_text_utils\":700,\"../../plotly\":715,\"../../plots/cartesian/axis_ids\":723,\"../../plots/plots\":779,\"../color\":576,\"../drawing\":599,\"../legend/anchor_utils\":613,\"./constants\":628,\"./get_update_object\":631,d3:104}],631:[function(t,e,r){\"use strict\";function n(t,e){var r,n=t.range,a=new Date(t.r2l(n[1])),o=e.step,s=e.count;switch(e.stepmode){case\"backward\":r=t.l2r(+i.time[o].utc.offset(a,-s));break;case\"todate\":var l=i.time[o].utc.offset(a,-s);r=t.l2r(+i.time[o].utc.ceil(l))}return[r,n[1]]}var i=t(\"d3\");e.exports=function(t,e){var r=t._name,i={};if(\"all\"===e.step)i[r+\".autorange\"]=!0;else{var a=n(t,e);i[r+\".range[0]\"]=a[0],i[r+\".range[1]\"]=a[1]}return i}},{d3:104}],632:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeselector\",schema:{layout:{\"xaxis.rangeselector\":t(\"./attributes\")}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":626,\"./defaults\":629,\"./draw\":630}],633:[function(t,e,r){\"use strict\";var n=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",dflt:n.background},bordercolor:{valType:\"color\",dflt:n.defaultLine},borderwidth:{valType:\"integer\",dflt:0,min:0},autorange:{valType:\"boolean\",dflt:!0},range:{valType:\"info_array\",items:[{valType:\"any\"},{valType:\"any\"}]},thickness:{valType:\"number\",dflt:.15,min:0,max:1},visible:{valType:\"boolean\",dflt:!0}}},{\"../color/attributes\":575}],634:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"./constants\");e.exports=function(t){for(var e=n.list(t,\"x\",!0),r=0;r<e.length;r++){var a=e[r],o=a[i.name];o&&o.visible&&o.autorange&&a._min.length&&a._max.length&&(o._input.autorange=!0,o._input.range=o.range=n.getAutoRange(a))}}},{\"../../plots/cartesian/axes\":720,\"./constants\":635}],635:[function(t,e,r){\"use strict\";e.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskColor:\"rgba(0,0,0,0.4)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],636:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r){function a(t,e){return n.coerce(o,l,i,t,e)}if(t[r].rangeslider){n.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var o=t[r].rangeslider,s=e[r],l=s.rangeslider={};if(a(\"visible\")){if(a(\"bgcolor\",e.plot_bgcolor),a(\"bordercolor\"),a(\"borderwidth\"),a(\"thickness\"),a(\"autorange\",!s.isValidRange(o.range)),a(\"range\"),l.range){var u=l.range,c=s.range;u[0]=s.l2r(Math.min(s.r2l(u[0]),s.r2l(c[0]))),u[1]=s.l2r(Math.max(s.r2l(u[1]),s.r2l(c[1])))}s.cleanRange(\"rangeslider.range\"),l._input=o}}}},{\"../../lib\":681,\"./attributes\":633}],637:[function(t,e,r){\"use strict\";function n(t){var e=w.list({_fullLayout:t},\"x\",!0),r=k.name,n=[];if(t._has(\"gl2d\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}function i(t,e,r,n){var i=t.select(\"rect.\"+k.slideBoxClassName).node(),o=t.select(\"rect.\"+k.grabAreaMinClassName).node(),s=t.select(\"rect.\"+k.grabAreaMaxClassName).node();t.on(\"mousedown\",function(){function l(l){var u,c,y,b=+l.clientX-f;switch(h){case i:y=\"ew-resize\",u=p+b,c=g+b;break;case o:y=\"col-resize\",u=p+b,c=g;break;case s:y=\"col-resize\",u=p,c=g+b;break;default:y=\"ew-resize\",u=d,c=d+b}if(c<u){var x=c;c=u,u=x}n._pixelMin=u,n._pixelMax=c,A(m.select(v),y),a(t,e,r,n)}function u(){v.removeEventListener(\"mousemove\",l),v.removeEventListener(\"mouseup\",u),y.removeElement(v)}var c=m.event,h=c.target,f=c.clientX,d=f-t.node().getBoundingClientRect().left,p=n.d2p(r._rl[0]),g=n.d2p(r._rl[1]),v=M.coverSlip();v.addEventListener(\"mousemove\",l),v.addEventListener(\"mouseup\",u)})}function a(t,e,r,n){function i(t){return r.l2r(y.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){g.relayout(e,r._name+\".range\",[a,o])})}function o(t,e,r,n){function i(t){return y.constrain(t,0,n._width)}function a(t){return y.constrain(t,-o,n._width+o)}var o=k.handleWidth/2,s=i(n.d2p(r._rl[0])),l=i(n.d2p(r._rl[1]));t.select(\"rect.\"+k.slideBoxClassName).attr(\"x\",s).attr(\"width\",l-s),t.select(\"rect.\"+k.maskMinClassName).attr(\"width\",s),t.select(\"rect.\"+k.maskMaxClassName).attr(\"x\",l).attr(\"width\",n._width-l);var u=Math.round(a(s-o))-.5,c=Math.round(a(l-o))+.5;t.select(\"g.\"+k.grabberMinClassName).attr(\"transform\",\"translate(\"+u+\",0.5)\"),t.select(\"g.\"+k.grabberMaxClassName).attr(\"transform\",\"translate(\"+c+\",0.5)\")}function s(t,e,r,n){var i=t.selectAll(\"rect.\"+k.bgClassName).data([0]);i.enter().append(\"rect\").classed(k.bgClassName,!0).attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=b.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\"translate(\"+o+\",\"+o+\")\",fill:n.bgcolor,stroke:n.bordercolor,\"stroke-width\":s})}function l(t,e,r,n){var i=e._fullLayout,a=i._topdefs.selectAll(\"#\"+n._clipId).data([0]);a.enter().append(\"clipPath\").attr(\"id\",n._clipId).append(\"rect\").attr({x:0,y:0}),a.select(\"rect\").attr({width:n._width,height:n._height})}function u(t,e,r,n){var i=w.getSubplots(e,r),a=e.calcdata,o=t.selectAll(\"g.\"+k.rangePlotClassName).data(i,y.identity);o.enter().append(\"g\").attr(\"class\",function(t){return k.rangePlotClassName+\" \"+t}).call(b.setClipUrl,n._clipId),o.order(),o.exit().remove();var s;o.each(function(t,i){var o=m.select(this),l=0===i,u=w.getFromId(e,t,\"y\"),h=u._name,f={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}}};f.layout[h]={type:u.type,domain:[0,1],range:u.range.slice(),calendar:u.calendar},v.supplyDefaults(f);var d=f._fullLayout.xaxis,p=f._fullLayout[h],g={id:t,plotgroup:o,xaxis:d,yaxis:p};l?s=g:(g.mainplot=\"xy\",g.mainplotinfo=s),_.rangePlot(e,g,c(a,t))})}function c(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}function h(t,e,r,n){var i=t.selectAll(\"rect.\"+k.maskMinClassName).data([0]);i.enter().append(\"rect\").classed(k.maskMinClassName,!0).attr({x:0,y:0}).attr(\"shape-rendering\",\"crispEdges\"),i.attr(\"height\",n._height).call(x.fill,k.maskColor);var a=t.selectAll(\"rect.\"+k.maskMaxClassName).data([0]);a.enter().append(\"rect\").classed(k.maskMaxClassName,!0).attr(\"y\",0).attr(\"shape-rendering\",\"crispEdges\"),a.attr(\"height\",n._height).call(x.fill,k.maskColor)}function f(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(\"rect.\"+k.slideBoxClassName).data([0]);i.enter().append(\"rect\").classed(k.slideBoxClassName,!0).attr(\"y\",0).attr(\"cursor\",k.slideBoxCursor).attr(\"shape-rendering\",\"crispEdges\"),i.attr({height:n._height,fill:k.slideBoxFill})}}function d(t,e,r,n){var i=t.selectAll(\"g.\"+k.grabberMinClassName).data([0]);i.enter().append(\"g\").classed(k.grabberMinClassName,!0);var a=t.selectAll(\"g.\"+k.grabberMaxClassName).data([0]);a.enter().append(\"g\").classed(k.grabberMaxClassName,!0);var o={x:0,width:k.handleWidth,rx:k.handleRadius,fill:x.background,stroke:x.defaultLine,\"stroke-width\":k.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(\"rect.\"+k.handleMinClassName).data([0]);l.enter().append(\"rect\").classed(k.handleMinClassName,!0).attr(o),l.attr(s);var u=a.selectAll(\"rect.\"+k.handleMaxClassName).data([0]);if(u.enter().append(\"rect\").classed(k.handleMaxClassName,!0).attr(o),u.attr(s),!e._context.staticPlot){var c={width:k.grabAreaWidth,x:0,y:0,fill:k.grabAreaFill,cursor:k.grabAreaCursor},h=i.selectAll(\"rect.\"+k.grabAreaMinClassName).data([0]);h.enter().append(\"rect\").classed(k.grabAreaMinClassName,!0).attr(c),h.attr(\"height\",n._height);var f=a.selectAll(\"rect.\"+k.grabAreaMaxClassName).data([0]);f.enter().append(\"rect\").classed(k.grabAreaMaxClassName,!0).attr(c),f.attr(\"height\",n._height)}}function p(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];i.indexOf(k.name)!==-1&&v.autoMargin(t,i)}}var m=t(\"d3\"),g=t(\"../../plotly\"),v=t(\"../../plots/plots\"),y=t(\"../../lib\"),b=t(\"../drawing\"),x=t(\"../color\"),_=t(\"../../plots/cartesian\"),w=t(\"../../plots/cartesian/axes\"),M=t(\"../dragelement\"),A=t(\"../../lib/setcursor\"),k=t(\"./constants\");e.exports=function(t){function e(t){return t._name}var r=t._fullLayout,a=n(r),c=r._infolayer.selectAll(\"g.\"+k.containerClassName).data(a,e);c.enter().append(\"g\").classed(k.containerClassName,!0).attr(\"pointer-events\",\"all\"),c.exit().each(function(t){var e=m.select(this),n=t[k.name];e.remove(),r._topdefs.select(\"#\"+n._clipId).remove()}),c.exit().size()&&p(t),0!==a.length&&c.each(function(e){var n=m.select(this),a=e[k.name],c=r[w.id2name(e.anchor)],p=r.margin,g=r._size,y=e.domain,b=c.domain,x=(e._boundingBox||{}).height||0;a._id=k.name+e._id,a._clipId=a._id+\"-\"+r._uid,a._width=g.w*(y[1]-y[0]),a._height=(r.height-p.b-p.t)*a.thickness,a._offsetShift=Math.floor(a.borderwidth/2);var _=Math.round(p.l+g.w*y[0]),M=Math.round(p.t+g.h*(1-b[0])+x+a._offsetShift+k.extraPad);n.attr(\"transform\",\"translate(\"+_+\",\"+M+\")\");var A=e.r2l(a.range[0]),T=e.r2l(a.range[1]),E=T-A;a.p2d=function(t){return t/a._width*E+A},a.d2p=function(t){return(t-A)/E*a._width},a._rl=[A,T],n.call(s,t,e,a).call(l,t,e,a).call(u,t,e,a).call(h,t,e,a).call(f,t,e,a).call(d,t,e,a),i(n,t,e,a),o(n,t,e,a),v.autoMargin(t,a._id,{x:y[0],y:b[0],l:0,r:0,t:0,b:a._height+p.b+x,pad:k.extraPad+2*a._offsetShift})})}},{\"../../lib\":681,\"../../lib/setcursor\":696,\"../../plotly\":715,\"../../plots/cartesian\":728,\"../../plots/cartesian/axes\":720,\"../../plots/plots\":779,\"../color\":576,\"../dragelement\":597,\"../drawing\":599,\"./constants\":635,d3:104}],638:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeslider\",schema:{layout:{\"xaxis.rangeslider\":t(\"./attributes\")}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:t(\"./draw\")}},{\"./attributes\":633,\"./calc_autorange\":634,\"./defaults\":636,\"./draw\":637}],639:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../traces/scatter/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=i.line;e.exports={_isLinkedToArray:\"shape\",visible:{valType:\"boolean\",dflt:!0},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"]},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\"},xref:a({},n.xref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},yref:a({},n.yref,{}),y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},line:{color:o.color,width:o.width,dash:o.dash},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"}}},{\"../../lib/extend\":673,\"../../traces/scatter/attributes\":924,\"../annotations/attributes\":565}],640:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=\"category\"===t.type?Number:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var l,u,c,h,f,d=1/0,p=-(1/0),m=n.match(o.segmentRE);for(\"date\"===t.type&&(a=s.decodeDate(a)),l=0;l<m.length;l++)u=m[l],void 0!==(c=i[u.charAt(0)].drawn)&&(!(h=m[l].substr(1).match(o.paramRE))||h.length<c||(f=a(h[c]),f<d&&(d=f),f>p&&(p=f)));return p>=d?[d,p]:void 0}}var i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./constants\"),s=t(\"./helpers\");e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var s=0;s<r.length;s++){var l,u,c=r[s],h=c.line.width/2;\"paper\"!==c.xref&&(l=a.getFromId(t,c.xref),(u=n(l,c.x0,c.x1,c.path,o.paramIsX))&&a.expand(l,u,{ppad:h})),\"paper\"!==c.yref&&(l=a.getFromId(t,c.yref),(u=n(l,c.y0,c.y1,c.path,o.paramIsY))&&a.expand(l,u,{ppad:h}))}}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"./constants\":641,\"./helpers\":644}],641:[function(t,e,r){\"use strict\";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],642:[function(t,e,r){\"use strict\";var n=t(\"../../plots/array_container_defaults\"),i=t(\"./shape_defaults\");e.exports=function(t,e){n(t,e,{name:\"shapes\",handleItemDefaults:i})}},{\"../../plots/array_container_defaults\":717,\"./shape_defaults\":646}],643:[function(t,e,r){\"use strict\";function n(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(\"path\").remove(),e._shapeLowerLayer.selectAll(\"path\").remove(),e._shapeSubplotLayers.selectAll(\"path\").remove();for(var r=0;r<e.shapes.length;r++)e.shapes[r].visible&&i(t,r)}function i(t,e){function r(r){var n={\"data-index\":e,\"fill-rule\":\"evenodd\",d:o(t,i)},s=i.line.width?i.line.color:\"rgba(0,0,0,0)\",l=r.append(\"path\").attr(n).style(\"opacity\",i.opacity).call(f.stroke,s).call(f.fill,i.fillcolor).call(d.dashLine,i.line.dash,i.line.width),u=(i.xref+i.yref).replace(/paper/g,\"\");l.call(d.setClipUrl,u?\"clip\"+t._fullLayout._uid+u:null),t._context.editable&&a(t,l,i,e)}t._fullLayout._paper.selectAll('.shapelayer [data-index=\"'+e+'\"]').remove();var n=(t.layout.shapes||[])[e],i=t._fullLayout.shapes[e];if(n&&i.visible!==!1)if(\"below\"!==i.layer)r(t._fullLayout._shapeUpperLayer);else if(\"paper\"===i.xref||\"paper\"===i.yref)r(t._fullLayout._shapeLowerLayer);else{var s=t._fullLayout._plots[i.xref+i.yref];if(s){var l=s.mainplot||s;r(l.shapelayer)}else r(t._fullLayout._shapeLowerLayer)}}function a(t,e,r,n){function i(t){var r=Z.right-Z.left,n=Z.bottom-Z.top,i=t.clientX-Z.left,a=t.clientY-Z.top,o=r>Y&&n>X&&!t.shiftKey?p.getCursor(i/r,1-a/n):\"move\";m(e,o),G=o.split(\"-\")[0]}function a(e){N=h.getFromId(t,r.xref),B=h.getFromId(t,r.yref),U=v.getDataToPixel(t,N),V=v.getDataToPixel(t,B,!0),H=v.getPixelToData(t,N),q=v.getPixelToData(t,B,!0);var a=\"shapes[\"+n+\"]\";\"path\"===r.type?(F=r.path,j=a+\".path\"):(g=U(r.x0),y=V(r.y0),b=U(r.x1),x=V(r.y1),_=a+\".x0\",w=a+\".y0\",M=a+\".x1\",A=a+\".y1\"),g<b?(E=g,D=a+\".x0\",O=\"x0\",S=b,I=a+\".x1\",R=\"x1\"):(E=b,D=a+\".x1\",O=\"x1\",S=g,I=a+\".x0\",R=\"x0\"),y<x?(k=y,L=a+\".y0\",z=\"y0\",T=x,C=a+\".y1\",P=\"y1\"):(k=x,L=a+\".y1\",z=\"y1\",T=y,C=a+\".y0\",P=\"y0\"),d={},i(e),W.moveFn=\"move\"===G?c:f}function s(r){m(e),r&&u.relayout(t,d)}function c(n,i){if(\"path\"===r.type){var a=function(t){return H(U(t)+n)};N&&\"date\"===N.type&&(a=v.encodeDate(a));var s=function(t){return q(V(t)+i)};B&&\"date\"===B.type&&(s=v.encodeDate(s)),r.path=l(F,a,s),d[j]=r.path}else d[_]=r.x0=H(g+n),d[w]=r.y0=q(y+i),d[M]=r.x1=H(b+n),d[A]=r.y1=q(x+i);e.attr(\"d\",o(t,r))}function f(n,i){if(\"path\"===r.type){var a=function(t){return H(U(t)+n)};N&&\"date\"===N.type&&(a=v.encodeDate(a));var s=function(t){return q(V(t)+i)};B&&\"date\"===B.type&&(s=v.encodeDate(s)),r.path=l(F,a,s),d[j]=r.path}else{var u=~G.indexOf(\"n\")?k+i:k,c=~G.indexOf(\"s\")?T+i:T,h=~G.indexOf(\"w\")?E+n:E,f=~G.indexOf(\"e\")?S+n:S;c-u>X&&(d[L]=r[z]=q(u),d[C]=r[P]=q(c)),f-h>Y&&(d[D]=r[O]=H(h),d[I]=r[R]=H(f))}e.attr(\"d\",o(t,r))}var d,g,y,b,x,_,w,M,A,k,T,E,S,L,C,D,I,z,P,O,R,F,j,N,B,U,V,H,q,G,Y=10,X=10,W={setCursor:i,element:e.node(),prepFn:a,doneFn:s},Z=W.element.getBoundingClientRect();p.init(W)}function o(t,e){var r,n,i,a,o=e.type,l=h.getFromId(t,e.xref),u=h.getFromId(t,e.yref),c=t._fullLayout._size;if(l?(r=v.shapePositionToRange(l),n=function(t){return l._offset+l.r2p(r(t,!0))}):n=function(t){return c.l+c.w*t},u?(i=v.shapePositionToRange(u),a=function(t){return u._offset+u.r2p(i(t,!0))}):a=function(t){return c.t+c.h*(1-t)},\"path\"===o)return l&&\"date\"===l.type&&(n=v.decodeDate(n)),u&&\"date\"===u.type&&(a=v.decodeDate(a)),s(e.path,n,a);var f=n(e.x0),d=n(e.x1),p=a(e.y0),m=a(e.y1);if(\"line\"===o)return\"M\"+f+\",\"+p+\"L\"+d+\",\"+m;if(\"rect\"===o)return\"M\"+f+\",\"+p+\"H\"+d+\"V\"+m+\"H\"+f+\"Z\";var g=(f+d)/2,y=(p+m)/2,b=Math.abs(g-f),x=Math.abs(y-p),_=\"A\"+b+\",\"+x,w=g+b+\",\"+y;return\"M\"+w+_+\" 0 1,1 \"+g+\",\"+(y-x)+_+\" 0 0,1 \"+w+\"Z\"}function s(t,e,r){return t.replace(g.segmentRE,function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i],l=t.substr(1).replace(g.paramRE,function(t){return a[n]?t=e(t):o[n]&&(t=r(t)),n++,n>s&&(t=\"X\"),t});return n>s&&(l=l.replace(/[\\s,]*X.*/,\"\"),c.log(\"Ignoring extra params in segment \"+t)),i+l})}function l(t,e,r){return t.replace(g.segmentRE,function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}var u=t(\"../../plotly\"),c=t(\"../../lib\"),h=t(\"../../plots/cartesian/axes\"),f=t(\"../color\"),d=t(\"../drawing\"),p=t(\"../dragelement\"),m=t(\"../../lib/setcursor\"),g=t(\"./constants\"),v=t(\"./helpers\");e.exports={draw:n,drawOne:i}},{\"../../lib\":681,\"../../lib/setcursor\":696,\"../../plotly\":715,\"../../plots/cartesian/axes\":720,\"../color\":576,\"../dragelement\":597,\"../drawing\":599,\"./constants\":641,\"./helpers\":644}],644:[function(t,e,r){\"use strict\";r.rangeToShapePosition=function(t){return\"log\"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return\"log\"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace(\"_\",\" \")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(\" \",\"_\")}},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},\"date\"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],645:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne}},{\"./attributes\":639,\"./calc_autorange\":640,\"./defaults\":642,\"./draw\":643}],646:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./attributes\"),o=t(\"./helpers\");e.exports=function(t,e,r,s,l){function u(r,i){return n.coerce(t,e,a,r,i)}if(s=s||{},l=l||{},!u(\"visible\",!l.itemIsNotPlainObject))return e;u(\"layer\"),u(\"opacity\"),u(\"fillcolor\"),u(\"line.color\"),u(\"line.width\"),u(\"line.dash\");for(var c=t.path?\"path\":\"rect\",h=u(\"type\",c),f=[\"x\",\"y\"],d=0;d<2;d++){var p=f[d],m={_fullLayout:r},g=i.coerceRef(t,e,m,p,\"\",\"paper\");if(\"path\"!==h){var v,y,b;\"paper\"!==g?(v=i.getFromId(m,g),b=o.rangeToShapePosition(v),y=o.shapePositionToRange(v)):y=b=n.identity;var x=p+\"0\",_=p+\"1\",w=t[x],M=t[_];t[x]=y(t[x],!0),t[_]=y(t[_],!0),i.coercePosition(e,m,u,g,x,.25),i.coercePosition(e,m,u,g,_,.75),e[x]=b(e[x]),e[_]=b(e[_]),t[x]=w,t[_]=M}}return\"path\"===h?u(\"path\"):n.noneOrAll(t,e,[\"x0\",\"x1\",\"y0\",\"y1\"]),e}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"./attributes\":639,\"./helpers\":644}],647:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/pad_attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../lib/extend\").extendDeep,s=t(\"../../plots/animation_attributes\"),l=t(\"./constants\"),u={_isLinkedToArray:\"step\",method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"}};e.exports={_isLinkedToArray:\"slider\",visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:u,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,\nmax:3,dflt:0},pad:o({},i,{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:a({},n,{})},font:a({},n,{}),activebgcolor:{valType:\"color\",dflt:l.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:l.railBgColor},bordercolor:{valType:\"color\",dflt:l.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:l.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:l.tickLength},tickcolor:{valType:\"color\",dflt:l.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:l.minorTickLength}}},{\"../../lib/extend\":673,\"../../plots/animation_attributes\":716,\"../../plots/font_attributes\":740,\"../../plots/pad_attributes\":778,\"./constants\":648}],648:[function(t,e,r){\"use strict\";e.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,fontSizeToHeight:1.3,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],649:[function(t,e,r){\"use strict\";function n(t,e,r){function n(r,n){return a.coerce(t,e,s,r,n)}n(\"visible\",i(t,e).length>0)&&(n(\"active\"),n(\"x\"),n(\"y\"),a.noneOrAll(t,e,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"len\"),n(\"lenmode\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),a.coerceFont(n,\"font\",r.font),n(\"currentvalue.visible\")&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),a.coerceFont(n,\"currentvalue.font\",e.font)),n(\"transition.duration\"),n(\"transition.easing\"),n(\"bgcolor\"),n(\"activebgcolor\"),n(\"bordercolor\"),n(\"borderwidth\"),n(\"ticklen\"),n(\"tickwidth\"),n(\"tickcolor\"),n(\"minorticklen\"))}function i(t,e){function r(t,e){return a.coerce(n,i,c,t,e)}for(var n,i,o=t.steps||[],s=e.steps=[],l=0;l<o.length;l++)n=o[l],i={},a.isPlainObject(n)&&Array.isArray(n.args)&&(r(\"method\"),r(\"args\"),r(\"label\",\"step-\"+l),r(\"value\",i.label),s.push(i));return s}var a=t(\"../../lib\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=t(\"./constants\"),u=l.name,c=s.steps;e.exports=function(t,e){o(t,e,{name:u,handleItemDefaults:n})}},{\"../../lib\":681,\"../../plots/array_container_defaults\":717,\"./attributes\":647,\"./constants\":648}],650:[function(t,e,r){\"use strict\";function n(t){for(var e=t[S.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&i.steps.length&&r.push(i)}return r}function i(t){return t._index}function a(t,e){var r=t._tester.selectAll(\"g.\"+S.labelGroupClass).data(e.steps);r.enter().append(\"g\").classed(S.labelGroupClass,!0);var n=0,i=0;if(r.each(function(t){var r=w.select(this),a=u(r,{step:t},e),o=a.node()&&k.bBox(a.node()).width||0;i=a.node()&&k.bBox(a.node()).height||0,n=Math.max(n,o)}),r.remove(),e.inputAreaWidth=Math.max(S.railWidth,S.gripHeight),e.currentValueMaxWidth=0,e.currentValueHeight=0,e.currentValueTotalHeight=0,e.currentvalue.visible){var a=t._tester.append(\"g\");r.each(function(t){var r=s(a,e,t.label),n=r.node()&&k.bBox(r.node())||{width:0,height:0};e.currentValueMaxWidth=Math.max(e.currentValueMaxWidth,Math.ceil(n.width)),e.currentValueHeight=Math.max(e.currentValueHeight,Math.ceil(n.height))}),e.currentValueTotalHeight=e.currentValueHeight+e.currentvalue.offset,a.remove()}var o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y),\"fraction\"===e.lenmode?e.outerLength=Math.round(o.w*e.len):e.outerLength=e.len,e.lenPad=Math.round(.5*S.gripWidth),e.inputAreaStart=0,e.inputAreaLength=Math.round(e.outerLength-e.pad.l-e.pad.r);var l=e.inputAreaLength-2*S.stepInset,c=l/(e.steps.length-1),h=n+S.labelPadding;e.labelStride=Math.max(1,Math.ceil(h/c)),e.labelHeight=i,e.height=e.currentValueTotalHeight+S.tickOffset+e.ticklen+S.labelOffset+e.labelHeight+e.pad.t+e.pad.b;var f=\"left\";E.isRightAnchor(e)&&(e.lx-=e.outerLength,f=\"right\"),E.isCenterAnchor(e)&&(e.lx-=e.outerLength/2,f=\"center\");var d=\"top\";E.isBottomAnchor(e)&&(e.ly-=e.height,d=\"bottom\"),E.isMiddleAnchor(e)&&(e.ly-=e.height/2,d=\"middle\"),e.outerLength=Math.ceil(e.outerLength),e.height=Math.ceil(e.height),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),M.autoMargin(t,S.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:e.outerLength*({right:1,center:.5}[f]||0),r:e.outerLength*({left:1,center:.5}[f]||0),b:e.height*({top:1,middle:.5}[d]||0),t:e.height*({bottom:1,middle:.5}[d]||0)})}function o(t,e,r){r.active>=r.steps.length&&(r.active=0),e.call(s,r).call(x,r).call(c,r).call(p,r).call(b,t,r).call(l,t,r),k.setTranslate(e,r.lx+r.pad.l,r.ly+r.pad.t),e.call(g,r,r.active/(r.steps.length-1),!1),e.call(s,r)}function s(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(\"text\").data([0]);switch(e.currentvalue.xanchor){case\"right\":n=e.inputAreaLength-S.currentValueInset-e.currentValueMaxWidth,i=\"left\";break;case\"center\":n=.5*e.inputAreaLength,i=\"middle\";break;default:n=S.currentValueInset,i=\"left\"}a.enter().append(\"text\").classed(S.labelClass,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",i);var o=e.currentvalue.prefix?e.currentvalue.prefix:\"\";if(\"string\"==typeof r)o+=r;else{o+=e.steps[e.active].label}return e.currentvalue.suffix&&(o+=e.currentvalue.suffix),a.call(k.font,e.currentvalue.font).text(o).call(T.convertToTspans),k.setTranslate(a,n,e.currentValueHeight),a}}function l(t,e,r){var n=t.selectAll(\"rect.\"+S.gripRectClass).data([0]);n.enter().append(\"rect\").classed(S.gripRectClass,!0).call(d,e,t,r).style(\"pointer-events\",\"all\"),n.attr({width:S.gripWidth,height:S.gripHeight,rx:S.gripRadius,ry:S.gripRadius}).call(A.stroke,r.bordercolor).call(A.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function u(t,e,r){var n=t.selectAll(\"text\").data([0]);return n.enter().append(\"text\").classed(S.labelClass,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\"),n.call(k.font,r.font).text(e.step.label).call(T.convertToTspans),n}function c(t,e){var r=t.selectAll(\"g.\"+S.labelsClass).data([0]);r.enter().append(\"g\").classed(S.labelsClass,!0);var n=r.selectAll(\"g.\"+S.labelGroupClass).data(e.labelSteps);n.enter().append(\"g\").classed(S.labelGroupClass,!0),n.exit().remove(),n.each(function(t){var r=w.select(this);r.call(u,t,e),k.setTranslate(r,v(e,t.fraction),S.tickOffset+e.ticklen+e.labelHeight+S.labelOffset+e.currentValueTotalHeight)})}function h(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&f(t,e,r,a,!0,i)}function f(t,e,r,n,i,a){var o=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(g,r,r.active/(r.steps.length-1),a),e.call(s,r),t.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),l&&l.method&&i&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=i,e._nextMethod.doTransition=a):(e._nextMethod={step:l,doCallback:i,doTransition:a},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(M.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function d(t,e,r){function n(){return r.data()[0]}var i=r.node(),a=w.select(e);t.on(\"mousedown\",function(){var t=n();e.emit(\"plotly_sliderstart\",{slider:t});var o=r.select(\".\"+S.gripRectClass);w.event.stopPropagation(),w.event.preventDefault(),o.call(A.fill,t.activebgcolor),h(e,r,t,y(t,w.mouse(i)[0]),!0),t._dragging=!0,a.on(\"mousemove\",function(){var t=n();h(e,r,t,y(t,w.mouse(i)[0]),!1)}),a.on(\"mouseup\",function(){var t=n();t._dragging=!1,o.call(A.fill,t.bgcolor),a.on(\"mouseup\",null),a.on(\"mousemove\",null),e.emit(\"plotly_sliderend\",{slider:t,step:t.steps[t.active]})})})}function p(t,e){var r=t.selectAll(\"rect.\"+S.tickRectClass).data(e.steps);r.enter().append(\"rect\").classed(S.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(t,r){var n=r%e.labelStride==0,i=w.select(this);i.attr({height:n?e.ticklen:e.minorticklen}).call(A.fill,e.tickcolor),k.setTranslate(i,v(e,r/(e.steps.length-1))-.5*e.tickwidth,(n?S.tickOffset:S.minorTickOffset)+e.currentValueTotalHeight)})}function m(t){t.labelSteps=[];for(var e=t.steps.length,r=0;r<e;r+=t.labelStride)t.labelSteps.push({fraction:r/(e-1),step:t.steps[r]})}function g(t,e,r,n){var i=t.select(\"rect.\"+S.gripRectClass),a=v(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(\"transform\",\"translate(\"+(a-.5*S.gripWidth)+\",\"+e.currentValueTotalHeight+\")\")}}function v(t,e){return t.inputAreaStart+S.stepInset+(t.inputAreaLength-2*S.stepInset)*Math.min(1,Math.max(0,e))}function y(t,e){return Math.min(1,Math.max(0,(e-S.stepInset-t.inputAreaStart)/(t.inputAreaLength-2*S.stepInset-2*t.inputAreaStart)))}function b(t,e,r){var n=t.selectAll(\"rect.\"+S.railTouchRectClass).data([0]);n.enter().append(\"rect\").classed(S.railTouchRectClass,!0).call(d,e,t,r).style(\"pointer-events\",\"all\"),n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,S.tickOffset+r.ticklen+r.labelHeight)}).call(A.fill,r.bgcolor).attr(\"opacity\",0),k.setTranslate(n,0,r.currentValueTotalHeight)}function x(t,e){var r=t.selectAll(\"rect.\"+S.railRectClass).data([0]);r.enter().append(\"rect\").classed(S.railRectClass,!0);var n=e.inputAreaLength-2*S.railInset;r.attr({width:n,height:S.railWidth,rx:S.railRadius,ry:S.railRadius,\"shape-rendering\":\"crispEdges\"}).call(A.stroke,e.bordercolor).call(A.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),k.setTranslate(r,S.railInset,.5*(e.inputAreaWidth-S.railWidth)+e.currentValueTotalHeight)}function _(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];i.indexOf(S.autoMarginIdRoot)!==-1&&M.autoMargin(t,i)}}var w=t(\"d3\"),M=t(\"../../plots/plots\"),A=t(\"../color\"),k=t(\"../drawing\"),T=t(\"../../lib/svg_text_utils\"),E=t(\"../legend/anchor_utils\"),S=t(\"./constants\");e.exports=function(t){var e=t._fullLayout,r=n(e),s=e._infolayer.selectAll(\"g.\"+S.containerClassName).data(r.length>0?[0]:[]);if(s.enter().append(\"g\").classed(S.containerClassName,!0).style(\"cursor\",\"ew-resize\"),s.exit().remove(),s.exit().size()&&_(t),0!==r.length){var l=s.selectAll(\"g.\"+S.groupClassName).data(r,i);l.enter().append(\"g\").classed(S.groupClassName,!0),l.exit().each(function(e){w.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,M.autoMargin(t,S.autoMarginIdRoot+e._index)});for(var u=0;u<r.length;u++){a(t,r[u])}l.each(function(e){if(!(e.steps.length<2)){var r=w.select(this);m(e),M.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||f(t,r,n,e.index,!1,!0))}),o(t,w.select(this),e)}})}}},{\"../../lib/svg_text_utils\":700,\"../../plots/plots\":779,\"../color\":576,\"../drawing\":599,\"../legend/anchor_utils\":613,\"./constants\":648,d3:104}],651:[function(t,e,r){\"use strict\";var n=t(\"./constants\");e.exports={moduleType:\"component\",name:n.name,layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":647,\"./constants\":648,\"./defaults\":649,\"./draw\":650}],652:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plotly\"),o=t(\"../../plots/plots\"),s=t(\"../../lib\"),l=t(\"../drawing\"),u=t(\"../color\"),c=t(\"../../lib/svg_text_utils\"),h=t(\"../../constants/interactions\");(e.exports={}).draw=function(t,e,r){function f(t){s.syncOrAsync([d,p],t)}function d(e){return e.attr(\"transform\",_?\"rotate(\"+[_.rotate,x.x,x.y]+\") translate(0, \"+_.offset+\")\":null),e.style({\"font-family\":A,\"font-size\":n.round(k,2)+\"px\",fill:u.rgb(T),opacity:E*u.opacity(T),\"font-weight\":o.fontWeight}).attr(x).call(c.convertToTspans).attr(x),e.selectAll(\"tspan.line\").attr(x),o.previousPromises(t)}function p(t){var e=n.select(t.node().parentNode);if(b&&b.selection&&b.side&&L){e.attr(\"transform\",null);var r=0,a={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}[b.side],o=[\"left\",\"top\"].indexOf(b.side)!==-1?-1:1,u=i(b.pad)?b.pad:2,c=l.bBox(e.node()),h={left:0,top:0,right:M.width,bottom:M.height},f=b.maxShift||(h[b.side]-c[b.side])*(\"left\"===b.side||\"top\"===b.side?-1:1);if(f<0)r=f;else{var d=b.offsetLeft||0,p=b.offsetTop||0;c.left-=d,c.right-=d,c.top-=p,c.bottom-=p,b.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(c,t,u)&&(r=Math.max(r,o*(t[b.side]-c[a])+u))}),r=Math.min(f,r)}if(r>0||f<0){var m={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[b.side];e.attr(\"transform\",\"translate(\"+m+\")\")}}}var m=r.propContainer,g=r.propName,v=r.traceIndex,y=r.dfltName,b=r.avoid||{},x=r.attributes,_=r.transform,w=r.containerGroup,M=t._fullLayout,A=m.titlefont.family,k=m.titlefont.size,T=m.titlefont.color,E=1,S=!1,L=m.title.trim();\"\"===L&&(E=0),L.match(/Click to enter .+ title/)&&(E=.2,S=!0),w||(w=M._infolayer.selectAll(\".g-\"+e).data([0]),w.enter().append(\"g\").classed(\"g-\"+e,!0));var C=w.selectAll(\"text\").data([0]);C.enter().append(\"text\"),C.text(L).attr(\"class\",e),C.attr({\"data-unformatted\":L}).call(f);var D=\"Click to enter \"+y+\" title\";t._context.editable?(L?C.on(\".opacity\",null):function(){E=0,S=!0,L=D,C.attr({\"data-unformatted\":L}).text(L).on(\"mouseover.opacity\",function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style(\"opacity\",0)})}(),C.call(c.makeEditable).on(\"edit\",function(e){void 0!==v?a.restyle(t,g,e,v):a.relayout(t,g,e)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(f)}).on(\"input\",function(t){this.text(t||\" \").attr(x).selectAll(\"tspan.line\").attr(x)})):L&&!L.match(/Click to enter .+ title/)||C.remove(),C.classed(\"js-placeholder\",S)}},{\"../../constants/interactions\":662,\"../../lib\":681,\"../../lib/svg_text_utils\":700,\"../../plotly\":715,\"../../plots/plots\":779,\"../color\":576,\"../drawing\":599,d3:104,\"fast-isnumeric\":113}],653:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plots/pad_attributes\"),s={_isLinkedToArray:\"button\",method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"}};e.exports={_isLinkedToArray:\"updatemenu\",_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:s,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a({},o,{}),font:a({},n,{}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1}}},{\"../../lib/extend\":673,\"../../plots/font_attributes\":740,\"../../plots/pad_attributes\":778,\"../color/attributes\":575}],654:[function(t,e,r){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\"  \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,fontSizeToHeight:1.3,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\"}},{}],655:[function(t,e,r){\"use strict\";function n(t,e,r){function n(r,n){return a.coerce(t,e,s,r,n)}n(\"visible\",i(t,e).length>0)&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),a.noneOrAll(t,e,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),a.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}function i(t,e){function r(t,e){return a.coerce(n,i,c,t,e)}for(var n,i,o=t.buttons||[],s=e.buttons=[],l=0;l<o.length;l++)n=o[l],i={},a.isPlainObject(n)&&Array.isArray(n.args)&&(r(\"method\"),r(\"args\"),r(\"label\"),i._index=l,s.push(i));return s}var a=t(\"../../lib\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=t(\"./constants\"),u=l.name,c=s.buttons;e.exports=function(t,e){o(t,e,{name:u,handleItemDefaults:n})}},{\"../../lib\":681,\"../../plots/array_container_defaults\":717,\"./attributes\":653,\"./constants\":654}],656:[function(t,e,r){\"use strict\";function n(t){for(var e=t[S.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}function i(t){return t._index}function a(t){return+t.attr(S.menuIndexAttrName)==-1}function o(t,e){return+t.attr(S.menuIndexAttrName)===e._index}function s(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\"buttons\"===e.type?u(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(S.menuIndexAttrName,\"-1\"),l(t,n,i,a,e),s||u(t,n,i,a,e))}function l(t,e,r,n,i){var a=e.selectAll(\"g.\"+S.headerClassName).data([0]);a.enter().append(\"g\").classed(S.headerClassName,!0).style(\"pointer-events\",\"all\");var s=i.active,l=i.buttons[s]||S.blankHeaderOpts,c={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},h={width:i.headerWidth,height:i.headerHeight};a.call(f,i,l).call(b,i,c,h);var d=e.selectAll(\"text.\"+S.headerArrowClassName).data([0]);d.enter().append(\"text\").classed(S.headerArrowClassName,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",\"end\").call(k.font,i.font).text(\"\\u25bc\"),d.attr({x:i.headerWidth-S.arrowOffsetX+i.pad.l,y:i.headerHeight/2+S.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(x),r.attr(S.menuIndexAttrName,o(r,i)?-1:String(i._index)),u(t,e,r,n,i)}),a.on(\"mouseover\",function(){a.call(g)}),a.on(\"mouseout\",function(){a.call(v,i)}),k.setTranslate(e,i.lx,i.ly)}function u(t,e,r,n,i){r||(r=e,r.attr(\"pointer-events\",\"all\"));var o=a(r)&&\"buttons\"!==i.type?[]:i.buttons,l=\"dropdown\"===i.type?S.dropdownButtonClassName:S.buttonClassName,u=r.selectAll(\"g.\"+l).data(o),d=u.enter().append(\"g\").classed(l,!0),p=u.exit();\"dropdown\"===i.type?(d.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var y=0,x=0,_=[\"up\",\"down\"].indexOf(i.direction)!==-1;\"dropdown\"===i.type&&(_?x=i.headerHeight+S.gapButtonHeader:y=i.headerWidth+S.gapButtonHeader),\"dropdown\"===i.type&&\"up\"===i.direction&&(x=-S.gapButtonHeader+S.gapButton-i.openHeight),\"dropdown\"===i.type&&\"left\"===i.direction&&(y=-S.gapButtonHeader+S.gapButton-i.openWidth);var A={x:i.lx+y+i.pad.l,y:i.ly+x+i.pad.t,yPad:S.gapButton,xPad:S.gapButton,index:0},k={l:A.x+i.borderwidth,t:A.y+i.borderwidth};u.each(function(a,o){var l=w.select(this);l.call(f,i,a).call(b,i,A),l.on(\"click\",function(){w.event.defaultPrevented||(s(t,i,a,e,r,n,o),M.executeAPICommand(t,a.method,a.args),t.emit(\"plotly_buttonclicked\",{menu:i,button:a,active:i.active}))}),l.on(\"mouseover\",function(){l.call(g)}),l.on(\"mouseout\",function(){l.call(v,i),u.call(m,i)})}),u.call(m,i),_?(k.w=Math.max(i.openWidth,i.headerWidth),k.h=A.y-k.t):(k.w=A.x-k.l,k.h=Math.max(i.openHeight,i.headerHeight)),k.direction=i.direction,n&&(u.size()?c(t,e,r,n,i,k):h(n))}function c(t,e,r,n,i,a){var o,s,l,u=i.direction,c=\"up\"===u||\"down\"===u,h=i.active;if(c)for(s=0,l=0;l<h;l++)s+=i.heights[l]+S.gapButton;else for(o=0,l=0;l<h;l++)o+=i.widths[l]+S.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}function h(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){e=!1,r||t.disable()}),r&&t.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){r=!1,e||t.disable()})}function f(t,e,r){t.call(d,e).call(p,e,r)}function d(t,e){var r=t.selectAll(\"rect\").data([0]);r.enter().append(\"rect\").classed(S.itemRectClassName,!0).attr({rx:S.rx,ry:S.ry,\"shape-rendering\":\"crispEdges\"}),r.call(A.stroke,e.bordercolor).call(A.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\")}function p(t,e,r){var n=t.selectAll(\"text\").data([0]);n.enter().append(\"text\").classed(S.itemTextClassName,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",\"start\"),n.call(k.font,e.font).text(r.label).call(T.convertToTspans)}function m(t,e){var r=e.active;t.each(function(t,n){var i=w.select(this);n===r&&e.showactive&&i.select(\"rect.\"+S.itemRectClassName).call(A.fill,S.activeColor)})}function g(t){t.select(\"rect.\"+S.itemRectClassName).call(A.fill,S.hoverColor)}function v(t,e){t.select(\"rect.\"+S.itemRectClassName).call(A.fill,e.bgcolor)}function y(t,e){e.width1=0,e.height1=0,e.heights=[],e.widths=[],e.totalWidth=0,e.totalHeight=0,e.openWidth=0,e.openHeight=0,e.lx=0,e.ly=0;var r=t._tester.selectAll(\"g.\"+S.dropdownButtonClassName).data(e.buttons);r.enter().append(\"g\").classed(S.dropdownButtonClassName,!0);var n=[\"up\",\"down\"].indexOf(e.direction)!==-1;r.each(function(t,r){var i=w.select(this);i.call(f,e,t);var a=i.select(\".\"+S.itemTextClassName),o=a.selectAll(\"tspan\"),s=a.node()&&k.bBox(a.node()).width,l=Math.max(s+S.textPadX,S.minWidth),u=e.font.size*S.fontSizeToHeight,c=o[0].length||1,h=Math.max(u*c,S.minHeight)+S.textOffsetY;h=Math.ceil(h),l=Math.ceil(l),e.widths[r]=l,e.heights[r]=h,e.height1=Math.max(e.height1,h),e.width1=Math.max(e.width1,l),n?(e.totalWidth=Math.max(e.totalWidth,l),e.openWidth=e.totalWidth,e.totalHeight+=h+S.gapButton,e.openHeight+=h+S.gapButton):(e.totalWidth+=l+S.gapButton,e.openWidth+=l+S.gapButton,e.totalHeight=Math.max(e.totalHeight,h),e.openHeight=e.totalHeight)}),n?e.totalHeight-=S.gapButton:e.totalWidth-=S.gapButton,e.headerWidth=e.width1+S.arrowPadX,e.headerHeight=e.height1,\"dropdown\"===e.type&&(n?(e.width1+=S.arrowPadX,e.totalHeight=e.height1):e.totalWidth=e.width1,e.totalWidth+=S.arrowPadX),r.remove();var i=e.totalWidth+e.pad.l+e.pad.r,a=e.totalHeight+e.pad.t+e.pad.b,o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y);var s=\"left\";E.isRightAnchor(e)&&(e.lx-=i,s=\"right\"),E.isCenterAnchor(e)&&(e.lx-=i/2,s=\"center\");var l=\"top\";E.isBottomAnchor(e)&&(e.ly-=a,l=\"bottom\"),E.isMiddleAnchor(e)&&(e.ly-=a/2,l=\"middle\"),e.totalWidth=Math.ceil(e.totalWidth),e.totalHeight=Math.ceil(e.totalHeight),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),M.autoMargin(t,S.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:i*({right:1,center:.5}[s]||0),r:i*({left:1,center:.5}[s]||0),b:a*({top:1,middle:.5}[l]||0),t:a*({bottom:1,middle:.5}[l]||0)})}function b(t,e,r,n){n=n||{};var i=t.select(\".\"+S.itemRectClassName),a=t.select(\".\"+S.itemTextClassName),o=a.selectAll(\"tspan\"),s=e.borderwidth,l=r.index;k.setTranslate(t,s+r.x,s+r.y);var u=[\"up\",\"down\"].indexOf(e.direction)!==-1;i.attr({x:0,y:0,width:n.width||(u?e.width1:e.widths[l]),height:n.height||(u?e.heights[l]:e.height1)});var c=e.font.size*S.fontSizeToHeight,h=o[0].length||1,f=(h-1)*c/4,d={x:S.textOffsetX,y:e.heights[l]/2-f+S.textOffsetY};a.attr(d),o.attr(d),u?r.y+=e.heights[l]+r.yPad:r.x+=e.widths[l]+r.xPad,r.index++}function x(t){t.selectAll(\"g.\"+S.dropdownButtonClassName).remove()}function _(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];i.indexOf(S.autoMarginIdRoot)!==-1&&M.autoMargin(t,i)}}var w=t(\"d3\"),M=t(\"../../plots/plots\"),A=t(\"../color\"),k=t(\"../drawing\"),T=t(\"../../lib/svg_text_utils\"),E=t(\"../legend/anchor_utils\"),S=t(\"./constants\"),L=t(\"./scrollbox\");e.exports=function(t){var e=t._fullLayout,r=n(e),a=e._infolayer.selectAll(\"g.\"+S.containerClassName).data(r.length>0?[0]:[]);if(a.enter().append(\"g\").classed(S.containerClassName,!0).style(\"cursor\",\"pointer\"),a.exit().remove(),a.exit().size()&&_(t),0!==r.length){var c=a.selectAll(\"g.\"+S.headerGroupClassName).data(r,i);c.enter().append(\"g\").classed(S.headerGroupClassName,!0);var h=a.selectAll(\"g.\"+S.dropdownButtonGroupClassName).data([0]);h.enter().append(\"g\").classed(S.dropdownButtonGroupClassName,!0).style(\"pointer-events\",\"all\");for(var f=0;f<r.length;f++){y(t,r[f])}var d=\"updatemenus\"+e._uid,p=new L(t,h,d);c.enter().size()&&h.call(x).attr(S.menuIndexAttrName,\"-1\"),c.exit().each(function(e){w.select(this).remove(),h.call(x).attr(S.menuIndexAttrName,\"-1\"),M.autoMargin(t,S.autoMarginIdRoot+e._index)}),c.each(function(e){var r=w.select(this),n=\"dropdown\"===e.type?h:null;M.manageCommandObserver(t,e,e.buttons,function(i){s(t,e,e.buttons[i.index],r,n,p,i.index,!0)}),\"dropdown\"===e.type?(l(t,r,h,p,e),o(h,e)&&u(t,r,h,p,e)):u(t,r,null,null,e)})}}},{\"../../lib/svg_text_utils\":700,\"../../plots/plots\":779,\"../color\":576,\"../drawing\":599,\"../legend/anchor_utils\":613,\"./constants\":654,\"./scrollbox\":658,d3:104}],657:[function(t,e,r){arguments[4][651][0].apply(r,arguments)},{\"./attributes\":653,\"./constants\":654,\"./defaults\":655,\"./draw\":656,dup:651}],658:[function(t,e,r){\"use strict\";function n(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}e.exports=n;var i=t(\"d3\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\");n.barWidth=2,n.barLength=20,n.barRadius=2,n.barPad=1,n.barColor=\"#808BA4\",n.prototype.enable=function(t,e,r){var s=this.gd._fullLayout,l=s.width,u=s.height;this.position=t;var c,h,f,d,p=this.position.l,m=this.position.w,g=this.position.t,v=this.position.h,y=this.position.direction,b=\"down\"===y,x=\"left\"===y,_=\"right\"===y,w=\"up\"===y,M=m,A=v;b||x||_||w||(this.position.direction=\"down\",b=!0),b||w?(c=p,h=c+M,b?(f=g,d=Math.min(f+A,u),A=d-f):(d=g+A,f=Math.max(d-A,0),A=d-f)):(f=g,d=f+A,x?(h=p+M,c=Math.max(h-M,0),M=h-c):(c=p,h=Math.min(c+M,l),M=h-c)),this._box={l:c,t:f,w:M,h:A};var k=m>M,T=n.barLength+2*n.barPad,E=n.barWidth+2*n.barPad,S=p,L=g+v;L+E>u&&(L=u-E);var C=this.container.selectAll(\"rect.scrollbar-horizontal\").data(k?[0]:[]);C.exit().on(\".drag\",null).remove(),C.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(a.fill,n.barColor),k?(this.hbar=C.attr({rx:n.barRadius,ry:n.barRadius,x:S,y:L,width:T,height:E}),this._hbarXMin=S+T/2,this._hbarTranslateMax=M-T):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var D=v>A,I=n.barWidth+2*n.barPad,z=n.barLength+2*n.barPad,P=p+m,O=g;P+I>l&&(P=l-I);var R=this.container.selectAll(\"rect.scrollbar-vertical\").data(D?[0]:[]);R.exit().on(\".drag\",null).remove(),R.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(a.fill,n.barColor),D?(this.vbar=R.attr({rx:n.barRadius,ry:n.barRadius,x:P,y:O,width:I,height:z}),this._vbarYMin=O+z/2,this._vbarTranslateMax=A-z):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var F=this.id,j=c-.5,N=D?h+I+.5:h+.5,B=f-.5,U=k?d+E+.5:d+.5,V=s._topdefs.selectAll(\"#\"+F).data(k||D?[0]:[]);if(V.exit().remove(),V.enter().append(\"clipPath\").attr(\"id\",F).append(\"rect\"),k||D?(this._clipRect=V.select(\"rect\").attr({x:Math.floor(j),y:Math.floor(B),width:Math.ceil(N)-Math.floor(j),height:Math.ceil(U)-Math.floor(B)}),this.container.call(o.setClipUrl,F),this.bg.attr({x:p,y:g,width:m,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(o.setClipUrl,null),delete this._clipRect),k||D){var H=i.behavior.drag().on(\"dragstart\",function(){i.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(H);var q=i.behavior.drag().on(\"dragstart\",function(){i.event.sourceEvent.preventDefault(),i.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));k&&this.hbar.on(\".drag\",null).call(q),D&&this.vbar.on(\".drag\",null).call(q)}this.setTranslate(e,r)},n.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(o.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},n.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=i.event.dx),this.vbar&&(e-=i.event.dy),this.setTranslate(t,e)},n.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=i.event.deltaY),this.vbar&&(e+=i.event.deltaY),this.setTranslate(t,e)},n.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax;t=(s.constrain(i.event.x,r,n)-r)/(n-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,o=a+this._vbarTranslateMax;e=(s.constrain(i.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},n.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=s.constrain(t||0,0,r),e=s.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(o.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(o.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(o.setTranslate,t,e+a*this._vbarTranslateMax)}}},{\"../../lib\":681,\"../color\":576,\"../drawing\":599,d3:104}],659:[function(t,e,r){\"use strict\";e.exports={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}},{}],660:[function(t,e,r){\"use strict\";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],661:[function(t,e,r){\"use strict\";e.exports={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"}},{}],662:[function(t,e,r){\"use strict\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300}},{}],663:[function(t,e,r){\"use strict\";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5}},{}],664:[function(t,e,r){\"use strict\";e.exports={entityToUnicode:{mu:\"\\u03bc\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",times:\"\\xd7\",plusmn:\"\\xb1\",deg:\"\\xb0\"},unicodeToEntity:{\"&\":\"amp\",\"<\":\"lt\",\">\":\"gt\",'\"':\"quot\",\"'\":\"#x27\",\"/\":\"#x2F\"}}},{}],665:[function(t,e,r){\"use strict\"\n;r.xmlns=\"http://www.w3.org/2000/xmlns/\",r.svg=\"http://www.w3.org/2000/svg\",r.xlink=\"http://www.w3.org/1999/xlink\",r.svgAttrs={xmlns:r.svg,\"xmlns:xlink\":r.xlink}},{}],666:[function(t,e,r){\"use strict\";var n=t(\"./plotly\");r.version=\"1.25.0\",t(\"es6-promise\").polyfill(),t(\"../build/plotcss\"),t(\"./fonts/mathjax_config\"),r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.setPlotConfig=t(\"./plot_api/set_plot_config\"),r.register=t(\"./plot_api/register\"),r.toImage=t(\"./plot_api/to_image\"),r.downloadImage=t(\"./snapshot/download\"),r.validate=t(\"./plot_api/validate\"),r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.register(t(\"./traces/scatter\")),r.register([t(\"./components/legend\"),t(\"./components/annotations\"),t(\"./components/shapes\"),t(\"./components/images\"),t(\"./components/updatemenus\"),t(\"./components/sliders\"),t(\"./components/rangeslider\"),t(\"./components/rangeselector\")]),r.Icons=t(\"../build/ploticon\"),r.Plots=n.Plots,r.Fx=n.Fx,r.Snapshot=t(\"./snapshot\"),r.PlotSchema=t(\"./plot_api/plot_schema\"),r.Queue=t(\"./lib/queue\"),r.d3=t(\"d3\")},{\"../build/plotcss\":1,\"../build/ploticon\":2,\"./components/annotations\":572,\"./components/images\":612,\"./components/legend\":620,\"./components/rangeselector\":632,\"./components/rangeslider\":638,\"./components/shapes\":645,\"./components/sliders\":651,\"./components/updatemenus\":657,\"./fonts/mathjax_config\":667,\"./lib/queue\":693,\"./plot_api/plot_schema\":709,\"./plot_api/register\":710,\"./plot_api/set_plot_config\":711,\"./plot_api/to_image\":713,\"./plot_api/validate\":714,\"./plotly\":715,\"./snapshot\":799,\"./snapshot/download\":796,\"./traces/scatter\":934,d3:104,\"es6-promise\":110}],667:[function(t,e,r){\"use strict\";\"undefined\"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:\"none\",skipStartupTypeset:!0,displayAlign:\"left\",tex2jax:{inlineMath:[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],668:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){Array.isArray(t)&&(e[r]=t[n])}},{}],669:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../constants/numerical\").BADNUM;e.exports=function(t){return\"string\"==typeof t&&(t=t.replace(/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g,\"\")),n(t)?Number(t):i}},{\"../constants/numerical\":663,\"fast-isnumeric\":113}],670:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../components/colorscale/get_scale\"),o=(Object.keys(t(\"../components/colorscale/scales\")),t(\"./nested_property\")),s=/^([2-9]|[1-9][0-9]+)$/;r.valObjects={data_array:{coerceFunction:function(t,e,r){Array.isArray(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),n.values.indexOf(t)===-1?e.set(r):e.set(t)}},boolean:{coerceFunction:function(t,e,r){t===!0||t===!1?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;n.strict!==!0&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(a(t,r))}},angle:{coerceFunction:function(t,e,r){\"auto\"===t?e.set(\"auto\"):n(t)?(Math.abs(t)>180&&(t-=360*Math.round(t/360)),e.set(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r){var n=r.length;if(\"string\"==typeof t&&t.substr(0,n)===r&&s.test(t.substr(n)))return void e.set(t);e.set(r)},validateFunction:function(t,e){var r=e.dflt,n=r.length;return t===r||\"string\"==typeof t&&!(t.substr(0,n)!==r||!s.test(t.substr(n)))}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t)return void e.set(r);if((n.extras||[]).indexOf(t)!==-1)return void e.set(t);for(var i=t.split(\"+\"),a=0;a<i.length;){var o=i[a];n.flags.indexOf(o)===-1||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\"+\")):e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,i){if(!Array.isArray(t))return void e.set(n);var a=i.items,o=[];n=Array.isArray(n)?n:[];for(var s=0;s<a.length;s++)r.coerce(t,o,a,\"[\"+s+\"]\",n[s]);e.set(o)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items;if(!e.freeLength&&t.length!==n.length)return!1;for(var i=0;i<t.length;i++){if(!r.validate(t[i],e.items[i]))return!1}return!0}}},r.coerce=function(t,e,n,i,a){var s=o(n,i).get(),l=o(t,i),u=o(e,i),c=l.get();return void 0===a&&(a=s.dflt),s.arrayOk&&Array.isArray(c)?(u.set(c),c):(r.valObjects[s.valType].coerceFunction(c,u,a,s),u.get())},r.coerce2=function(t,e,n,i,a){var s=o(t,i),l=r.coerce(t,e,n,i,a),u=s.get();return void 0!==u&&null!==u&&l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+\".family\",r.family),n.size=t(e+\".size\",r.size),n.color=t(e+\".color\",r.color),n},r.validate=function(t,e){var n=r.valObjects[e.valType];if(e.arrayOk&&Array.isArray(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}},{\"../components/colorscale/get_scale\":588,\"../components/colorscale/scales\":594,\"./nested_property\":687,\"fast-isnumeric\":113,tinycolor2:512}],671:[function(t,e,r){\"use strict\";function n(t){return t&&M.componentsRegistry.calendars&&\"string\"==typeof t&&\"gregorian\"!==t}function i(t,e){return String(t+Math.pow(10,e)).substr(1)}function a(t,e,r,n,a){if((e||r||n||a)&&(t+=\" \"+i(e,2)+\":\"+i(r,2),(n||a)&&(t+=\":\"+i(n,2),a))){for(var o=4;a%10==0;)o-=1,a/=10;t+=\".\"+i(a,o)}return t}function o(t,e,r){t=t.replace(D,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"});var i=new Date(Math.floor(e+.05));if(n(r))try{t=M.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,r)}catch(t){return\"Invalid\"}return A(t)(i)}function s(t,e){var r=m(t+.05,y),n=i(Math.floor(r/b),2)+\":\"+i(m(Math.floor(r/x),60),2);if(\"M\"!==e){d(e)||(e=0);var a=Math.min(m(t/_,60),I[e]),o=(100+a).toFixed(e).substr(1);e>0&&(o=o.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+o}return n}function l(t){return t.formatDate(\"yyyy\")}function u(t){return t.formatDate(\"M yyyy\")}function c(t){return t.formatDate(\"M d\")}function h(t){return t.formatDate(\"M d, yyyy\")}var f=t(\"d3\"),d=t(\"fast-isnumeric\"),p=t(\"./loggers\").error,m=t(\"./mod\"),g=t(\"../constants/numerical\"),v=g.BADNUM,y=g.ONEDAY,b=g.ONEHOUR,x=g.ONEMIN,_=g.ONESEC,w=g.EPOCHJD,M=t(\"../registry\"),A=f.time.format.utc,k=(new Date).getFullYear()-70;r.dateTick0=function(t,e){return n(t)?e?M.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[t]:M.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[t]:e?\"2000-01-02\":\"2000-01-01\"},r.dfltRange=function(t){return n(t)?M.getComponentMethod(\"calendars\",\"DFLTRANGE\")[t]:[\"2000-01-01\",\"2001-01-01\"]},r.isJSDate=function(t){return\"object\"==typeof t&&null!==t&&\"function\"==typeof t.getTime};var T,E;r.dateTime2ms=function(t,e){if(r.isJSDate(t))return t=Number(t)-t.getTimezoneOffset()*x,t>=T&&t<=E?t:v;if(\"string\"!=typeof t&&\"number\"!=typeof t)return v;t=String(t);var i=n(e),a=t.charAt(0);!i||\"G\"!==a&&\"g\"!==a||(t=t.substr(1),e=\"\");var o=i&&\"chinese\"===e.substr(0,7),s=t.match(o?/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m:/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m);if(!s)return v;var l=s[1],u=s[3]||\"1\",c=Number(s[5]||1),h=Number(s[7]||0),f=Number(s[9]||0),d=Number(s[11]||0);if(i){if(2===l.length)return v;l=Number(l);var p;try{var m=M.getComponentMethod(\"calendars\",\"getCal\")(e);if(o){var g=\"i\"===u.charAt(u.length-1);u=parseInt(u,10),p=m.newDate(l,m.toMonthIndex(l,u,g),c)}else p=m.newDate(l,Number(u),c)}catch(t){return v}return p?(p.toJD()-w)*y+h*b+f*x+d*_:v}l=2===l.length?(Number(l)+2e3-k)%100+k:Number(l),u-=1;var A=new Date(Date.UTC(2e3,u,c,h,f));return A.setUTCFullYear(l),A.getUTCMonth()!==u?v:A.getUTCDate()!==c?v:A.getTime()+d*_},T=r.MIN_MS=r.dateTime2ms(\"-9999\"),E=r.MAX_MS=r.dateTime2ms(\"9999-12-31 23:59:59.9999\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==v};var S=90*y,L=3*b,C=5*x;r.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=T&&t<=E))return v;e||(e=0);var i,o,s,l,u,c,h=Math.floor(10*m(t+.05,1)),f=Math.round(t-h/10);if(n(r)){var d=Math.floor(f/y)+w,p=Math.floor(m(t,y));try{i=M.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(d).formatDate(\"yyyy-mm-dd\")}catch(t){i=A(\"G%Y-%m-%d\")(new Date(f))}if(\"-\"===i.charAt(0))for(;i.length<11;)i=\"-0\"+i.substr(1);else for(;i.length<10;)i=\"0\"+i;o=e<S?Math.floor(p/b):0,s=e<S?Math.floor(p%b/x):0,l=e<L?Math.floor(p%x/_):0,u=e<C?p%_*10+h:0}else c=new Date(f),i=A(\"%Y-%m-%d\")(c),o=e<S?c.getUTCHours():0,s=e<S?c.getUTCMinutes():0,l=e<L?c.getUTCSeconds():0,u=e<C?10*c.getUTCMilliseconds()+h:0;return a(i,o,s,l,u)},r.ms2DateTimeLocal=function(t){if(!(t>=T+y&&t<=E-y))return v;var e=Math.floor(10*m(t+.05,1)),r=new Date(Math.round(t-e/10));return a(f.time.format(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,i){if(r.isJSDate(t)||\"number\"==typeof t){if(n(i))return p(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,i))return p(\"unrecognized date\",t),e;return t};var D=/%\\d?f/g,I=[59,59.9,59.99,59.999,59.9999],z=A(\"%Y\"),P=A(\"%b %Y\"),O=A(\"%b %-d\"),R=A(\"%b %-d, %Y\");r.formatDate=function(t,e,r,i){var a,f;if(i=n(i)&&i,e)return o(e,t,i);if(i)try{var d=Math.floor((t+.05)/y)+w,p=M.getComponentMethod(\"calendars\",\"getCal\")(i).fromJD(d);\"y\"===r?f=l(p):\"m\"===r?f=u(p):\"d\"===r?(a=l(p),f=c(p)):(a=h(p),f=s(t,r))}catch(t){return\"Invalid\"}else{var m=new Date(Math.floor(t+.05));\"y\"===r?f=z(m):\"m\"===r?f=P(m):\"d\"===r?(a=z(m),f=O(m)):(a=R(m),f=s(t,r))}return f+(a?\"\\n\"+a:\"\")};var F=3*y;r.incrementMonth=function(t,e,r){r=n(r)&&r;var i=m(t,y);if(t=Math.round(t-i),r)try{var a=Math.round(t/y)+w,o=M.getComponentMethod(\"calendars\",\"getCal\")(r),s=o.fromJD(a);return e%12?o.add(s,e,\"m\"):o.add(s,e/12,\"y\"),(s.toJD()-w)*y+i}catch(e){p(\"invalid ms \"+t+\" in calendar \"+r)}var l=new Date(t+F);return l.setUTCMonth(l.getUTCMonth()+e)+i-F},r.findExactDates=function(t,e){for(var r,i,a=0,o=0,s=0,l=0,u=n(e)&&M.getComponentMethod(\"calendars\",\"getCal\")(e),c=0;c<t.length;c++)if(i=t[c],d(i)){if(!(i%y))if(u)try{r=u.fromJD(i/y+w),1===r.day()?1===r.month()?a++:o++:s++}catch(t){}else r=new Date(i),1===r.getUTCDate()?0===r.getUTCMonth()?a++:o++:s++}else l++;o+=a,s+=o;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}}},{\"../constants/numerical\":663,\"../registry\":794,\"./loggers\":684,\"./mod\":686,d3:104,\"fast-isnumeric\":113}],672:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){\"undefined\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\"undefined\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;\"function\"==typeof o&&(o=[o]);for(var s=o.pop(),l=0;l<o.length;l++)o[l](r);return i=s(r),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=i},{events:111}],673:[function(t,e,r){\"use strict\";function n(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&\"object\"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}function i(t,e,r,s){var l,u,c,h,f,d,p=t[0],m=t.length;if(2===m&&o(p)&&o(t[1])&&0===p.length){if(n(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<m;g++){l=t[g];for(u in l)c=p[u],h=l[u],s&&o(h)?p[u]=h:e&&h&&(a(h)||(f=o(h)))?(f?(f=!1,d=c&&o(c)?c:[]):d=c&&a(c)?c:{},p[u]=i([d,h],e,r,s)):(void 0!==h||r)&&(p[u]=h)}return p}var a=t(\"./is_plain_object.js\"),o=Array.isArray;r.extendFlat=function(){return i(arguments,!1,!1,!1)},r.extendDeep=function(){return i(arguments,!0,!1,!1)},r.extendDeepAll=function(){return i(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return i(arguments,!0,!1,!0)}},{\"./is_plain_object.js\":683}],674:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],675:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];n.visible===!0&&e.push(n)}return e}},{}],676:[function(t,e,r){\"use strict\";function n(t,e){return(0,l[t])(e)}function i(t){for(var e=0;e<s.length;e++){var r=s[e];if(new RegExp(a[r]).test(t.trim().toLowerCase()))return r}return o.warn(\"Unrecognized country name: \"+t+\".\"),!1}var a=t(\"country-regex\"),o=t(\"../lib\"),s=Object.keys(a),l={\"ISO-3\":o.identity,\"USA-states\":o.identity,\"country names\":i};r.locationToFeature=function(t,e,r){var i=n(t,e);if(i){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===i)return s}o.warn([\"Location with id\",i,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}},{\"../lib\":681,\"country-regex\":97}],677:[function(t,e,r){\"use strict\";r.calcTraceToLineCoords=function(t){for(var e=t[0].trace,r=e.connectgaps,n=[],i=[],a=0;a<t.length;a++){var o=t[a];i.push(o.lonlat),!r&&o.gapAfter&&i.length>0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n},r.makeLine=function(t,e){var r={};return r=1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t},e&&(r.trace=e),r},r.makePolygon=function(t,e){var r={};if(1===t.length)r={type:\"Polygon\",coordinates:t};else{for(var n=new Array(t.length),i=0;i<t.length;i++)n[i]=[t[i]];r={type:\"MultiPolygon\",coordinates:n}}return e&&(r.trace=e),r},r.makeBlank=function(){return{type:\"Point\",coordinates:[]}}},{}],678:[function(t,e,r){\"use strict\";function n(t,e){var r=t;return r[3]*=e,r}function i(t){if(s(t))return h;var e=l(t);return e.length?e:h}function a(t){return s(t)?t:f}function o(t,e,r){var o,s,c,d,p,m=t.color,g=Array.isArray(m),v=Array.isArray(e),y=[];if(o=void 0!==t.colorscale?u.makeColorScaleFunc(u.extractScale(t.colorscale,t.cmin,t.cmax)):i,s=g?function(t,e){return void 0===t[e]?h:l(o(t[e]))}:i,c=v?function(t,e){return void 0===t[e]?f:a(t[e])}:a,g||v)for(var b=0;b<r;b++)d=s(m,b),p=c(e,b),y[b]=n(d,p);else y=n(l(m),e);return y}var s=t(\"fast-isnumeric\"),l=t(\"color-rgba\"),u=t(\"../components/colorscale\"),c=t(\"../components/color/attributes\").defaultLine,h=l(c),f=1;e.exports=o},{\"../components/color/attributes\":575,\"../components/colorscale\":590,\"color-rgba\":85,\"fast-isnumeric\":113}],679:[function(t,e,r){\"use strict\";function n(t){for(var e=0;(e=t.indexOf(\"<sup>\",e))>=0;){var r=t.indexOf(\"</sup>\",e);if(r<e)break;t=t.slice(0,e)+l(t.slice(e+5,r))+t.slice(r+6)}return t}function i(t){return t.replace(/\\<br\\>/g,\"\\n\")}function a(t){return t.replace(/\\<.*\\>/g,\"\")}function o(t){for(var e=u.entityToUnicode,r=0;(r=t.indexOf(\"&\",r))>=0;){var n=t.indexOf(\";\",r);if(n<r)r+=1;else{var i=e[t.slice(r+1,n)];t=i?t.slice(0,r)+i+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}function s(t){return\"\"+o(a(n(i(t))))}var l=t(\"superscript-text\"),u=t(\"../constants/string_mappings\");e.exports=s},{\"../constants/string_mappings\":664,\"superscript-text\":508}],680:[function(t,e,r){\"use strict\";e.exports=function(t){return t}},{}],681:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=e.exports={};i.nestedProperty=t(\"./nested_property\"),i.isPlainObject=t(\"./is_plain_object\"),i.isArray=t(\"./is_array\"),i.mod=t(\"./mod\"),i.toLogRange=t(\"./to_log_range\"),i.relinkPrivateKeys=t(\"./relink_private\");var a=t(\"./coerce\");i.valObjects=a.valObjects,i.coerce=a.coerce,i.coerce2=a.coerce2,i.coerceFont=a.coerceFont,i.validate=a.validate;var o=t(\"./dates\");i.dateTime2ms=o.dateTime2ms,i.isDateTime=o.isDateTime,i.ms2DateTime=o.ms2DateTime,i.ms2DateTimeLocal=o.ms2DateTimeLocal,i.cleanDate=o.cleanDate,i.isJSDate=o.isJSDate,i.formatDate=o.formatDate,i.incrementMonth=o.incrementMonth,i.dateTick0=o.dateTick0,i.dfltRange=o.dfltRange,i.findExactDates=o.findExactDates,i.MIN_MS=o.MIN_MS,i.MAX_MS=o.MAX_MS;var s=t(\"./search\");i.findBin=s.findBin,i.sorterAsc=s.sorterAsc,i.sorterDes=s.sorterDes,i.distinctVals=s.distinctVals,i.roundUp=s.roundUp;var l=t(\"./stats\");i.aggNums=l.aggNums,i.len=l.len,i.mean=l.mean,i.variance=l.variance,i.stdev=l.stdev,i.interp=l.interp;var u=t(\"./matrix\");i.init2dArray=u.init2dArray,i.transposeRagged=u.transposeRagged,i.dot=u.dot,i.translationMatrix=u.translationMatrix,i.rotationMatrix=u.rotationMatrix,i.rotationXYMatrix=u.rotationXYMatrix,i.apply2DTransform=u.apply2DTransform,i.apply2DTransform2=u.apply2DTransform2;var c=t(\"./extend\");i.extendFlat=c.extendFlat,i.extendDeep=c.extendDeep,i.extendDeepAll=c.extendDeepAll,i.extendDeepNoArrays=c.extendDeepNoArrays;var h=t(\"./loggers\");i.log=h.log,i.warn=h.warn,i.error=h.error,i.notifier=t(\"./notifier\"),i.filterUnique=t(\"./filter_unique\"),i.filterVisible=t(\"./filter_visible\"),i.pushUnique=t(\"./push_unique\"),i.cleanNumber=t(\"./clean_number\"),i.noop=t(\"./noop\"),i.identity=t(\"./identity\"),i.swapAttrs=function(t,e,r,n){r||(r=\"x\"),n||(n=\"y\");for(var a=0;a<e.length;a++){var o=e[a],s=i.nestedProperty(t,o.replace(\"?\",r)),l=i.nestedProperty(t,o.replace(\"?\",n)),u=s.get();s.set(l.get()),l.set(u)}},i.pauseEvent=function(t){return t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.cancelBubble=!0,!1},i.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},i.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},i.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},i.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var i,a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l=\"\";for(i=2;s===1/0;i*=2)s=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var u=s-Math.floor(s);for(i=0;i<Math.floor(s);i++)o=Math.floor(Math.random()*n).toString(n),l=o+l;u&&(a=Math.pow(n,u),o=Math.floor(Math.random()*a).toString(n),l=o+l);var c=parseInt(l,n);return e&&e.indexOf(l)>-1||c!==1/0&&c>=Math.pow(2,r)?t(e,r,n):l},i.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={};return r.optionList=[],r._newoption=function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)},r[\"_\"+e]=t,r},i.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r<l;r++)u[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)i=r+n+1-e,i<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},i.syncOrAsync=function(t,e,r){function n(){return i.syncOrAsync(t,e,r)}for(var a,o;t.length;)if(o=t.splice(0,1)[0],(a=o(e))&&a.then)return a.then(n).then(void 0,i.promiseError);return r&&r(e)},i.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},i.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n<r.length;n++)i=t[r[n]],void 0!==i&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},i.mergeArray=function(t,e,r){if(Array.isArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},i.minExtend=function(t,e){var r={};\"object\"!=typeof e&&(e={});var n,a,o,s=Object.keys(t);for(n=0;n<s.length;n++)a=s[n],o=t[a],\"_\"!==a.charAt(0)&&\"function\"!=typeof o&&(\"module\"===a?r[a]=o:Array.isArray(o)?r[a]=o.slice(0,3):r[a]=o&&\"object\"==typeof o?i.minExtend(t[a],e[a]):o);for(s=Object.keys(e),n=0;n<s.length;n++)a=s[n],\"object\"==typeof(o=e[a])&&a in r&&\"object\"==typeof r[a]||(r[a]=o);return r},i.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},i.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(t.indexOf(e[r])!==-1)return!0;return!1},i.getPlotDiv=function(t){for(;t&&t.removeAttribute;t=t.parentNode)if(i.isPlotDiv(t))return t},i.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\"js-plotly-plot\")},i.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},i.addStyleRule=function(t,e){if(!i.styleSheet){var r=document.createElement(\"style\");r.appendChild(document.createTextNode(\"\")),document.head.appendChild(r),i.styleSheet=r.sheet}var n=i.styleSheet;n.insertRule?n.insertRule(t+\"{\"+e+\"}\",0):n.addRule?n.addRule(t,e,0):i.warn(\"addStyleRule failed\")},i.isIE=function(){return void 0!==window.navigator.msSaveBlob},i.isD3Selection=function(t){return t&&\"function\"==typeof t.classed},i.objectFromPath=function(t,e){for(var r,n=t.split(\".\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};i.expandObjectPaths=function(t){var e,r,n,a,o,s,l;if(\"object\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(/^([^\\[\\.]+)\\.(.+)?/))?(a=t[r],n=e[1],delete t[r],t[n]=i.extendDeepNoArrays(t[n]||{},i.objectFromPath(r,i.expandObjectPaths(a))[n])):(e=r.match(/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/))?(a=t[r],n=e[1],o=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\".\"===e[3]?(l=e[4],s=t[n][o]=t[n][o]||{},i.extendDeepNoArrays(s,i.objectFromPath(l,i.expandObjectPaths(a)))):t[n][o]=i.expandObjectPaths(a)):t[r]=i.expandObjectPaths(t[r]));return t},i.numSeparate=function(t,e,r){if(r||(r=!1),\"string\"!=typeof e||0===e.length)throw new Error(\"Separator string required for formatting!\");\"number\"==typeof t&&(t=String(t));var n=/(\\d+)(\\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l}},{\"./clean_number\":669,\"./coerce\":670,\"./dates\":671,\"./extend\":673,\"./filter_unique\":674,\"./filter_visible\":675,\"./identity\":680,\"./is_array\":682,\"./is_plain_object\":683,\"./loggers\":684,\"./matrix\":685,\"./mod\":686,\"./nested_property\":687,\"./noop\":688,\"./notifier\":689,\"./push_unique\":692,\"./relink_private\":694,\"./search\":695,\"./stats\":698,\"./to_log_range\":701,d3:104}],682:[function(t,e,r){\"use strict\";var n=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}};e.exports=function(t){return Array.isArray(t)||n.isView(t)}},{}],683:[function(t,e,r){\"use strict\";e.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],684:[function(t,e,r){\"use strict\";function n(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}var i=t(\"../plot_api/plot_config\"),a=e.exports={};a.log=function(){if(i.logging>1){for(var t=[\"LOG:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.warn=function(){if(i.logging>0){for(var t=[\"WARN:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.error=function(){if(i.logging>0){for(var t=[\"ERROR:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.error,t)}}},{\"../plot_api/plot_config\":708}],685:[function(t,e,r){\"use strict\";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],686:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t%e;return r<0?r+e:r}},{}],687:[function(t,e,r){\"use strict\";function n(t,e){return function(){var r,i,a,o,s,l=t;for(o=0;o<e.length-1;o++){if((r=e[o])===-1){for(i=!0,a=[],s=0;s<l.length;s++)a[s]=n(l[s],e.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(\"number\"==typeof r&&!d(l))return;if(\"object\"!=typeof(l=l[r])||null===l)return}if(\"object\"==typeof l&&null!==l&&null!==(a=l[e[o]]))return a}}function i(t,e){if(!c(t)||p(t)&&\"]\"===e.charAt(e.length-1)||e.match(v)&&void 0!==t)return!1;if(!d(t))return!0;if(e.match(g))return!0;var r=m(e);return r&&\"\"===r.index}function a(t,e,r){return function(n){var a,c,h=t,f=\"\",p=[[t,f]],m=i(n,r);for(c=0;c<e.length-1;c++){if(\"number\"==typeof(a=e[c])&&!d(h))throw\"array index but container is not an array\";if(a===-1){if(m=!s(h,e.slice(c+1),n,r))break;return}if(!l(h,a,e[c+1],m))break;if(\"object\"!=typeof(h=h[a])||null===h)throw\"container is not an object\";f=o(f,a),p.push([h,f])}m?(c===e.length-1&&delete h[e[c]],u(p)):h[e[c]]=n}}function o(t,e){var r=e;return f(e)?r=\"[\"+e+\"]\":t&&(r=\".\"+e),t+r}function s(t,e,r,n){var o,s=d(r),u=!0,c=r,h=n.replace(\"-1\",0),f=!s&&i(r,h),p=e[0];for(o=0;o<t.length;o++)h=n.replace(\"-1\",o),s&&(c=r[o%r.length],f=i(c,h)),f&&(u=!1),l(t,o,p,f)&&a(t[o],e,n.replace(\"-1\",o))(c);return u}function l(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\"number\"==typeof r?[]:{}}return!0}function u(t){var e,r,n,a,s,l;for(e=t.length-1;e>=0;e--){if(n=t[e][0],a=t[e][1],l=!1,d(n))for(r=n.length-1;r>=0;r--)i(n[r],o(a,r))?l?n[r]=void 0:n.pop():l=!0;else if(\"object\"==typeof n&&null!==n)for(s=Object.keys(n),l=!1,r=s.length-1;r>=0;r--)i(n[s[r]],o(a,s[r]))?delete n[s[r]]:l=!0;if(l)return}}function c(t){return void 0===t||null===t||\"object\"==typeof t&&(d(t)?!t.length:!Object.keys(t).length)}function h(t,e,r){return{set:function(){throw\"bad container\"},get:function(){},astr:e,parts:r,obj:t}}var f=t(\"fast-isnumeric\"),d=t(\"./is_array\"),p=t(\"./is_plain_object\"),m=t(\"../plot_api/container_array_match\");e.exports=function(t,e){if(f(e))e=String(e);else if(\"string\"!=typeof e||\"[-1]\"===e.substr(e.length-4))throw\"bad property string\";for(var r,i,o,s=0,l=e.split(\".\");s<l.length;){if(r=String(l[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(r[1])l[s]=r[1];else{if(0!==s)throw\"bad property string\";l.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(\"][\"),o=0;o<i.length;o++)s++,l.splice(s,0,Number(i[o]))}s++}return\"object\"!=typeof t?h(t,e,l):{set:a(t,l,e),get:n(t,l),astr:e,parts:l,obj:t}};var g=/(^|\\.)((domain|range)(\\.[xy])?|args|parallels)$/,v=/(^|\\.)args\\[/},{\"../plot_api/container_array_match\":704,\"./is_array\":682,\"./is_plain_object\":683,\"fast-isnumeric\":113}],688:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],689:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=[];e.exports=function(t,e){function r(t){t.duration(700).style(\"opacity\",0).each(\"end\",function(t){var e=a.indexOf(t);e!==-1&&a.splice(e,1),n.select(this).remove()})}if(a.indexOf(t)===-1){a.push(t);var o=1e3;i(e)?o=e:\"long\"===e&&(o=3e3);var s=n.select(\"body\").selectAll(\".plotly-notifier\").data([0]);s.enter().append(\"div\").classed(\"plotly-notifier\",!0);s.selectAll(\".notifier-note\").data(a).enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(t){var e=n.select(this);e.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",function(){e.transition().call(r)});for(var i=e.append(\"p\"),a=t.split(/<br\\s*\\/?>/g),s=0;s<a.length;s++)s&&i.append(\"br\"),i.append(\"span\").text(a[s]);e.transition().duration(700).style(\"opacity\",1).transition().delay(o).call(r)})}}},{d3:104,\"fast-isnumeric\":113}],690:[function(t,e,r){\"use strict\";var n=t(\"./setcursor\"),i=\"data-savedcursor\";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(\"class\")||\"\").split(\" \"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\"cursor-\")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,\"!!\")}n(t,e)}else r&&(t.attr(i,null),\"!!\"===r?n(t):n(t,r))}},{\"./setcursor\":696}],691:[function(t,e,r){\"use strict\";var n=t(\"./matrix\").dot,i=e.exports={};i.tester=function(t){function e(t,e){var r=t[0],n=t[1];return!(r<i||r>a||n<o||n>s)&&(!e||!u(t))}function r(t,e){var r=t[0],l=t[1];if(r<i||r>a||l<o||l>s)return!1;var u,c,h,f,d,p=n.length,m=n[0][0],g=n[0][1],v=0;for(u=1;u<p;u++)if(c=m,h=g,m=n[u][0],g=n[u][1],f=Math.min(c,m),!(r<f||r>Math.max(c,m)||l>Math.max(h,g)))if(l<Math.min(h,g))r!==f&&v++;else{if(d=m===c?l:h+(r-c)*(g-h)/(m-c),l===d)return 1!==u||!e;l<=d&&r!==f&&v++}return v%2==1}var n=t.slice(),i=n[0][0],a=i,o=n[0][1],s=o;n.push(n[0]);for(var l=1;l<n.length;l++)i=Math.min(i,n[l][0]),a=Math.max(a,n[l][0]),o=Math.min(o,n[l][1]),s=Math.max(s,n[l][1]);var u,c=!1;return 5===n.length&&(n[0][0]===n[1][0]?n[2][0]===n[3][0]&&n[0][1]===n[3][1]&&n[1][1]===n[2][1]&&(c=!0,u=function(t){return t[0]===n[0][0]}):n[0][1]===n[1][1]&&n[2][1]===n[3][1]&&n[0][0]===n[3][0]&&n[1][0]===n[2][0]&&(c=!0,u=function(t){return t[1]===n[0][1]})),{xmin:i,xmax:a,ymin:o,ymax:s,pts:n,contains:c?e:r,isRect:c}};var a=i.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],u=[t[r][0]-l[0],t[r][1]-l[1]],c=n(u,u),h=Math.sqrt(c),f=[-u[1]/h,u[0]/h];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,u))<0||s>c||Math.abs(n(o,f))>i)return!0;return!1};i.filter=function(t,e){function r(r){t.push(r);var s=n.length,l=i;n.splice(o+1);for(var u=l+1;u<t.length;u++)(u===t.length-1||a(t,l,u+1,e))&&(n.push(t[u]),n.length<s-2&&(i=u,o=n.length-1),l=u)}var n=[t[0]],i=0,o=0;if(t.length>1){r(t.pop())}return{addPt:r,raw:t,filtered:n}}},{\"./matrix\":685}],692:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else e&&t.indexOf(e)===-1&&t.push(e);return t}},{}],693:[function(t,e,r){\"use strict\";function n(t,e){for(var r,n=[],a=0;a<e.length;a++)r=e[a],n[a]=r===t?r:\"object\"==typeof r?Array.isArray(r)?i.extendDeep([],r):i.extendDeepAll({},r):r;return n}var i=t(\"../lib\"),a=t(\"../plot_api/plot_config\"),o={};o.add=function(t,e,r,n,i){var o,s;if(t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay)return void(t.undoQueue.inSequence||(t.autoplay=!1));!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(i)),t.undoQueue.queue.length>a.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--)},o.startSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},o.stopSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,\nt.undoQueue.beginSequence=!1},o.undo=function(t){var e,r;if(t.framework&&t.framework.isPolar)return void t.framework.undo();if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)o.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},o.redo=function(t){var e,r;if(t.framework&&t.framework.isPolar)return void t.framework.redo();if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)o.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}},o.plotDo=function(t,e,r){t.autoplay=!0,r=n(t,r),e.apply(null,r)},e.exports=o},{\"../lib\":681,\"../plot_api/plot_config\":708}],694:[function(t,e,r){\"use strict\";var n=t(\"./is_array\"),i=t(\"./is_plain_object\");e.exports=function t(e,r){for(var a=Object.keys(r||{}),o=0;o<a.length;o++){var s=a[o],l=r[s],u=e[s];if(\"_\"===s.charAt(0)||\"function\"==typeof l){if(s in e)continue;e[s]=l}else if(n(l)&&n(u)&&i(l[0]))for(var c=0;c<l.length;c++)i(l[c])&&i(u[c])&&t(u[c],l[c]);else i(l)&&i(u)&&(t(u,l),Object.keys(u).length||delete e[s])}}},{\"./is_array\":682,\"./is_plain_object\":683}],695:[function(t,e,r){\"use strict\";function n(t,e){return t<e}function i(t,e){return t<=e}function a(t,e){return t>e}function o(t,e){return t>=e}var s=t(\"fast-isnumeric\"),l=t(\"./loggers\");r.findBin=function(t,e,r){if(s(e.start))return r?Math.ceil((t-e.start)/e.size)-1:Math.floor((t-e.start)/e.size);var u,c,h=0,f=e.length,d=0;for(c=e[e.length-1]>=e[0]?r?n:i:r?o:a;h<f&&d++<100;)u=Math.floor((h+f)/2),c(e[u],t)?h=u+1:f=u;return d>90&&l.log(\"Long binary search...\"),h-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i<a&&o++<100;)n=u((i+a)/2),e[n]<=t?i=n+s:a=n-l;return e[i]}},{\"./loggers\":684,\"fast-isnumeric\":113}],696:[function(t,e,r){\"use strict\";e.exports=function(t,e){(t.attr(\"class\")||\"\").split(\" \").forEach(function(e){0===e.indexOf(\"cursor-\")&&t.classed(e,!1)}),e&&t.classed(\"cursor-\"+e,!0)}},{}],697:[function(t,e,r){\"use strict\";var n=t(\"../components/color\"),i=function(){};e.exports=function(t){for(var e in t)\"function\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\"div\");return r.textContent=\"Webgl is not supported by your browser - visit http://get.webgl.org for more info\",r.style.cursor=\"pointer\",r.style.fontSize=\"24px\",r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"http://get.webgl.org\")},!1}},{\"../components/color\":576}],698:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");r.aggNums=function(t,e,i,a){var o,s;if(a||(a=i.length),n(e)||(e=!1),Array.isArray(i[0])){for(s=new Array(a),o=0;o<a;o++)s[o]=r.aggNums(t,e,i[o]);i=s}for(o=0;o<a;o++)n(e)?n(i[o])&&(e=t(+e,+i[o])):e=i[o];return e},r.len=function(t){return r.aggNums(function(t){return t+1},0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums(function(t,e){return t+e},0,t)/e},r.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.interp=function(t,e){if(!n(e))throw\"n should be a finite number\";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{\"fast-isnumeric\":113}],699:[function(t,e,r){\"use strict\";function n(t){var e=i(t);return e.length?e:[0,0,0,1]}var i=t(\"color-rgba\");e.exports=n},{\"color-rgba\":85}],700:[function(t,e,r){\"use strict\";function n(t,e){return t.node().getBoundingClientRect()[e]}function i(t){return t.replace(/(<|&lt;|&#60;)/g,\"\\\\lt \").replace(/(>|&gt;|&#62;)/g,\"\\\\gt \")}function a(t,e,r){var n=\"math-output-\"+f.randstr([],64),a=h.select(\"body\").append(\"div\").attr({id:n}).style({visibility:\"hidden\",position:\"absolute\"}).style({\"font-size\":e.fontSize+\"px\"}).text(i(t));MathJax.Hub.Queue([\"Typeset\",MathJax.Hub,a.node()],function(){var e=h.select(\"body\").select(\"#MathJax_SVG_glyphs\");if(a.select(\".MathJax_SVG\").empty()||!a.select(\"svg\").node())f.log(\"There was an error in the tex syntax.\",t),r();else{var n=a.select(\"svg\").node().getBoundingClientRect();r(a.select(\".MathJax_SVG\"),e,n)}a.remove()})}function o(t,e){for(var r=t||\"\",n=0;n<e.length;n++){var i=e[n];r=r.replace(i.regExp,i.sub)}return r}function s(t){return o(t,y)}function l(t){return o(t,b)}function u(t){t=s(t),t=t.replace(x,\" \");for(var e=t.split(/(<[^<>]*>)/).map(function(t){var e=t.match(/<(\\/?)([^ >]*)\\s*(.*)>/i),n=e&&e[2].toLowerCase(),i=m[n];if(void 0!==i){var a=e[1],o=e[3],s=o.match(/^style\\s*=\\s*\"([^\"]+)\"\\s*/i);if(\"a\"===n){if(a)return\"</a>\";if(\"href\"!==o.substr(0,4).toLowerCase())return\"<a>\";var u=o.substr(4).replace(/[\"']/g,\"\").replace(/=/,\"\"),c=document.createElement(\"a\");return c.href=u,g.indexOf(c.protocol)===-1?\"<a>\":'<a xlink:show=\"new\" xlink:href=\"'+l(u)+'\">'}if(\"br\"===n)return\"<br>\";if(a)return\"sup\"===n?'</tspan><tspan dy=\"0.42em\">&#x200b;</tspan>':\"sub\"===n?'</tspan><tspan dy=\"-0.21em\">&#x200b;</tspan>':\"</tspan>\";var h=\"<tspan\";return\"sup\"!==n&&\"sub\"!==n||(h=\"&#x200b;\"+h),s&&(s=s[1].replace(/(^|;)\\s*color:/,\"$1 fill:\"),i=l(s)+(i?\";\"+i:\"\")),h+(i?' style=\"'+i+'\"':\"\")+\">\"}return r.xml_entity_encode(t).replace(/</g,\"&lt;\")}),n=[],i=e.indexOf(\"<br>\");i>0;i=e.indexOf(\"<br>\",i+1))n.push(i);var a=0;n.forEach(function(t){for(var r=t+a,n=e.slice(0,r),i=\"\",o=n.length-1;o>=0;o--){var s=n[o].match(/<(\\/?).*>/i);if(s&&\"<br>\"!==n[o]){s[1]||(i=n[o]);break}}i&&(e.splice(r+1,0,i),e.splice(r,0,\"</tspan>\"),a+=2)});var o=e.join(\"\"),u=o.split(/<br>/gi);return u.length>1&&(e=u.map(function(t,e){return'<tspan class=\"line\" dy=\"'+1.3*e+'em\">'+t+\"</tspan>\"})),e.join(\"\")}function c(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\"top\",l=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return i=\"bottom\"===s?function(){return l.bottom-n.height}:\"middle\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\"right\"===o?function(){return l.right-n.width}:\"center\"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-u.top+\"px\",left:a()-u.left+\"px\",\"z-index\":1e3}),this}}var h=t(\"d3\"),f=t(\"../lib\"),d=t(\"../constants/xmlns_namespaces\"),p=t(\"../constants/string_mappings\");h.selection.prototype.appendSVG=function(t){for(var e=['<svg xmlns=\"',d.svg,'\" ','xmlns:xlink=\"',d.xlink,'\">',t,\"</svg>\"].join(\"\"),r=(new DOMParser).parseFromString(e,\"application/xml\"),n=r.documentElement.firstChild;n;)this.node().appendChild(this.node().ownerDocument.importNode(n,!0)),n=n.nextSibling;return r.querySelector(\"parsererror\")?(f.log(r.querySelector(\"parsererror div\").textContent),null):h.select(this.node().lastChild)},r.html_entity_decode=function(t){var e=h.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=t.replace(/(&[^;]*;)/gi,function(t){return\"&lt;\"===t?\"&#60;\":\"&rt;\"===t?\"&#62;\":t.indexOf(\"<\")!==-1||t.indexOf(\">\")!==-1?\"\":e.html(t).text()});return e.remove(),r},r.xml_entity_encode=function(t){return t.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")},r.convertToTspans=function(t,e){function r(){d.empty()||(p=s.attr(\"class\")+\"-math\",d.select(\"svg.\"+p).remove()),t.text(\"\").style({visibility:\"inherit\",\"white-space\":\"pre\"}),c=t.appendSVG(o),c||t.text(i),t.select(\"a\").size()&&t.style(\"pointer-events\",\"all\"),e&&e.call(s)}var i=t.text(),o=u(i),s=t,l=!s.attr(\"data-notex\")&&o.match(/([^$]*)([$]+[^$]*[$]+)([^$]*)/),c=i,d=h.select(s.node().parentNode);if(!d.empty()){var p=s.attr(\"class\")?s.attr(\"class\").split(\" \")[0]:\"text\";p+=\"-math\",d.selectAll(\"svg.\"+p).remove(),d.selectAll(\"g.\"+p+\"-group\").remove(),t.style({visibility:null});for(var m=t.node();m&&m.removeAttribute;m=m.parentNode)m.removeAttribute(\"data-bb\");if(l){var g=f.getPlotDiv(s.node());(g&&g._promises||[]).push(new Promise(function(t){s.style({visibility:\"hidden\"});var i={fontSize:parseInt(s.style(\"font-size\"),10)};a(l[2],i,function(i,a,o){d.selectAll(\"svg.\"+p).remove(),d.selectAll(\"g.\"+p+\"-group\").remove();var l=i&&i.select(\"svg\");if(!l||!l.node())return r(),void t();var u=d.append(\"g\").classed(p+\"-group\",!0).attr({\"pointer-events\":\"none\"});u.node().appendChild(l.node()),a&&a.node()&&l.node().insertBefore(a.node().cloneNode(!0),l.node().firstChild),l.attr({class:p,height:o.height,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var c=s.style(\"fill\")||\"black\";l.select(\"g\").attr({fill:c,stroke:c});var h=n(l,\"width\"),f=n(l,\"height\"),m=+s.attr(\"x\")-h*{start:0,middle:.5,end:1}[s.attr(\"text-anchor\")||\"start\"],g=parseInt(s.style(\"font-size\"),10)||n(s,\"height\"),v=-g/4;\"y\"===p[0]?(u.attr({transform:\"rotate(\"+[-90,+s.attr(\"x\"),+s.attr(\"y\")]+\") translate(\"+[-h/2,v-f/2]+\")\"}),l.attr({x:+s.attr(\"x\"),y:+s.attr(\"y\")})):\"l\"===p[0]?l.attr({x:s.attr(\"x\"),y:v-f/2}):\"a\"===p[0]?l.attr({x:0,y:v}):l.attr({x:m,y:+s.attr(\"y\")+v-f/2}),e&&e.call(s,u),t(u)})}))}else r();return t}};var m={sup:'font-size:70%\" dy=\"-0.6em',sub:'font-size:70%\" dy=\"0.3em',b:\"font-weight:bold\",i:\"font-style:italic\",a:\"\",span:\"\",br:\"\",em:\"font-style:italic;font-weight:bold\"},g=[\"http:\",\"https:\",\"mailto:\"],v=new RegExp(\"</?(\"+Object.keys(m).join(\"|\")+\")( [^>]*)?/?>\",\"g\"),y=Object.keys(p.entityToUnicode).map(function(t){return{regExp:new RegExp(\"&\"+t+\";\",\"g\"),sub:p.entityToUnicode[t]}}),b=Object.keys(p.unicodeToEntity).map(function(t){return{regExp:new RegExp(t,\"g\"),sub:\"&\"+p.unicodeToEntity[t]+\";\"}}),x=/(\\r\\n?|\\n)/g;r.plainText=function(t){return(t||\"\").replace(v,\" \")},r.makeEditable=function(t,e,r){function n(){a(),o.style({opacity:0});var t,e=u.attr(\"class\");(t=e?\".\"+e.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&h.select(o.node().parentNode).select(t).style({opacity:0})}function i(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}function a(){var t=f.getPlotDiv(o.node()),e=h.select(t),n=e.select(\".svg-container\"),a=n.append(\"div\");a.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":o.style(\"font-family\")||\"Arial\",\"font-size\":o.style(\"font-size\")||12,color:r.fill||o.style(\"fill\")||\"black\",opacity:1,\"background-color\":r.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-parseFloat(o.style(\"font-size\"))/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(r.text||o.attr(\"data-unformatted\")).call(c(o,n,r)).on(\"blur\",function(){t._editing=!1,o.text(this.textContent).style({opacity:1});var e,r=h.select(this).attr(\"class\");(e=r?\".\"+r.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&h.select(o.node().parentNode).select(e).style({opacity:0});var n=this.textContent;h.select(this).transition().duration(0).remove(),h.select(document).on(\"mouseup\",null),s.edit.call(o,n)}).on(\"focus\",function(){var e=this;t._editing=!0,h.select(document).on(\"mouseup\",function(){if(h.event.target===e)return!1;document.activeElement===a.node()&&a.node().blur()})}).on(\"keyup\",function(){27===h.event.which?(t._editing=!1,o.style({opacity:1}),h.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),s.cancel.call(o,this.textContent)):(s.input.call(o,this.textContent),h.select(this).call(c(o,n,r)))}).on(\"keydown\",function(){13===h.event.which&&this.blur()}).call(i)}r||(r={});var o=this,s=h.dispatch(\"edit\",\"input\",\"cancel\"),l=h.select(this.node()).style({\"pointer-events\":\"all\"}),u=e||l;return e&&l.style({\"pointer-events\":\"none\"}),r.immediate?n():u.on(\"click\",n),h.rebind(this,s,\"on\")}},{\"../constants/string_mappings\":664,\"../constants/xmlns_namespaces\":665,\"../lib\":681,d3:104}],701:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{\"fast-isnumeric\":113}],702:[function(t,e,r){\"use strict\";var n=e.exports={},i=t(\"../plots/geo/constants\").locationmodeToLayer,a=t(\"topojson-client\").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode];return a(e,e.objects[r]).features}},{\"../plots/geo/constants\":742,\"topojson-client\":514}],703:[function(t,e,r){\"use strict\";function n(t,e){for(var r=new Float32Array(e),n=0;n<e;n++)r[n]=t[n];return r}function i(t,e){for(var r=new Float64Array(e),n=0;n<e;n++)r[n]=t[n];return r}e.exports=function(t,e){if(t instanceof Float32Array)return n(t,e);if(t instanceof Float64Array)return i(t,e);throw new Error(\"This array type is not yet supported by `truncate`.\")}},{}],704:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\"\"}:{array:e,index:\"\",property:\"\"}}},{\"../registry\":794}],705:[function(t,e,r){\"use strict\";function n(t,e){var r=t[e],n=e.charAt(0);r&&\"paper\"!==r&&(t[e]=f.cleanId(r,n))}function i(t){var e=\"middle\",r=\"center\";return t.indexOf(\"top\")!==-1?e=\"top\":t.indexOf(\"bottom\")!==-1&&(e=\"bottom\"),t.indexOf(\"left\")!==-1?r=\"left\":t.indexOf(\"right\")!==-1&&(r=\"right\"),e+\" \"+r}function a(t,e){return e in t&&\"object\"==typeof t[e]&&0===Object.keys(t[e]).length}function o(t){var e=t.search(p);if(e>0)return t.substr(0,e)}var s=t(\"fast-isnumeric\"),l=t(\"gl-mat4/fromQuat\"),u=t(\"../registry\"),c=t(\"../lib\"),h=t(\"../plots/plots\"),f=t(\"../plots/cartesian/axes\"),d=t(\"../components/color\");r.getGraphDiv=function(t){var e;if(\"string\"==typeof t){if(null===(e=document.getElementById(t)))throw new Error(\"No DOM element with id '\"+t+\"' exists on the page.\");return e}if(null===t||void 0===t)throw new Error(\"DOM element provided is null or undefined\");return t},r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&c.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1);var i=f.list({_fullLayout:t});for(e=0;e<i.length;e++){var o=i[e];o.anchor&&\"free\"!==o.anchor&&(o.anchor=f.cleanId(o.anchor)),o.overlaying&&(o.overlaying=f.cleanId(o.overlaying)),o.type||(o.isdate?o.type=\"date\":o.islog?o.type=\"log\":o.isdate===!1&&o.islog===!1&&(o.type=\"linear\")),\"withzero\"!==o.autorange&&\"tozero\"!==o.autorange||(o.autorange=!0,o.rangemode=\"tozero\"),delete o.islog,delete o.isdate,delete o.categories,a(o,\"domain\")&&delete o.domain,void 0!==o.autotick&&(void 0===o.tickmode&&(o.tickmode=o.autotick?\"auto\":\"linear\"),delete o.autotick)}var s=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<s;e++){var u=t.annotations[e];c.isPlainObject(u)&&(u.ref&&(\"paper\"===u.ref?(u.xref=\"paper\",u.yref=\"paper\"):\"data\"===u.ref&&(u.xref=\"x\",u.yref=\"y\"),delete u.ref),n(u,\"xref\"),n(u,\"yref\"))}var p=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<p;e++){var m=t.shapes[e];c.isPlainObject(m)&&(n(m,\"xref\"),n(m,\"yref\"))}var g=t.legend;g&&(g.x>3?(g.x=1.02,g.xanchor=\"left\"):g.x<-2&&(g.x=-.02,g.xanchor=\"right\"),g.y>3?(g.y=1.02,g.yanchor=\"bottom\"):g.y<-2&&(g.y=-.02,g.yanchor=\"top\")),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var v=h.getSubplotIds(t,\"gl3d\");for(e=0;e<v.length;e++){var y=t[v[e]],b=y.cameraposition;if(Array.isArray(b)&&4===b[0].length){var x=b[0],_=b[1],w=b[2],M=l([],x),A=[];for(r=0;r<3;++r)A[r]=_[e]+w*M[2+4*r];y.camera={eye:{x:A[0],y:A[1],z:A[2]},center:{x:_[0],y:_[1],z:_[2]},up:{x:M[1],y:M[5],z:M[9]}},delete y.cameraposition}}return d.clean(t),t},r.cleanData=function(t,e){for(var n=[],o=(t.concat(Array.isArray(e)?e:[]).filter(function(t){return\"uid\"in t}).map(function(t){return t.uid})),s=0;s<t.length;s++){var l,p=t[s];if(!(\"uid\"in p)||n.indexOf(p.uid)!==-1){var m;for(l=0;l<100&&(m=c.randstr(o),n.indexOf(m)!==-1);l++);p.uid=c.randstr(o),o.push(p.uid)}if(n.push(p.uid),\"histogramy\"===p.type&&\"xbins\"in p&&!(\"ybins\"in p)&&(p.ybins=p.xbins,delete p.xbins),p.error_y&&\"opacity\"in p.error_y){var g=d.defaults,v=p.error_y.color||(u.traceIs(p,\"bar\")?d.defaultLine:g[s%g.length]);p.error_y.color=d.addOpacity(d.rgb(v),d.opacity(v)*p.error_y.opacity),delete p.error_y.opacity}if(\"bardir\"in p&&(\"h\"!==p.bardir||!u.traceIs(p,\"bar\")&&\"histogram\"!==p.type.substr(0,9)||(p.orientation=\"h\",r.swapXYData(p)),delete p.bardir),\"histogramy\"===p.type&&r.swapXYData(p),\"histogramx\"!==p.type&&\"histogramy\"!==p.type||(p.type=\"histogram\"),\"scl\"in p&&(p.colorscale=p.scl,delete p.scl),\"reversescl\"in p&&(p.reversescale=p.reversescl,delete p.reversescl),p.xaxis&&(p.xaxis=f.cleanId(p.xaxis,\"x\")),p.yaxis&&(p.yaxis=f.cleanId(p.yaxis,\"y\")),u.traceIs(p,\"gl3d\")&&p.scene&&(p.scene=h.subplotsRegistry.gl3d.cleanId(p.scene)),u.traceIs(p,\"pie\")||u.traceIs(p,\"bar\")||(Array.isArray(p.textposition)?p.textposition=p.textposition.map(i):p.textposition&&(p.textposition=i(p.textposition))),u.traceIs(p,\"2dMap\")&&(\"YIGnBu\"===p.colorscale&&(p.colorscale=\"YlGnBu\"),\"YIOrRd\"===p.colorscale&&(p.colorscale=\"YlOrRd\")),u.traceIs(p,\"markerColorscale\")&&p.marker){var y=p.marker;\"YIGnBu\"===y.colorscale&&(y.colorscale=\"YlGnBu\"),\"YIOrRd\"===y.colorscale&&(y.colorscale=\"YlOrRd\")}if(\"surface\"===p.type&&c.isPlainObject(p.contours)){var b=[\"x\",\"y\",\"z\"];for(l=0;l<b.length;l++){var x=p.contours[b[l]];c.isPlainObject(x)&&(x.highlightColor&&(x.highlightcolor=x.highlightColor,delete x.highlightColor),x.highlightWidth&&(x.highlightwidth=x.highlightWidth,delete x.highlightWidth))}}if(Array.isArray(p.transforms)){var _=p.transforms;for(l=0;l<_.length;l++){var w=_[l];c.isPlainObject(w)&&\"filter\"===w.type&&(w.filtersrc&&(w.target=w.filtersrc,delete w.filtersrc),w.calendar&&(w.valuecalendar||(w.valuecalendar=w.calendar),delete w.calendar))}}a(p,\"line\")&&delete p.line,\"marker\"in p&&(a(p.marker,\"line\")&&delete p.marker.line,a(p,\"marker\")&&delete p.marker),d.clean(p)}},r.swapXYData=function(t){var e;if(c.swapAttrs(t,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);c.swapAttrs(t,[\"error_?.copy_ystyle\"]),n&&c.swapAttrs(t,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(t.hoverinfo){var i=t.hoverinfo.split(\"+\");for(e=0;e<i.length;e++)\"x\"===i[e]?i[e]=\"y\":\"y\"===i[e]&&(i[e]=\"x\");t.hoverinfo=i.join(\"+\")}},r.coerceTraceIndices=function(t,e){return s(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var n=t.obj,i=t.parts,a=i.length,o=i[a-1],l=s(o);if(l&&null===e){var u=i.slice(0,a-1).join(\".\");c.nestedProperty(n,u).get().splice(o,1)}else l&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var p=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;r.hasParent=function(t,e){for(var r=o(e);r;){if(r in t)return!0;r=o(r)}return!1}},{\"../components/color\":576,\"../lib\":681,\"../plots/cartesian/axes\":720,\"../plots/plots\":779,\"../registry\":794,\"fast-isnumeric\":113,\"gl-mat4/fromQuat\":159}],706:[function(t,e,r){\"use strict\";var n=t(\"../lib/nested_property\"),i=t(\"../lib/is_plain_object\"),a=t(\"../lib/noop\"),o=t(\"../lib/loggers\"),s=t(\"../registry\");r.containerArrayMatch=t(\"./container_array_match\");var l=r.isAddVal=function(t){return\"add\"===t||i(t)},u=r.isRemoveVal=function(t){return null===t||\"remove\"===t};r.applyContainerArrayChanges=function(t,e,r,i){var c=e.astr,h=s.getComponentMethod(c,\"supplyLayoutDefaults\"),f=s.getComponentMethod(c,\"draw\"),d=s.getComponentMethod(c,\"drawOne\"),p=i.replot||i.recalc||h===a||f===a,m=t.layout,g=t._fullLayout;if(r[\"\"]){Object.keys(r).length>1&&o.warn(\"Full array edits are incompatible with other edits\",c);var v=r[\"\"][\"\"];if(u(v))e.set(null);else{if(!Array.isArray(v))return o.warn(\"Unrecognized full array edit value\",c,v),!0;e.set(v)}return!p&&(h(m,g),f(t),!0)}var y,b,x,_,w,M,A,k=Object.keys(r).map(Number).sort(),T=e.get(),E=T||[],S=n(g,c).get(),L=[],C=-1,D=E.length;for(y=0;y<k.length;y++)if(x=k[y],_=r[x],w=Object.keys(_),M=_[\"\"],A=l(M),x<0||x>E.length-(A?0:1))o.warn(\"index out of range\",c,x);else if(void 0!==M)w.length>1&&o.warn(\"Insertion & removal are incompatible with edits to the same index.\",c,x),u(M)?L.push(x):A?(\"add\"===M&&(M={}),E.splice(x,0,M),S&&S.splice(x,0,{})):o.warn(\"Unrecognized full object edit value\",c,x,M),C===-1&&(C=x);else for(b=0;b<w.length;b++)n(E[x],w[b]).set(_[w[b]]);for(y=L.length-1;y>=0;y--)E.splice(L[y],1),S&&S.splice(L[y],1);if(E.length?T||e.set(E):e.set(null),p)return!1;if(h(m,g),d!==a){var I;if(C===-1)I=k;else{for(D=Math.max(E.length,D),I=[],y=0;y<k.length&&!((x=k[y])>=C);y++)I.push(x);for(y=C;y<D;y++)I.push(y)}for(y=0;y<I.length;y++)d(t,I[y])}else f(t);return!0}},{\"../lib/is_plain_object\":683,\"../lib/loggers\":684,\"../lib/nested_property\":687,\"../lib/noop\":688,\"../registry\":794,\"./container_array_match\":704}],707:[function(t,e,r){\"use strict\";function n(t,e){t._fullLayout._paperdiv.style(\"background\",\"white\"),y.defaultConfig.setBackground(t,e)}function i(t,e){t._context||(t._context=b.extendFlat({},y.defaultConfig));var r=t._context;e&&(Object.keys(e).forEach(function(t){t in r&&(\"setBackground\"===t&&\"opaque\"===e[t]?r[t]=n:r[t]=e[t])}),e.plot3dPixelRatio&&!r.plotGlPixelRatio&&(r.plotGlPixelRatio=r.plot3dPixelRatio)),r.staticPlot&&(r.editable=!1,r.autosizable=!1,r.scrollZoom=!1,r.doubleClick=!1,r.showTips=!1,r.showLink=!1,r.displayModeBar=!1)}function a(t,e,r){var n=g.select(t).selectAll(\".plot-container\").data([0]);n.enter().insert(\"div\",\":first-child\").classed(\"plot-container plotly\",!0);var i=n.selectAll(\".svg-container\").data([0]);i.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),i.html(\"\"),e&&(t.data=e),r&&(t.layout=r),k.manager.fillLayout(t),i.style({width:t._fullLayout.width+\"px\",height:t._fullLayout.height+\"px\"}),t.framework=k.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var a=t.framework.svg(),o=1,s=t._fullLayout.title;\"\"!==s&&s||(o=0);var l=function(){this.call(L.convertToTspans)},u=a.select(\".title-group text\").call(l);if(t._context.editable){u.attr({\"data-unformatted\":s}),s&&\"Click to enter title\"!==s||(o=.2,u.attr({\"data-unformatted\":\"Click to enter title\"}).text(\"Click to enter title\").style({opacity:o}).on(\"mouseover.opacity\",function(){g.select(this).transition().duration(100).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){g.select(this).transition().duration(1e3).style(\"opacity\",0)}));var c=function(){this.call(L.makeEditable).on(\"edit\",function(e){t.framework({layout:{title:e}}),this.attr({\"data-unformatted\":e}).text(e).call(l),this.call(c)}).on(\"cancel\",function(){var t=this.attr(\"data-unformatted\");this.text(t).call(l)})};u.call(c)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),M.addLinks(t),Promise.resolve()}function o(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)n=t[r],n<0?a.push(i+n):a.push(n);return a}function s(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function l(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),s(t,e,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&s(t,r,\"newIndices\"),void 0!==r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function u(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\"object\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\"all values in traces array must be non-array objects\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}function c(t,e,r,n){var i=b.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!b.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(void 0===r)throw new Error(\"indices must be an integer or array of integers\");s(t,r,\"indices\");for(var a in e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}function h(t,e,r,n){var i,a,s,l,u,c=b.isPlainObject(n),h=[];Array.isArray(r)||(r=[r]),r=o(r,t.data.length-1);for(var f in e)for(var d=0;d<r.length;d++){if(i=t.data[r[d]],s=b.nestedProperty(i,f),a=s.get(),l=e[f][d],!Array.isArray(l))throw new Error(\"attribute: \"+f+\" index: \"+d+\" must be an array\");if(!Array.isArray(a))throw new Error(\"cannot extend missing or non-array attribute: \"+f);u=c?n[f][d]:n,v(u)||(u=-1),h.push({prop:s,target:a,insert:l,maxp:Math.floor(u)})}return h}function f(t,e,r,n,i,a){c(t,e,r,n);for(var o,s,l,u=h(t,e,r,n),f=[],d={},p={},m=0;m<u.length;m++)s=u[m].prop,l=u[m].maxp,o=i(u[m].target,u[m].insert),l>=0&&l<o.length&&(f=a(o,l)),l=u[m].target.length,s.set(o),Array.isArray(d[s.astr])||(d[s.astr]=[]),Array.isArray(p[s.astr])||(p[s.astr]=[]),d[s.astr].push(f),p[s.astr].push(l);return{update:d,maxPoints:p}}function d(t,e,r){function n(){return d.map(function(){})}function i(t){var e=y.Axes.id2name(t);u.indexOf(e)===-1&&u.push(e)}function a(t){return\"LAYOUT\"+t+\".autorange\"}function o(t){return\"LAYOUT\"+t+\".range\"}function s(r,i,a){if(Array.isArray(r))return void r.forEach(function(t){s(t,i,a)});if(!(r in e||D.hasParent(e,r))){var o;o=\"LAYOUT\"===r.substr(0,6)?b.nestedProperty(t.layout,r.replace(\"LAYOUT\",\"\")):b.nestedProperty(f[d[a]],r),r in g||(g[r]=n()),void 0===g[r][a]&&(g[r][a]=o.get()),void 0!==i&&o.set(i)}}var l,u,c=t._fullLayout,h=t._fullData,f=t.data,d=D.coerceTraceIndices(t,r),p={docalc:!1,docalcAutorange:!1,doplot:!1,dostyle:!1,docolorbars:!1,autorangeOn:!1,clearCalc:!1,fullReplot:!1},m={},g={},v={},x=[\"mode\",\"visible\",\"type\",\"orientation\",\"fill\",\"histfunc\",\"histnorm\",\"text\",\"x\",\"y\",\"z\",\"a\",\"b\",\"c\",\"open\",\"high\",\"low\",\"close\",\"base\",\"width\",\"offset\",\"xtype\",\"x0\",\"dx\",\"ytype\",\"y0\",\"dy\",\"xaxis\",\"yaxis\",\"line.width\",\"connectgaps\",\"transpose\",\"zsmooth\",\"showscale\",\"marker.showscale\",\"zauto\",\"marker.cauto\",\"autocolorscale\",\"marker.autocolorscale\",\"colorscale\",\"marker.colorscale\",\"reversescale\",\"marker.reversescale\",\"autobinx\",\"nbinsx\",\"xbins\",\"xbins.start\",\"xbins.end\",\"xbins.size\",\"autobiny\",\"nbinsy\",\"ybins\",\"ybins.start\",\"ybins.end\",\"ybins.size\",\"autocontour\",\"ncontours\",\"contours\",\"contours.coloring\",\"error_y\",\"error_y.visible\",\"error_y.value\",\"error_y.type\",\"error_y.traceref\",\"error_y.array\",\"error_y.symmetric\",\"error_y.arrayminus\",\"error_y.valueminus\",\"error_y.tracerefminus\",\"error_x\",\"error_x.visible\",\"error_x.value\",\"error_x.type\",\"error_x.traceref\",\"error_x.array\",\"error_x.symmetric\",\"error_x.arrayminus\",\"error_x.valueminus\",\"error_x.tracerefminus\",\"swapxy\",\"swapxyaxes\",\"orientationaxes\",\"marker.colors\",\"values\",\"labels\",\"label0\",\"dlabel\",\"sort\",\"textinfo\",\"textposition\",\"textfont.size\",\"textfont.family\",\"textfont.color\",\"insidetextfont.size\",\"insidetextfont.family\",\"insidetextfont.color\",\"outsidetextfont.size\",\"outsidetextfont.family\",\"outsidetextfont.color\",\"hole\",\"scalegroup\",\"domain\",\"domain.x\",\"domain.y\",\"domain.x[0]\",\"domain.x[1]\",\"domain.y[0]\",\"domain.y[1]\",\"tilt\",\"tiltaxis\",\"depth\",\"direction\",\"rotation\",\"pull\",\"line.showscale\",\"line.cauto\",\"line.autocolorscale\",\"line.reversescale\",\"marker.line.showscale\",\"marker.line.cauto\",\"marker.line.autocolorscale\",\"marker.line.reversescale\",\"xcalendar\",\"ycalendar\",\"cumulative\",\"cumulative.enabled\",\"cumulative.direction\",\"cumulative.currentbin\"];for(l=0;l<d.length;l++)if(w.traceIs(h[d[l]],\"box\")){x.push(\"name\");break}var _=[\"marker\",\"marker.size\",\"textfont\",\"boxpoints\",\"jitter\",\"pointpos\",\"whiskerwidth\",\"boxmean\",\"tickwidth\"],A=[\"zmin\",\"zmax\",\"zauto\",\"xgap\",\"ygap\",\"marker.cmin\",\"marker.cmax\",\"marker.cauto\",\"line.cmin\",\"line.cmax\",\"marker.line.cmin\",\"marker.line.cmax\",\"contours.start\",\"contours.end\",\"contours.size\",\"contours.showlines\",\"line\",\"line.smoothing\",\"line.shape\",\"error_y.width\",\"error_x.width\",\"error_x.copy_ystyle\",\"marker.maxdisplayed\"],k=[\"type\",\"x\",\"y\",\"x0\",\"y0\",\"orientation\",\"xaxis\",\"yaxis\"],T=[\"zmin\",\"zmax\"],E=[\"xbins.start\",\"xbins.end\",\"xbins.size\"],S=[\"ybins.start\",\"ybins.end\",\"ybins.size\"],L=[\"contours.start\",\"contours.end\",\"contours.size\"],C=[\"cartesian\",\"pie\",\"ternary\"];c._basePlotModules.forEach(function(t){C.indexOf(t.name)===-1&&(p.docalc=!0)});for(var I in e){if(D.hasParent(e,I))throw new Error(\"cannot set \"+I+\"and a parent attribute simultaneously\");var z,P,O,R,F,j=e[I];if(m[I]=j,\"LAYOUT\"!==I.substr(0,6)){for(g[I]=n(),l=0;l<d.length;l++)if(z=f[d[l]],P=h[d[l]],O=b.nestedProperty(z,I),R=O.get(),void 0!==(F=Array.isArray(j)?j[l%j.length]:j)){if(T.indexOf(I)!==-1)s(\"zauto\",!1,l);else if(\"colorscale\"===I)s(\"autocolorscale\",!1,l);else if(\"autocolorscale\"===I)s(\"colorscale\",void 0,l);else if(\"marker.colorscale\"===I)s(\"marker.autocolorscale\",!1,l);else if(\"marker.autocolorscale\"===I)s(\"marker.colorscale\",void 0,l);else if(\"zauto\"===I)s(T,void 0,l);else if(E.indexOf(I)!==-1)s(\"autobinx\",!1,l);else if(\"autobinx\"===I)s(E,void 0,l);else if(S.indexOf(I)!==-1)s(\"autobiny\",!1,l);else if(\"autobiny\"===I)s(S,void 0,l);else if(L.indexOf(I)!==-1)s(\"autocontour\",!1,l);else if(\"autocontour\"===I)s(L,void 0,l);else if([\"x0\",\"dx\"].indexOf(I)!==-1&&P.x&&\"scaled\"!==P.xtype)s(\"xtype\",\"scaled\",l);else if([\"y0\",\"dy\"].indexOf(I)!==-1&&P.y&&\"scaled\"!==P.ytype)s(\"ytype\",\"scaled\",l);else if(\"colorbar.thicknessmode\"===I&&O.get()!==F&&[\"fraction\",\"pixels\"].indexOf(F)!==-1&&P.colorbar){var N=[\"top\",\"bottom\"].indexOf(P.colorbar.orient)!==-1?c.height-c.margin.t-c.margin.b:c.width-c.margin.l-c.margin.r;s(\"colorbar.thickness\",P.colorbar.thickness*(\"fraction\"===F?1/N:N),l)}else if(\"colorbar.lenmode\"===I&&O.get()!==F&&[\"fraction\",\"pixels\"].indexOf(F)!==-1&&P.colorbar){var B=[\"top\",\"bottom\"].indexOf(P.colorbar.orient)!==-1?c.width-c.margin.l-c.margin.r:c.height-c.margin.t-c.margin.b;s(\"colorbar.len\",P.colorbar.len*(\"fraction\"===F?1/B:B),l)}else\"colorbar.tick0\"===I||\"colorbar.dtick\"===I?s(\"colorbar.tickmode\",\"linear\",l):\"colorbar.tickmode\"===I&&s([\"colorbar.tick0\",\"colorbar.dtick\"],void 0,l);if(\"type\"===I&&\"pie\"===F!=(\"pie\"===R)){var U=\"x\",V=\"y\";\"bar\"!==F&&\"bar\"!==R||\"h\"!==z.orientation||(U=\"y\",V=\"x\"),b.swapAttrs(z,[\"?\",\"?src\"],\"labels\",U),b.swapAttrs(z,[\"d?\",\"?0\"],\"label\",U),b.swapAttrs(z,[\"?\",\"?src\"],\"values\",V),\"pie\"===R?(b.nestedProperty(z,\"marker.color\").set(b.nestedProperty(z,\"marker.colors\").get()),\nc._pielayer.selectAll(\"g.trace\").remove()):w.traceIs(z,\"cartesian\")&&(b.nestedProperty(z,\"marker.colors\").set(b.nestedProperty(z,\"marker.color\").get()),v[z.xaxis||\"x\"]=!0,v[z.yaxis||\"y\"]=!0)}g[I][l]=R;var H=[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"];if(H.indexOf(I)!==-1){if(\"orientation\"===I){if(O.set(F),O.get()===g[I][l])continue}else\"orientationaxes\"===I&&(z.orientation={v:\"h\",h:\"v\"}[P.orientation]);D.swapXYData(z)}else if(M.dataArrayContainers.indexOf(O.parts[0])!==-1)D.manageArrayContainers(O,F,g),p.docalc=!0;else{var q=(P._module||{}).attributes||{},G=b.nestedProperty(q,I).get()||{};G.arrayOk&&(Array.isArray(F)||Array.isArray(R))&&(p.docalc=!0),O.set(F)}}if([\"swapxyaxes\",\"orientationaxes\"].indexOf(I)!==-1&&y.Axes.swap(t,d),\"orientationaxes\"===I){var Y=b.nestedProperty(t.layout,\"hovermode\");\"x\"===Y.get()?Y.set(\"y\"):\"y\"===Y.get()&&Y.set(\"x\")}d.indexOf(0)!==-1&&k.indexOf(I)!==-1&&(y.Axes.clearTypes(t,d),p.docalc=!0),[\"autobinx\",\"autobiny\",\"zauto\"].indexOf(I)!==-1&&F===!1||(p.dostyle=!0),([\"colorbar\",\"line\"].indexOf(O.parts[0])!==-1||\"marker\"===O.parts[0]&&\"colorbar\"===O.parts[1])&&(p.docolorbars=!0);var X=I.indexOf(\"[\"),W=X===-1?I:I.substr(0,X);if(x.indexOf(W)!==-1){if([\"orientation\",\"type\"].indexOf(I)!==-1){for(u=[],l=0;l<d.length;l++){var Z=f[d[l]];w.traceIs(Z,\"cartesian\")&&(i(Z.xaxis||\"x\"),i(Z.yaxis||\"y\"),\"type\"===I&&s([\"autobinx\",\"autobiny\"],!0,l))}s(u.map(a),!0,0),s(u.map(o),[0,1],0)}p.docalc=!0}else A.indexOf(W)!==-1?p.doplot=!0:_.indexOf(W)!==-1&&(p.docalcAutorange=!0)}else O=b.nestedProperty(t.layout,I.replace(\"LAYOUT\",\"\")),g[I]=[O.get()],O.set(Array.isArray(j)?j[0]:j),p.docalc=!0}y.Axes.list(t).forEach(function(t){t.autorange&&(p.autorangeOn=!0)});var J=Object.keys(v);t:for(l=0;l<J.length;l++){for(var K=J[l],Q=K.charAt(0),$=Q+\"axis\",tt=0;tt<f.length;tt++)if(w.traceIs(f[tt],\"cartesian\")&&(f[tt][$]||Q)===K)continue t;s(\"LAYOUT\"+y.Axes.id2name(K),null,0)}return(p.docalc||p.docalcAutorange&&p.autorangeOn)&&(p.clearCalc=!0),(p.docalc||p.doplot||p.docalcAutorange)&&(p.fullReplot=!0),{flags:p,undoit:g,redoit:m,traces:d,eventData:b.extendDeepNoArrays([],[m,d])}}function p(t,e){function r(t,n){if(Array.isArray(t))return void t.forEach(function(t){r(t,n)});if(!(t in e||D.hasParent(e,t))){var i=b.nestedProperty(s,t);t in v||(v[t]=i.get()),void 0!==n&&i.set(n)}}function n(e,r){if(!b.isPlainObject(e))return!1;var n=e[r+\"ref\"]||r,i=y.Axes.getFromId(t,n);return i||n.charAt(0)!==r||(i=y.Axes.getFromId(t,r)),(i||{}).autorange}var i,a,o,s=t.layout,l=t._fullLayout,u=Object.keys(e),c=y.Axes.list(t),h={};for(a=0;a<u.length;a++)if(0===u[a].indexOf(\"allaxes\")){for(o=0;o<c.length;o++){var f=c[o]._id.substr(1),d=f.indexOf(\"scene\")!==-1?f+\".\":\"\",p=u[a].replace(\"allaxes\",d+c[o]._name);e[p]||(e[p]=e[u[a]])}delete e[u[a]]}var m={dolegend:!1,doticks:!1,dolayoutstyle:!1,doplot:!1,docalc:!1,domodebar:!1,docamera:!1,layoutReplot:!1},g={},v={};for(var x in e){if(D.hasParent(e,x))throw new Error(\"cannot set \"+x+\"and a parent attribute simultaneously\");var _=b.nestedProperty(s,x),A=e[x],k=_.parts.length,T=\"string\"==typeof _.parts[k-1]?k-1:k-2,E=_.parts[0],S=_.parts[T],L=_.parts[T-1]+\".\"+S,I=_.parts.slice(0,T).join(\".\"),P=b.nestedProperty(t.layout,I).get(),O=b.nestedProperty(l,I).get();if(void 0!==A){if(g[x]=A,v[x]=\"reverse\"===S?A:_.get(),[\"width\",\"height\"].indexOf(x)!==-1&&null===A?t._fullLayout[x]=t._initialAutoSize[x]:L.match(/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/)?r(I+\".autorange\",!1):L.match(/^[xyz]axis[0-9]*\\.autorange$/)?r([I+\".range[0]\",I+\".range[1]\"],void 0):L.match(/^aspectratio\\.[xyz]$/)?r(E+\".aspectmode\",\"manual\"):L.match(/^aspectmode$/)?r([I+\".x\",I+\".y\",I+\".z\"],void 0):\"tick0\"===S||\"dtick\"===S?r(I+\".tickmode\",\"linear\"):\"tickmode\"===S?r([I+\".tick0\",I+\".dtick\"],void 0):/[xy]axis[0-9]*?$/.test(S)&&!Object.keys(A||{}).length?m.docalc=!0:/[xy]axis[0-9]*\\.categoryorder$/.test(L)?m.docalc=!0:/[xy]axis[0-9]*\\.categoryarray/.test(L)&&(m.docalc=!0),L.indexOf(\"rangeslider\")!==-1&&(m.docalc=!0),\"type\"===S){var R=P,F=\"linear\"===O.type&&\"log\"===A,j=\"log\"===O.type&&\"linear\"===A;if(F||j){if(R&&R.range)if(O.autorange)F&&(R.range=R.range[1]>R.range[0]?[1,2]:[2,1]);else{var N=R.range[0],B=R.range[1];F?(N<=0&&B<=0&&r(I+\".autorange\",!0),N<=0?N=B/1e6:B<=0&&(B=N/1e6),r(I+\".range[0]\",Math.log(N)/Math.LN10),r(I+\".range[1]\",Math.log(B)/Math.LN10)):(r(I+\".range[0]\",Math.pow(10,N)),r(I+\".range[1]\",Math.pow(10,B)))}else r(I+\".autorange\",!0);w.getComponentMethod(\"annotations\",\"convertCoords\")(t,O,A,r),w.getComponentMethod(\"images\",\"convertCoords\")(t,O,A,r)}else r(I+\".autorange\",!0)}else if(S.match(z.AX_NAME_PATTERN)){var U=b.nestedProperty(l,x).get(),V=(A||{}).type;V&&\"-\"!==V||(V=\"linear\"),w.getComponentMethod(\"annotations\",\"convertCoords\")(t,U,V,r),w.getComponentMethod(\"images\",\"convertCoords\")(t,U,V,r)}var H=C.containerArrayMatch(x);if(H){i=H.array,a=H.index;var q=H.property,G=b.nestedProperty(s,i),Y=(G||[])[a]||{};if(\"\"===a)x.indexOf(\"updatemenus\")===-1&&(m.docalc=!0);else if(\"\"===q){var X=A;C.isAddVal(A)?v[x]=null:C.isRemoveVal(A)?(v[x]=Y,X=Y):b.warn(\"unrecognized full object value\",e),(n(X,\"x\")||n(X,\"y\")&&x.indexOf(\"updatemenus\")===-1)&&(m.docalc=!0)}else!n(Y,\"x\")&&!n(Y,\"y\")||b.containsAny(x,[\"color\",\"opacity\",\"align\",\"dash\",\"updatemenus\"])||(m.docalc=!0);h[i]||(h[i]={});var W=h[i][a];W||(W=h[i][a]={}),W[q]=A,delete e[x]}else if(\"reverse\"===S)P.range?P.range.reverse():(r(I+\".autorange\",!0),P.range=[1,0]),O.autorange?m.docalc=!0:m.doplot=!0;else{var Z=String(_.parts[1]||\"\");0===E.indexOf(\"scene\")?\"camera\"===_.parts[1]?m.docamera=!0:m.doplot=!0:0===E.indexOf(\"geo\")?m.doplot=!0:0===E.indexOf(\"ternary\")?m.doplot=!0:\"paper_bgcolor\"===x?m.doplot=!0:!l._has(\"gl2d\")||x.indexOf(\"axis\")===-1&&\"plot_bgcolor\"!==x?\"hiddenlabels\"===x?m.docalc=!0:E.indexOf(\"legend\")!==-1?m.dolegend=!0:x.indexOf(\"title\")!==-1?m.doticks=!0:E.indexOf(\"bgcolor\")!==-1?m.dolayoutstyle=!0:k>1&&b.containsAny(Z,[\"tick\",\"exponent\",\"grid\",\"zeroline\"])?m.doticks=!0:x.indexOf(\".linewidth\")!==-1&&x.indexOf(\"axis\")!==-1?m.doticks=m.dolayoutstyle=!0:k>1&&Z.indexOf(\"line\")!==-1?m.dolayoutstyle=!0:k>1&&\"mirror\"===Z?m.doticks=m.dolayoutstyle=!0:\"margin.pad\"===x?m.doticks=m.dolayoutstyle=!0:\"margin\"===E||\"autorange\"===Z||\"rangemode\"===Z||\"type\"===Z||\"domain\"===Z||x.indexOf(\"calendar\")!==-1||x.match(/^(bar|box|font)/)?m.docalc=!0:[\"hovermode\",\"dragmode\"].indexOf(x)!==-1?m.domodebar=!0:[\"hovermode\",\"dragmode\",\"height\",\"width\",\"autosize\"].indexOf(x)===-1&&(m.doplot=!0):m.doplot=!0,_.set(A)}}}for(i in h){C.applyContainerArrayChanges(t,b.nestedProperty(s,i),h[i],m)||(m.doplot=!0)}var J=t._fullLayout.width,K=t._fullLayout.height;return t.layout.autosize&&M.plotAutoSize(t,t.layout,t._fullLayout),(e.height||e.width||t._fullLayout.width!==J||t._fullLayout.height!==K)&&(m.docalc=!0),(m.doplot||m.docalc)&&(m.layoutReplot=!0),{flags:m,undoit:v,redoit:g,eventData:b.extendDeep({},g)}}function m(t){var e=g.select(t),r=t._fullLayout;if(r._container=e.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([0]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var n=[];g.selectAll(\"defs\").each(function(){this.id&&n.push(this.id.split(\"-\")[1])}),r._uid=b.randstr(n)}r._paperdiv.selectAll(\".main-svg\").attr(S.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0);var a=r._paper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._toppaper.append(\"g\").classed(\"hoverlayer\",!0),t.emit(\"plotly_framework\")}var g=t(\"d3\"),v=t(\"fast-isnumeric\"),y=t(\"../plotly\"),b=t(\"../lib\"),x=t(\"../lib/events\"),_=t(\"../lib/queue\"),w=t(\"../registry\"),M=t(\"../plots/plots\"),A=t(\"../plots/cartesian/graph_interact\"),k=t(\"../plots/polar\"),T=t(\"../components/drawing\"),E=t(\"../components/errorbars\"),S=t(\"../constants/xmlns_namespaces\"),L=t(\"../lib/svg_text_utils\"),C=t(\"./manage_arrays\"),D=t(\"./helpers\"),I=t(\"./subroutines\"),z=t(\"../plots/cartesian/constants\");y.plot=function(t,e,r,n){function o(){if(v)return y.addFrames(t,v)}function s(){for(var e=S._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return b.syncOrAsync([I.layoutStyles,f,A.init],t)}function l(){var e,r,n,i=t.calcdata;for(w.getComponentMethod(\"legend\",\"draw\")(t),w.getComponentMethod(\"rangeselector\",\"draw\")(t),w.getComponentMethod(\"sliders\",\"draw\")(t),w.getComponentMethod(\"updatemenus\",\"draw\")(t),e=0;e<i.length;e++)r=i[e],n=r[0].trace,n.visible===!0&&n._module.colorbar?n._module.colorbar(t,r):M.autoMargin(t,\"cb\"+n.uid);return M.doAutoMargin(t),M.previousPromises(t)}function u(){var e=JSON.stringify(S._size)===z?[]:[l,I.layoutStyles];return e=e.concat(A.init),b.syncOrAsync(e,t)}function c(){if(L){for(var e,r,n=M.getSubplotIds(S,\"cartesian\"),i=S._modules,a=0;a<n.length;a++){e=S._plots[n[a]];for(var o=0;o<i.length;o++)r=i[o],r.setPositions&&r.setPositions(t,e)}return E.calc(t),b.syncOrAsync([w.getComponentMethod(\"shapes\",\"calcAutorange\"),w.getComponentMethod(\"annotations\",\"calcAutorange\"),h,w.getComponentMethod(\"rangeslider\",\"calcAutorange\")],t)}}function h(){if(!t._transitioning)for(var e=y.Axes.list(t,\"\",!0),r=0;r<e.length;r++)y.Axes.doAutoRange(e[r])}function f(){return y.Axes.doTicks(t,\"redraw\")}function d(){var e,r=t.calcdata;for(e=0;e<r.length;e++){var n=r[e][0].trace,i=n.visible===!0,a=n.uid;if(!i||!w.traceIs(n,\"2dMap\")){var o=\".hm\"+a+\",.contour\"+a+\",#clip\"+a;S._paper.selectAll(o).remove(),S._infolayer.selectAll(\"g.rangeslider-container\").selectAll(o).remove()}i&&n._module.colorbar||S._infolayer.selectAll(\".cb\"+a).remove()}var s=S._basePlotModules;for(e=0;e<s.length;e++)s[e].plot(t);var l=S._paper.selectAll(\".layer-subplot\");return S._shapeSubplotLayers=l.selectAll(\".shapelayer\"),M.style(t),w.getComponentMethod(\"shapes\",\"draw\")(t),w.getComponentMethod(\"annotations\",\"draw\")(t),M.addLinks(t),S._replotting=!1,M.previousPromises(t)}function p(){w.getComponentMethod(\"shapes\",\"draw\")(t),w.getComponentMethod(\"images\",\"draw\")(t),w.getComponentMethod(\"annotations\",\"draw\")(t),w.getComponentMethod(\"legend\",\"draw\")(t),w.getComponentMethod(\"rangeslider\",\"draw\")(t),w.getComponentMethod(\"rangeselector\",\"draw\")(t),w.getComponentMethod(\"sliders\",\"draw\")(t),w.getComponentMethod(\"updatemenus\",\"draw\")(t)}var v;if(t=D.getGraphDiv(t),x.init(t),b.isPlainObject(e)){var _=e;e=_.data,r=_.layout,n=_.config,v=_.frames}if(x.triggerHandler(t,\"plotly_beforeplot\",[e,r,n])===!1)return Promise.reject();e||r||b.isPlotDiv(t)||b.warn(\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\",t),i(t,n),r||(r={}),g.select(t).classed(\"js-plotly-plot\",!0),T.makeTester(t),t._promises=[];var k=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(D.cleanData(e,t.data),k?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!k||(t.layout=D.cleanLayout(r)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,M.supplyDefaults(t);var S=t._fullLayout;if(e&&e[0]&&e[0].r)return a(t,e,r);S._replotting=!0,k&&m(t),t.framework!==m&&(t.framework=m,m(t)),k&&y.Axes.saveRangeInitial(t);var L=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;L&&M.doCalcdata(t);for(var C=0;C<t.calcdata.length;C++)t.calcdata[C][0].trace=t._fullData[C];var z=JSON.stringify(S._size),P=[M.previousPromises,o,s,l,u,c,I.layoutStyles,f,d,p,M.rehover];return b.syncOrAsync(P,t),Promise.all(t._promises).then(function(){return t.emit(\"plotly_afterplot\"),t})},y.redraw=function(t){if(t=D.getGraphDiv(t),!b.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);return D.cleanData(t.data,t.data),D.cleanLayout(t.layout),t.calcdata=void 0,y.plot(t).then(function(){return t.emit(\"plotly_redraw\"),t})},y.newPlot=function(t,e,r,n){return t=D.getGraphDiv(t),M.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),M.purge(t),y.plot(t,e,r,n)},y.extendTraces=function t(e,r,n,i){e=D.getGraphDiv(e);var a=f(e,r,n,i,function(t,e){return t.concat(e)},function(t,e){return t.splice(0,t.length-e)}),o=y.redraw(e),s=[e,a.update,n,a.maxPoints];return _.add(e,y.prependTraces,s,t,arguments),o},y.prependTraces=function t(e,r,n,i){e=D.getGraphDiv(e);var a=f(e,r,n,i,function(t,e){return e.concat(t)},function(t,e){return t.splice(e,t.length)}),o=y.redraw(e),s=[e,a.update,n,a.maxPoints];return _.add(e,y.extendTraces,s,t,arguments),o},y.addTraces=function t(e,r,n){e=D.getGraphDiv(e);var i,a,o=[],s=y.deleteTraces,c=t,h=[e,o],f=[e,r];for(u(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return b.extendFlat({},t)}),D.cleanData(r,e.data),i=0;i<r.length;i++)e.data.push(r[i]);for(i=0;i<r.length;i++)o.push(-r.length+i);if(void 0===n)return a=y.redraw(e),_.add(e,s,h,c,f),a;Array.isArray(n)||(n=[n]);try{l(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return _.startSequence(e),_.add(e,s,h,c,f),a=y.moveTraces(e,o,n),_.stopSequence(e),a},y.deleteTraces=function t(e,r){e=D.getGraphDiv(e);var n,i,a=[],l=y.addTraces,u=t,c=[e,a,r],h=[e,r];if(void 0===r)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(r)||(r=[r]),s(e,r,\"indices\"),r=o(r,e.data.length-1),r.sort(b.sorterDes),n=0;n<r.length;n+=1)i=e.data.splice(r[n],1)[0],a.push(i);var f=y.redraw(e);return _.add(e,l,c,u,h),f},y.moveTraces=function t(e,r,n){e=D.getGraphDiv(e);var i,a=[],s=[],u=t,c=t,h=[e,n,r],f=[e,r,n];if(l(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i<r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=o(r,e.data.length-1),n=o(n,e.data.length-1),i=0;i<e.data.length;i++)r.indexOf(i)===-1&&a.push(e.data[i]);for(i=0;i<r.length;i++)s.push({newIndex:n[i],trace:e.data[r[i]]});for(s.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<s.length;i+=1)a.splice(s[i].newIndex,0,s[i].trace);e.data=a;var d=y.redraw(e);return _.add(e,u,h,c,f),d},y.restyle=function t(e,r,n,i){e=D.getGraphDiv(e),D.clearPromiseQueue(e);var a={};if(\"string\"==typeof r)a[r]=n;else{if(!b.isPlainObject(r))return b.warn(\"Restyle fail.\",r,n,i),Promise.reject();a=b.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var o=d(e,a,i),s=o.flags;s.clearCalc&&(e.calcdata=void 0);var l=[];s.fullReplot?l.push(y.plot):(l.push(M.previousPromises),M.supplyDefaults(e),s.dostyle&&l.push(I.doTraceStyle),s.docolorbars&&l.push(I.doColorBars)),l.push(M.rehover),_.add(e,t,[e,o.undoit,o.traces],t,[e,o.redoit,o.traces]);var u=b.syncOrAsync(l,e);return u&&u.then||(u=Promise.resolve()),u.then(function(){return e.emit(\"plotly_restyle\",o.eventData),e})},y.relayout=function t(e,r,n){if(e=D.getGraphDiv(e),D.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\"string\"==typeof r)i[r]=n;else{if(!b.isPlainObject(r))return b.warn(\"Relayout fail.\",r,n),Promise.reject();i=b.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=p(e,i),o=a.flags;o.docalc&&(e.calcdata=void 0);var s=[M.previousPromises];o.layoutReplot?s.push(I.layoutReplot):Object.keys(i).length&&(M.supplyDefaults(e),o.dolegend&&s.push(I.doLegend),o.dolayoutstyle&&s.push(I.layoutStyles),o.doticks&&s.push(I.doTicksRelayout),o.domodebar&&s.push(I.doModeBar),o.docamera&&s.push(I.doCamera)),s.push(M.rehover),_.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=b.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(\"plotly_relayout\",a.eventData),e})},y.update=function t(e,r,n,i){if(e=D.getGraphDiv(e),D.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);b.isPlainObject(r)||(r={}),b.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=d(e,b.extendFlat({},r),i),o=a.flags,s=p(e,b.extendFlat({},n)),l=s.flags;(o.clearCalc||l.docalc)&&(e.calcdata=void 0);var u=[];if(o.fullReplot&&l.layoutReplot){var c=e.data,h=e.layout;e.data=void 0,e.layout=void 0,u.push(function(){return y.plot(e,c,h)})}else o.fullReplot?u.push(y.plot):l.layoutReplot?u.push(I.layoutReplot):(u.push(M.previousPromises),M.supplyDefaults(e),o.dostyle&&u.push(I.doTraceStyle),o.docolorbars&&u.push(I.doColorBars),l.dolegend&&u.push(I.doLegend),l.dolayoutstyle&&u.push(I.layoutStyles),l.doticks&&u.push(I.doTicksRelayout),l.domodebar&&u.push(I.doModeBar),l.doCamera&&u.push(I.doCamera));u.push(M.rehover),_.add(e,t,[e,a.undoit,s.undoit,a.traces],t,[e,a.redoit,s.redoit,a.traces]);var f=b.syncOrAsync(u,e);return f&&f.then||(f=Promise.resolve(e)),f.then(function(){return e.emit(\"plotly_update\",{data:a.eventData,layout:s.eventData}),e})},y.animate=function(t,e,r){function n(t){return Array.isArray(s)?t>=s.length?s[0]:s[t]:s}function i(t){return Array.isArray(l)?t>=l.length?l[0]:l[t]:l}function a(t,e){var r=0;return function(){if(t&&++r===e)return t()}}if(t=D.getGraphDiv(t),!b.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/\");var o=t._transitionData;o._frameQueue||(o._frameQueue=[]),r=M.supplyAnimationDefaults(r);var s=r.transition,l=r.frame;return void 0===o._frameWaitingCnt&&(o._frameWaitingCnt=0),new Promise(function(l,u){function c(){t.emit(\"plotly_animated\"),window.cancelAnimationFrame(o._animationRaf),o._animationRaf=null}function h(){o._currentFrame&&o._currentFrame.onComplete&&o._currentFrame.onComplete();var e=o._currentFrame=o._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,o._lastFrameAt=Date.now(),o._timeToNext=e.frameOpts.duration,M.transition(t,e.frame.data,e.frame.layout,D.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit(\"plotly_animatingframe\",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else c()}function f(){t.emit(\"plotly_animating\"),o._lastFrameAt=-(1/0),o._timeToNext=0,o._runningTransitions=0,o._currentFrame=null;var e=function(){o._animationRaf=window.requestAnimationFrame(e),Date.now()-o._lastFrameAt>o._timeToNext&&h()};e()}function d(t){return Array.isArray(s)?g>=s.length?t.transitionOpts=s[g]:t.transitionOpts=s[0]:t.transitionOpts=s,g++,t}var p,m,g=0,v=[],y=void 0===e||null===e,x=Array.isArray(e);if(y||x||!b.isPlainObject(e)){if(y||[\"string\",\"number\"].indexOf(typeof e)!==-1)for(p=0;p<o._frames.length;p++)(m=o._frames[p])&&(y||String(m.group)===String(e))&&v.push({type:\"byname\",name:String(m.name),data:d({name:m.name})});else if(x)for(p=0;p<e.length;p++){var _=e[p];[\"number\",\"string\"].indexOf(typeof _)!==-1?(_=String(_),v.push({type:\"byname\",name:_,data:d({name:_})})):b.isPlainObject(_)&&v.push({type:\"object\",data:d(b.extendFlat({},_))})}}else v.push({type:\"object\",data:d(b.extendFlat({},e))});for(p=0;p<v.length;p++)if(m=v[p],\"byname\"===m.type&&!o._frameHash[m.data.name])return b.warn('animate failure: frame not found: \"'+m.data.name+'\"'),void u();[\"next\",\"immediate\"].indexOf(r.mode)!==-1&&function(){if(0!==o._frameQueue.length){for(;o._frameQueue.length;){var e=o._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\"plotly_animationinterrupted\",[])}}(),\"reverse\"===r.direction&&v.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var A=-1;for(p=0;p<v.length;p++)if(m=v[p],\"byname\"===m.type&&m.name===w){A=p;break}if(A>0&&A<v.length-1){var k=[];for(p=0;p<v.length;p++)m=v[p],(\"byname\"!==v[p].type||p>A)&&k.push(m);v=k}}v.length>0?function(e){if(0!==e.length){for(var s=0;s<e.length;s++){var c;c=\"byname\"===e[s].type?M.computeFrame(t,e[s].name):e[s].data;var h=i(s),d=n(s);d.duration=Math.min(d.duration,h.duration);var p={frame:c,name:e[s].name,frameOpts:h,transitionOpts:d};s===e.length-1&&(p.onComplete=a(l,2),p.onInterrupt=u),o._frameQueue.push(p)}\"immediate\"===r.mode&&(o._lastFrameAt=-(1/0)),o._animationRaf||f()}}(v):(t.emit(\"plotly_animated\"),l())})},y.addFrames=function(t,e,r){t=D.getGraphDiv(t);var n=0;if(null===e||void 0===e)return Promise.resolve();if(!b.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/\");var i,a,o,s,l=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+e);var c=l.length+2*e.length,h=[];for(i=e.length-1;i>=0;i--)if(b.isPlainObject(e[i])){var f=(u[e[i].name]||{}).name,d=e[i].name;f&&d&&\"number\"==typeof d&&u[f]&&(n++,b.warn('addFrames: overwriting frame \"'+u[f].name+'\" with a frame whose name of type \"number\" also equates to \"'+f+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),n>5&&b.warn(\"addFrames: This API call has yielded too many warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),h.push({frame:M.supplyFrameDefaults(e[i]),index:r&&void 0!==r[i]&&null!==r[i]?r[i]:c+i})}h.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var p=[],m=[],g=l.length;for(i=h.length-1;i>=0;i--){if(a=h[i].frame,\"number\"==typeof a.name&&b.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!a.name)for(;u[a.name=\"frame \"+t._transitionData._counter++];);if(u[a.name]){for(o=0;o<l.length&&(l[o]||{}).name!==a.name;o++);p.push({type:\"replace\",index:o,value:a}),m.unshift({type:\"replace\",index:o,value:l[o]})}else s=Math.max(0,Math.min(h[i].index,g)),p.push({type:\"insert\",index:s,value:a}),m.unshift({type:\"delete\",index:s}),g++}var v=M.modifyFrames,y=M.modifyFrames,x=[t,m],w=[t,p];return _&&_.add(t,v,x,y,w),M.modifyFrames(t,p)},y.deleteFrames=function(t,e){if(t=D.getGraphDiv(t),!b.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);var r,n,i=t._transitionData._frames,a=[],o=[];for(e=e.slice(0),e.sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\"delete\",index:n}),o.unshift({type:\"insert\",index:n,value:i[n]});var s=M.modifyFrames,l=M.modifyFrames,u=[t,o],c=[t,a];return _&&_.add(t,s,u,l,c),M.modifyFrames(t,a)},y.purge=function(t){t=D.getGraphDiv(t);var e=t._fullLayout||{},r=t._fullData||[];return M.cleanPlot([],{},r,e),M.purge(t),x.purge(t),e._container&&e._container.remove(),delete t._context,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,delete t._hmpixcount,delete t._hmlumcount,t}},{\"../components/drawing\":599,\"../components/errorbars\":605,\"../constants/xmlns_namespaces\":665,\"../lib\":681,\"../lib/events\":672,\"../lib/queue\":693,\"../lib/svg_text_utils\":700,\"../plotly\":715,\"../plots/cartesian/constants\":725,\"../plots/cartesian/graph_interact\":727,\"../plots/plots\":779,\"../plots/polar\":782,\"../registry\":794,\"./helpers\":705,\"./manage_arrays\":706,\"./subroutines\":712,d3:104,\"fast-isnumeric\":113}],708:[function(t,e,r){\"use strict\";function n(t,r){try{t._fullLayout._paper.style(\"background\",r)}catch(t){e.exports.logging>0&&console.error(t)}}e.exports={staticPlot:!1,editable:!1,autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\"reset+autosize\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\"Edit chart\",showSources:!1,displayModeBar:\"hover\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:n,topojsonURL:\"https://cdn.plot.ly/\",mapboxAccessToken:null,logging:!1,globalTransforms:[]}},{}],709:[function(t,e,r){\"use strict\";function n(t){var e,r;\"area\"===t?(e={attributes:b},r={}):(e=d.modules[t]._module,r=e.basePlotModule);var n={};n.type=null,w(n,m),w(n,e.attributes),r.attributes&&w(n,r.attributes),Object.keys(d.componentsRegistry).forEach(function(e){var r=d.componentsRegistry[e];r.schema&&r.schema.traces&&r.schema.traces[t]&&Object.keys(r.schema.traces[t]).forEach(function(e){f(n,r.schema.traces[t][e],e)})}),n.type=t;var i={meta:e.meta||{},attributes:s(n)};if(e.layoutAttributes){var a={};w(a,e.layoutAttributes),i.layoutAttributes=s(a)}return i}function i(){var t={};return w(t,g),Object.keys(d.subplotsRegistry).forEach(function(e){var r=d.subplotsRegistry[e];if(r.layoutAttributes)if(\"cartesian\"===r.name)h(t,r,\"xaxis\"),h(t,r,\"yaxis\");else{var n=\"subplot\"===r.attr?r.name:r.attr;h(t,r,n)}}),t=c(t),Object.keys(d.componentsRegistry).forEach(function(e){var r=d.componentsRegistry[e];r.layoutAttributes&&(r.schema&&r.schema.layout?Object.keys(r.schema.layout).forEach(function(e){f(t,r.schema.layout[e],e)}):f(t,r.layoutAttributes,r.name))}),{layoutAttributes:s(t)}}function a(t){var e=d.transformsRegistry[t],r=w({},e.attributes);return Object.keys(d.componentsRegistry).forEach(function(e){var n=d.componentsRegistry[e];n.schema&&n.schema.transforms&&n.schema.transforms[t]&&Object.keys(n.schema.transforms[t]).forEach(function(e){f(r,n.schema.transforms[t][e],e)})}),{attributes:s(r)}}function o(){var t={frames:p.extendDeep({},v)};return s(t),t.frames}function s(t){return l(t),u(t),t}function l(t){function e(t){return{valType:\"string\"}}function n(t,n,i){r.isValObject(t)?\"data_array\"===t.valType?(t.role=\"data\",i[n+\"src\"]=e(n)):t.arrayOk===!0&&(i[n+\"src\"]=e(n)):p.isPlainObject(t)&&(t.role=\"object\")}r.crawl(t,n)}function u(t){function e(t,e,r){if(t){var n=t[A];n&&(delete t[A],r[e]={items:{}},r[e].items[n]=t,r[e].role=\"object\")}}r.crawl(t,e)}function c(t){return _(t,{radialaxis:x.radialaxis,angularaxis:x.angularaxis}),_(t,x.layout),t}function h(t,e,r){var n=p.nestedProperty(t,r),i=w({},e.layoutAttributes);i[M]=!0,n.set(i)}function f(t,e,r){var n=p.nestedProperty(t,r);n.set(w(n.get()||{},e))}var d=t(\"../registry\"),p=t(\"../lib\"),m=t(\"../plots/attributes\"),g=t(\"../plots/layout_attributes\"),v=t(\"../plots/frame_attributes\"),y=t(\"../plots/animation_attributes\"),b=t(\"../plots/polar/area_attributes\"),x=t(\"../plots/polar/axis_attributes\"),_=p.extendFlat,w=p.extendDeep,M=\"_isSubplotObj\",A=\"_isLinkedToArray\",k=[M,A,\"_arrayAttrRegexps\",\"_deprecated\"];r.IS_SUBPLOT_OBJ=M,r.IS_LINKED_TO_ARRAY=A,r.DEPRECATED=\"_deprecated\",r.UNDERSCORE_ATTRS=k,r.get=function(){var t={};d.allTypes.concat(\"area\").forEach(function(e){t[e]=n(e)});var e={};return Object.keys(d.transformsRegistry).forEach(function(t){e[t]=a(t)}),{defs:{valObjects:p.valObjects,metaKeys:k.concat([\"description\",\"role\"])},traces:t,layout:i(),transforms:e,frames:o(),animation:s(y)}},r.crawl=function(t,e,n){var i=n||0;Object.keys(t).forEach(function(n){var a=t[n];k.indexOf(n)===-1&&(e(a,n,t,i),r.isValObject(a)||p.isPlainObject(a)&&r.crawl(a,e,i+1))})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){function e(e,r,o,s){if(a=a.slice(0,s).concat([r]),e&&(\"data_array\"===e.valType||e.arrayOk===!0)){var l=n(a),u=p.nestedProperty(t,l).get();Array.isArray(u)&&i.push(l)}}function n(t){return t.join(\".\")}var i=[],a=[];if(r.crawl(t._module.attributes,e),t.transforms)for(var o=t.transforms,s=0;s<o.length;s++){var l=o[s];a=[\"transforms[\"+s+\"]\"],r.crawl(l._module.attributes,e,1)}return t._fullInput&&(r.crawl(t._fullInput._module.attributes,e),i=p.filterUnique(i)),i}},{\"../lib\":681,\"../plots/animation_attributes\":716,\"../plots/attributes\":718,\"../plots/frame_attributes\":741,\"../plots/layout_attributes\":770,\"../plots/polar/area_attributes\":780,\"../plots/polar/axis_attributes\":781,\"../registry\":794}],710:[function(t,e,r){\"use strict\";function n(t){o.register(t,t.name,t.categories,t.meta),o.subplotsRegistry[t.basePlotModule.name]||o.registerSubplot(t.basePlotModule)}function i(t){if(\"string\"!=typeof t.name)throw new Error(\"Transform module *name* must be a string.\");var e=\"Transform module \"+t.name,r=\"function\"==typeof t.transform,n=\"function\"==typeof t.calcTransform;if(!r&&!n)throw new Error(e+\" is missing a *transform* or *calcTransform* method.\");r&&n&&s.log([e+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),s.isPlainObject(t.attributes)||s.log(e+\" registered without an *attributes* object.\"),\"function\"!=typeof t.supplyDefaults&&s.log(e+\" registered without a *supplyDefaults* method.\"),o.transformsRegistry[t.name]=t}function a(t){if(\"string\"!=typeof t.name)throw new Error(\"Component module *name* must be a string.\");o.registerComponent(t)}var o=t(\"../registry\"),s=t(\"../lib\");e.exports=function(t){if(!t)throw new Error(\"No argument passed to Plotly.register.\");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var r=t[e];if(!r)throw new Error(\"Invalid module was attempted to be registered!\");switch(r.moduleType){case\"trace\":n(r);break;case\"transform\":i(r);break;case\"component\":a(r);break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}}},{\"../lib\":681,\"../registry\":794}],711:[function(t,e,r){\"use strict\";var n=t(\"../plotly\"),i=t(\"../lib\");e.exports=function(t){return i.extendFlat(n.defaultConfig,t)}},{\"../lib\":681,\"../plotly\":715}],712:[function(t,e,r){\"use strict\";function n(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}var i=t(\"d3\"),a=t(\"../plotly\"),o=t(\"../registry\"),s=t(\"../plots/plots\"),l=t(\"../lib\"),u=t(\"../components/color\"),c=t(\"../components/drawing\"),h=t(\"../components/titles\"),f=t(\"../components/modebar\");r.layoutStyles=function(t){return l.syncOrAsync([s.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){var e,o=t._fullLayout,s=o._size,l=a.Axes.list(t);for(e=0;e<l.length;e++)l[e]._linepositions={};o._paperdiv.style({width:o.width+\"px\",height:o.height+\"px\"}).selectAll(\".main-svg\").call(c.setSize,o.width,o.height),t._context.setBackground(t,o.paper_bgcolor);var h=o._paper.selectAll(\"g.subplot\"),d=[],p=[];h.each(function(e){var r=o._plots[e];if(r.mainplot)return r.bg&&r.bg.remove(),void(r.bg=void 0);var i=a.Axes.getFromId(t,e,\"x\"),s=a.Axes.getFromId(t,e,\"y\"),l=i.domain,u=s.domain,c=[];n(l,u,p)?c=[0]:(d.push(e),p.push([l,u]));var h=r.plotgroup.selectAll(\".bg\").data(c);h.enter().append(\"rect\").classed(\"bg\",!0),h.exit().remove(),h.each(function(){r.bg=h;var t=r.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var m=o._bgLayer.selectAll(\".bg\").data(d);m.enter().append(\"rect\").classed(\"bg\",!0),m.exit().remove(),m.each(function(t){o._plots[t].bg=i.select(this)});var g=[];return h.each(function(e){var r=o._plots[e],n=a.Axes.getFromId(t,e,\"x\"),i=a.Axes.getFromId(t,e,\"y\");n.setScale(),i.setScale(),r.bg&&r.bg.call(c.setRect,n._offset-s.p,i._offset-s.p,n._length+2*s.p,i._length+2*s.p).call(u.fill,o.plot_bgcolor).style(\"stroke-width\",0),r.clipId=\"clip\"+o._uid+e+\"plot\";var l=o._defs.selectAll(\"g.clips\").selectAll(\"#\"+r.clipId).data([0]);l.enter().append(\"clipPath\").attr({class:\"plotclip\",id:r.clipId}).append(\"rect\"),l.selectAll(\"rect\").attr({width:n._length,height:i._length}),r.plot.call(c.setTranslate,n._offset,i._offset),r.plot.call(c.setClipUrl,r.clipId)\n;var h=c.crispRound(t,n.linewidth,1),f=c.crispRound(t,i.linewidth,1),d=s.p+f,p=\"M\"+-d+\",\",m=\"h\"+(n._length+2*d),v=\"free\"===n.anchor&&g.indexOf(n._id)===-1,y=s.h*(1-(n.position||0))+h/2%1,b=n.anchor===i._id&&(n.mirror||\"top\"!==n.side)||\"all\"===n.mirror||\"allticks\"===n.mirror||n.mirrors&&n.mirrors[i._id+\"bottom\"],x=i._length+s.p+h/2,_=n.anchor===i._id&&(n.mirror||\"top\"===n.side)||\"all\"===n.mirror||\"allticks\"===n.mirror||n.mirrors&&n.mirrors[i._id+\"top\"],w=-s.p-h/2,M=s.p,A=b?0:h,k=_?0:h,T=\",\"+(-M-k)+\"v\"+(i._length+2*M+k+A),E=\"free\"===i.anchor&&g.indexOf(i._id)===-1,S=s.w*(i.position||0)+f/2%1,L=i.anchor===n._id&&(i.mirror||\"right\"!==i.side)||\"all\"===i.mirror||\"allticks\"===i.mirror||i.mirrors&&i.mirrors[n._id+\"left\"],C=-s.p-f/2,D=i.anchor===n._id&&(i.mirror||\"right\"===i.side)||\"all\"===i.mirror||\"allticks\"===i.mirror||i.mirrors&&i.mirrors[n._id+\"right\"],I=n._length+s.p+f/2;n._linepositions[e]=[b?x:void 0,_?w:void 0,v?y:void 0],n.anchor===i._id?n._linepositions[e][3]=\"top\"===n.side?w:x:v&&(n._linepositions[e][3]=y),i._linepositions[e]=[L?C:void 0,D?I:void 0,E?S:void 0],i.anchor===n._id?i._linepositions[e][3]=\"right\"===i.side?I:C:E&&(i._linepositions[e][3]=S);var z=\"translate(\"+n._offset+\",\"+i._offset+\")\",P=z,O=z;v&&(P=\"translate(\"+n._offset+\",\"+s.t+\")\",w+=i._offset-s.t,x+=i._offset-s.t),E&&(O=\"translate(\"+s.l+\",\"+i._offset+\")\",C+=n._offset-s.l,I+=n._offset-s.l),r.xlines.attr(\"transform\",P).attr(\"d\",(b?p+x+m:\"\")+(_?p+w+m:\"\")+(v?p+y+m:\"\")||\"M0,0\").style(\"stroke-width\",h+\"px\").call(u.stroke,n.showline?n.linecolor:\"rgba(0,0,0,0)\"),r.ylines.attr(\"transform\",O).attr(\"d\",(L?\"M\"+C+T:\"\")+(D?\"M\"+I+T:\"\")+(E?\"M\"+S+T:\"\")||\"M0,0\").attr(\"stroke-width\",f+\"px\").call(u.stroke,i.showline?i.linecolor:\"rgba(0,0,0,0)\"),r.xaxislayer.attr(\"transform\",P),r.yaxislayer.attr(\"transform\",O),r.gridlayer.attr(\"transform\",z),r.zerolinelayer.attr(\"transform\",z),r.draglayer.attr(\"transform\",z),v&&g.push(n._id),E&&g.push(i._id)}),a.Axes.makeClipPaths(t),r.drawMainTitle(t),f.manage(t),t._promises.length&&Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;h.draw(t,\"gtitle\",{propContainer:e,propName:\"title\",dfltName:\"Plot\",attributes:{x:e.width/2,y:e._size.t/2,\"text-anchor\":\"middle\"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=((r[0]||{}).trace||{})._module||{},i=n.arraysToCalcdata;i&&i(r,r[0].trace)}return s.style(t),o.getComponentMethod(\"legend\",\"draw\")(t),s.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;o.traceIs(n,\"contour\")&&i.line({width:n.contours.showlines!==!1?n.line.width:0,dash:n.line.dash,color:\"line\"===n.contours.coloring?i._opts.line.color:n.line.color}),o.traceIs(n,\"markerColorscale\")?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return s.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,a.plot(t,\"\",e)},r.doLegend=function(t){return o.getComponentMethod(\"legend\",\"draw\")(t),s.previousPromises(t)},r.doTicksRelayout=function(t){return a.Axes.doTicks(t,\"redraw\"),r.drawMainTitle(t),s.previousPromises(t)},r.doModeBar=function(t){var e,r,n=t._fullLayout;for(f.manage(t),a.Fx.init(t),e=s.getSubplotIds(n,\"gl3d\"),r=0;r<e.length;r++){n[e[r]]._scene.updateFx(n.dragmode,n.hovermode)}return s.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=s.getSubplotIds(e,\"gl3d\"),n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}}},{\"../components/color\":576,\"../components/drawing\":599,\"../components/modebar\":623,\"../components/titles\":652,\"../lib\":681,\"../plotly\":715,\"../plots/plots\":779,\"../registry\":794,d3:104}],713:[function(t,e,r){\"use strict\";function n(t,e){return new Promise(function(r,n){function h(){var t=s.getDelay(p._fullLayout);return new Promise(function(r,n){setTimeout(function(){var t=u(p),i=document.createElement(\"canvas\");i.id=o.randstr(),c({format:e.format,width:p._fullLayout.width,height:p._fullLayout.height,canvas:i,svg:t,promise:!0}).then(function(t){p&&document.body.removeChild(p),r(t)}).catch(function(t){n(t)})},t)})}e=e||{},e.format=e.format||\"png\";var f=function(t){return void 0===t||null===t||!!(i(t)&&t>1)};f(e.width)&&f(e.height)||n(new Error(\"Height and width should be pixel values.\"));var d=l(t,{format:\"png\",height:e.height,width:e.width}),p=d.gd;p.style.position=\"absolute\",p.style.left=\"-5000px\",document.body.appendChild(p);var m=s.getRedrawFunc(p);a.plot(p,d.data,d.layout,d.config).then(m).then(h).then(function(t){r(t)}).catch(function(t){n(t)})})}var i=t(\"fast-isnumeric\"),a=t(\"../plotly\"),o=t(\"../lib\"),s=t(\"../snapshot/helpers\"),l=t(\"../snapshot/cloneplot\"),u=t(\"../snapshot/tosvg\"),c=t(\"../snapshot/svgtoimg\");e.exports=n},{\"../lib\":681,\"../plotly\":715,\"../snapshot/cloneplot\":795,\"../snapshot/helpers\":798,\"../snapshot/svgtoimg\":800,\"../snapshot/tosvg\":802,\"fast-isnumeric\":113}],714:[function(t,e,r){\"use strict\";function n(t,e,r,i,a,u){u=u||[];for(var c=Object.keys(t),f=0;f<c.length;f++){var d=c[f];if(\"transforms\"!==d){var g=u.slice();g.push(d);var v=t[d],y=e[d],b=l(r,d),x=\"info_array\"===(b||{}).valType,_=\"colorscale\"===(b||{}).valType;if(s(r,d))if(p(v)&&p(y))n(v,y,b,i,a,g);else if(b.items&&!x&&m(v)){var w,M,A=b.items,k=A[Object.keys(A)[0]],T=[];for(w=0;w<y.length;w++){var E=y[w]._index||w;M=g.slice(),M.push(E),p(v[E])&&p(y[w])&&(T.push(E),n(v[E],y[w],k,i,a,M))}for(w=0;w<v.length;w++)M=g.slice(),M.push(w),p(v[w])?T.indexOf(w)===-1&&i.push(o(\"unused\",a,M)):i.push(o(\"object\",a,M,v[w]))}else!p(v)&&p(y)?i.push(o(\"object\",a,g,v)):m(v)||!m(y)||x||_?d in e?h.validate(v,b)||i.push(o(\"value\",a,g,v)):i.push(o(\"unused\",a,g,v)):i.push(o(\"array\",a,g,v));else i.push(o(\"schema\",a,g))}}return i}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&&h.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}function a(t){return m(t)?\"In data trace \"+t[1]+\", \":\"In \"+t+\", \"}function o(t,e,r,n){r=r||\"\";var i,a;m(e)?(i=e[0],a=e[1]):(i=e,a=null);var o=c(r),s=g[t](e,o,n);return h.log(s),{code:t,container:i,trace:a,path:r,astr:o,msg:s}}function s(t,e){var r=u(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function l(t,e){return t[u(e).keyMinusId]}function u(t){var e=t.split(/([2-9]|[1-9][0-9]+)$/)[0];return{keyMinusId:e,id:t.substr(e.length,t.length)}}function c(t){if(!m(t))return String(t);for(var e=\"\",r=0;r<t.length;r++){var n=t[r];\"number\"==typeof n?e=e.substr(0,e.length-1)+\"[\"+n+\"]\":e+=n,r<t.length-1&&(e+=\".\")}return e}var h=t(\"../lib\"),f=t(\"../plots/plots\"),d=t(\"./plot_schema\"),p=h.isPlainObject,m=Array.isArray;e.exports=function(t,e){var r,a,s=d.get(),l=[],u={};m(t)?(u.data=h.extendDeep([],t),r=t):(u.data=[],r=[],l.push(o(\"array\",\"data\"))),p(e)?(u.layout=h.extendDeep({},e),a=e):(u.layout={},a={},arguments.length>1&&l.push(o(\"object\",\"layout\"))),f.supplyDefaults(u);for(var c=u._fullData,g=r.length,v=0;v<g;v++){var y=r[v],b=[\"data\",v];if(p(y)){var x=c[v],_=x.type,w=s.traces[_].attributes;w.type={valType:\"enumerated\",values:[_]},x.visible===!1&&y.visible!==!1&&l.push(o(\"invisible\",b)),n(y,x,w,l,b);var M=y.transforms,A=x.transforms;if(M){m(M)||l.push(o(\"array\",b,[\"transforms\"])),b.push(\"transforms\");for(var k=0;k<M.length;k++){var T=[\"transforms\",k],E=M[k].type;if(p(M[k])){var S=s.transforms[E]?s.transforms[E].attributes:{};S.type={valType:\"enumerated\",values:Object.keys(s.transforms)},n(M[k],A[k],S,l,b,T)}else l.push(o(\"object\",b,T))}}}else l.push(o(\"object\",b))}return n(a,u._fullLayout,i(s,c),l,\"layout\"),0===l.length?void 0:l};var g={object:function(t,e){return(\"layout\"===t&&\"\"===e?\"The layout argument\":\"data\"===t[0]&&\"\"===e?\"Trace \"+t[1]+\" in the data argument\":a(t)+\"key \"+e)+\" must be linked to an object container\"},array:function(t,e){return(\"data\"===t?\"The data argument\":a(t)+\"key \"+e)+\" must be linked to an array container\"},schema:function(t,e){return a(t)+\"key \"+e+\" is not part of the schema\"},unused:function(t,e,r){var n=p(r)?\"container\":\"key\";return a(t)+n+\" \"+e+\" did not get coerced\"},invisible:function(t){return\"Trace \"+t[1]+\" got defaulted to be not visible\"},value:function(t,e,r){return[a(t)+\"key \"+e,\"is set to an invalid value (\"+r+\")\"].join(\" \")}}},{\"../lib\":681,\"../plots/plots\":779,\"./plot_schema\":709}],715:[function(t,e,r){\"use strict\";r.defaultConfig=t(\"./plot_api/plot_config\"),r.Plots=t(\"./plots/plots\"),r.Axes=t(\"./plots/cartesian/axes\"),r.Fx=t(\"./plots/cartesian/graph_interact\"),r.ModeBar=t(\"./components/modebar\"),t(\"./plot_api/plot_api\")},{\"./components/modebar\":623,\"./plot_api/plot_api\":707,\"./plot_api/plot_config\":708,\"./plots/cartesian/axes\":720,\"./plots/cartesian/graph_interact\":727,\"./plots/plots\":779}],716:[function(t,e,r){\"use strict\";e.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"]}}}},{}],717:[function(t,e,r){\"use strict\";var n=t(\"../lib\");e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i<s.length;i++){var u=s[i],c={},h={};n.isPlainObject(u)||(h.itemIsNotPlainObject=!0,u={}),r.handleItemDefaults(u,c,e,r,h),c._input=u,c._index=i,l.push(c)}if(n.isArray(o)){var f=Math.min(o.length,l.length);for(i=0;i<f;i++)n.relinkPrivateKeys(l[i],o[i])}}},{\"../lib\":681}],718:[function(t,e,r){\"use strict\";e.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\"},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0},showlegend:{valType:\"boolean\",dflt:!0},legendgroup:{valType:\"string\",dflt:\"\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},name:{valType:\"string\"},uid:{valType:\"string\",dflt:\"\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],dflt:\"all\"},stream:{token:{valType:\"string\",noBlank:!0,strict:!0},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500}}}},{}],719:[function(t,e,r){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\"},yaxis:{valType:\"subplotid\",dflt:\"y\"}}},{}],720:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){function a(e){return(1+100*(e-t)/r.dtick)%100<2}for(var o=0,s=0,l=0,u=0,c=0;c<e.length;c++)e[c]%1==0?l++:b(e[c])||u++,a(e[c])&&o++,a(e[c]+r.dtick/2)&&s++;var h=e.length-u;if(l===h&&\"date\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||a(n)||a(i))){var f=r.dtick/2;t+=t+f<n?f:-f}return t}function i(t,e,r,n,i){var a=_.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=O.tickIncrement(t,\"M6\",\"reverse\")+1.5*C:a.exactMonths>.8?t=O.tickIncrement(t,\"M1\",\"reverse\")+15.5*C:t-=C/2;var s=O.tickIncrement(t,r);if(s<=n)return s}return t}function a(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=_.simpleMap(t.range,t.r2l),s=1.0001*o[0]-1e-4*o[1],u=1.0001*o[1]-1e-4*o[0],c=Math.min(s,u),h=Math.max(s,u),f=0;Array.isArray(i)||(i=[]);var d=\"category\"===t.type?t.d2l_noadd:t.d2l;for(\"log\"===t.type&&\"L\"!==String(t.dtick).charAt(0)&&(t.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1)),r=0;r<n.length;r++)(e=d(n[r]))>c&&e<h&&(void 0===i[r]?a[f]=O.tickText(t,e):a[f]=l(t,e,String(i[r])),f++);return f<n.length&&a.splice(f,n.length-f),a}function o(t,e,r){return e*_.roundUp(t/e,r)}function s(t){var e=t.dtick;if(t._tickexponent=0,b(e)||\"string\"==typeof e||(e=1),\"category\"===t.type&&(t._tickround=null),\"date\"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,\"\"),i=n.length;if(\"M\"===String(e).charAt(0))i>10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=C&&i<=10||e>=15*C)t._tickround=\"d\";else if(e>=I&&i<=16||e>=D)t._tickround=\"M\";else if(e>=z&&i<=19||e>=I)t._tickround=\"S\";else{var a=t.l2r(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(i,a)-20}}else if(b(e)||\"L\"===e.charAt(0)){var o=t.range.map(t.r2d||Number);b(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(l)>3&&(\"SI\"===t.exponentformat||\"B\"===t.exponentformat?t._tickexponent=3*Math.round((l-1)/3):t._tickexponent=l)}else t._tickround=null}function l(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontColor:n.color}}function u(t,e,r,n){var i=t._tickround,a=r&&t.hoverformat||t.tickformat;n&&(i=b(i)?4:{y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[i]);var o,s=_.formatDate(e.x,a,i,t.calendar),l=s.indexOf(\"\\n\");l!==-1&&(o=s.substr(l+1),s=s.substr(0,l)),n&&(\"00:00:00\"===s||\"00:00\"===s?(s=o,o=\"\"):8===s.length&&(s=s.replace(/:00$/,\"\"))),o&&(r?\"d\"===i?s+=\", \"+o:s=o+(s?\", \"+s:\"\"):t._inCalcTicks&&o===t._prevDateHead||(s+=\"<br>\"+o,t._prevDateHead=o)),e.text=s}function c(t,e,r,n,i){var a=t.dtick,o=e.x;if(!n||\"string\"==typeof a&&\"L\"===a.charAt(0)||(a=\"L3\"),t.tickformat||\"string\"==typeof a&&\"L\"===a.charAt(0))e.text=d(Math.pow(10,o),t,i,n);else if(b(a)||\"D\"===a.charAt(0)&&_.mod(o+.01,1)<.1)if([\"e\",\"E\",\"power\"].indexOf(t.exponentformat)!==-1){var s=Math.round(o);e.text=0===s?1:1===s?\"10\":s>1?\"10<sup>\"+s+\"</sup>\":\"10<sup>\\u2212\"+-s+\"</sup>\",e.fontSize*=1.25}else e.text=d(Math.pow(10,o),t,\"\",\"fakehover\"),\"D1\"===a&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6);else{if(\"D\"!==a.charAt(0))throw\"unrecognized dtick \"+String(a);e.text=String(Math.round(Math.pow(10,_.mod(o,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var l=String(e.text).charAt(0);\"0\"!==l&&\"1\"!==l||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(o<0?.5:.25)))}}function h(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\"),e.text=String(r)}function f(t,e,r,n,i){\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\"),e.text=d(e.x,t,i,n)}function d(t,e,r,n){var i=t<0,a=e._tickround,o=r||e.exponentformat||\"B\",l=e._tickexponent,u=e.tickformat,c=e.separatethousands;if(n){var h={exponentformat:e.exponentformat,dtick:\"none\"===e.showexponent?e.dtick:b(t)?Math.abs(t)||1:1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};s(h),a=(Number(h._tickround)||0)+4,l=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return y.format(u)(t).replace(/-/g,\"\\u2212\");var f=Math.pow(10,-a)/2;if(\"none\"===o&&(l=0),(t=Math.abs(t))<f)t=\"0\",i=!1;else{if(t+=f,l&&(t*=Math.pow(10,-l),a+=l),0===a)t=String(Math.floor(t));else if(a<0){t=String(Math.round(t)),t=t.substr(0,t.length+a);for(var d=a;d<0;d++)t+=\"0\"}else{t=String(t);var p=t.indexOf(\".\")+1;p&&(t=t.substr(0,p+a).replace(/\\.?0+$/,\"\"))}t=_.numSeparate(t,e._separators,c)}if(l&&\"hide\"!==o){var m;m=l<0?\"\\u2212\"+-l:\"power\"!==o?\"+\"+l:String(l),\"e\"===o||(\"SI\"===o||\"B\"===o)&&(l>12||l<-15)?t+=\"e\"+m:\"E\"===o?t+=\"E\"+m:\"power\"===o?t+=\"\\xd710<sup>\"+m+\"</sup>\":\"B\"===o&&9===l?t+=\"B\":\"SI\"!==o&&\"B\"!==o||(t+=H[l/3+5])}return i?\"\\u2212\"+t:t}function p(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)i[n].x.indexOf(o)===-1&&i[n].y.indexOf(s)===-1||a.push(n);if(a.length){var l,u=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],m(u.x,l.x),m(u.y,l.y);m(u.x,[o]),m(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}function m(t,e){for(var r=0;r<e.length;r++)t.indexOf(e[r])===-1&&t.push(e[r])}function g(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n<e.length;n++)a.push(O.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(O.getFromId(t,r[n]));var l=Object.keys(a[0]),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\"],c=[\"linear\",\"log\"];for(n=0;n<l.length;n++){var h=l[n],f=a[0][h],d=o[0][h],p=!0,m=!1,g=!1;if(\"_\"!==h.charAt(0)&&\"function\"!=typeof f&&u.indexOf(h)===-1){for(i=1;i<a.length&&p;i++){var y=a[i][h];\"type\"===h&&c.indexOf(f)!==-1&&c.indexOf(y)!==-1&&f!==y?m=!0:y!==f&&(p=!1)}for(i=1;i<o.length&&p;i++){var b=o[i][h];\"type\"===h&&c.indexOf(d)!==-1&&c.indexOf(b)!==-1&&d!==b?g=!0:o[i][h]!==d&&(p=!1)}p&&(m&&(s[a[0]._name].type=\"linear\"),g&&(s[o[0]._name].type=\"linear\"),v(s,h,a,o))}}for(n=0;n<t._fullLayout.annotations.length;n++){var x=t._fullLayout.annotations[n];e.indexOf(x.xref)!==-1&&r.indexOf(x.yref)!==-1&&_.swapAttrs(s.annotations[n],[\"?\"])}}function v(t,e,r,n){var i,a=_.nestedProperty,o=a(t[r[0]._name],e).get(),s=a(t[n[0]._name],e).get();for(\"title\"===e&&(\"Click to enter X axis title\"===o&&(o=\"Click to enter Y axis title\"),\"Click to enter Y axis title\"===s&&(s=\"Click to enter X axis title\")),i=0;i<r.length;i++)a(t,r[i]._name+\".\"+e).set(s);for(i=0;i<n.length;i++)a(t,n[i]._name+\".\"+e).set(o)}var y=t(\"d3\"),b=t(\"fast-isnumeric\"),x=t(\"../../registry\"),_=t(\"../../lib\"),w=t(\"../../lib/svg_text_utils\"),M=t(\"../../components/titles\"),A=t(\"../../components/color\"),k=t(\"../../components/drawing\"),T=t(\"../../constants/numerical\"),E=T.FP_SAFE,S=T.ONEAVGYEAR,L=T.ONEAVGMONTH,C=T.ONEDAY,D=T.ONEHOUR,I=T.ONEMIN,z=T.ONESEC,P=T.BADNUM,O=e.exports={};O.layoutAttributes=t(\"./layout_attributes\"),O.supplyLayoutDefaults=t(\"./layout_defaults\"),O.setConvert=t(\"./set_convert\");var R=t(\"./axis_ids\");O.id2name=R.id2name,O.cleanId=R.cleanId,O.list=R.list,O.listIds=R.listIds,O.getFromId=R.getFromId,O.getFromTrace=R.getFromTrace,O.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=O.listIds(r,o),l=n+\"ref\",u={};return i||(i=s[0]||a),a||(a=i),u[l]={valType:\"enumerated\",values:s.concat(a?[a]:[]),dflt:i},_.coerce(t,e,u,l)},O.coercePosition=function(t,e,r,n,i,a){var o,s;if(\"paper\"===n||\"pixel\"===n)o=r(i,a);else{var l=O.getFromId(e,n);if(a=l.fraction2r(a),o=r(i,a),\"category\"===l.type){if(\"string\"==typeof o&&(l._categories||[]).length)return s=l._categories.indexOf(o),void(t[i]=s===-1?a:s)}else if(\"date\"===l.type)return void(t[i]=_.cleanDate(o,P,l.calendar))}t[i]=b(o)?Number(o):a},O.clearTypes=function(t,e){Array.isArray(e)&&e.length||(e=t._fullData.map(function(t,e){return e})),e.forEach(function(e){var r=t.data[e];delete(O.getFromId(t,r.xaxis)||{}).type,delete(O.getFromId(t,r.yaxis)||{}).type})},O.counterLetter=function(t){var e=t.charAt(0);return\"x\"===e?\"y\":\"y\"===e?\"x\":void 0},O.minDtick=function(t,e,r,n){[\"log\",\"category\"].indexOf(t.type)===-1&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},O.getAutoRange=function(t){var e,r=[],n=t._min[0].val,i=t._max[0].val;for(e=1;e<t._min.length&&n===i;e++)n=Math.min(n,t._min[e].val);for(e=1;e<t._max.length&&n===i;e++)i=Math.max(i,t._max[e].val);var a,o,s,l,u,c,h,f=0,d=!1;if(t.range){var p=_.simpleMap(t.range,t.r2l);d=p[1]<p[0]}for(\"reversed\"===t.autorange&&(d=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(o=t._min[e],a=0;a<t._max.length;a++)s=t._max[a],h=s.val-o.val,c=t._length-o.pad-s.pad,h>0&&c>0&&h/c>f&&(l=o,u=s,f=h/c);if(n===i){var m=n-1,g=n+1;r=\"tozero\"===t.rangemode?n<0?[m,0]:[0,g]:\"nonnegative\"===t.rangemode?[Math.max(0,m),Math.max(0,g)]:[m,g]}else f&&(\"linear\"!==t.type&&\"-\"!==t.type||(\"tozero\"===t.rangemode?(l.val>=0&&(l={val:0,pad:0}),u.val<=0&&(u={val:0,pad:0})):\"nonnegative\"===t.rangemode&&(l.val-f*l.pad<0&&(l={val:0,pad:0}),u.val<0&&(u={val:1,pad:0})),f=(u.val-l.val)/(t._length-l.pad-u.pad)),r=[l.val-f*l.pad,u.val+f*u.pad]);return r[0]===r[1]&&(\"tozero\"===t.rangemode?r=r[0]<0?[r[0],0]:r[0]>0?[0,r[0]]:[0,1]:(r=[r[0]-1,r[0]+1],\"nonnegative\"===t.rangemode&&(r[0]=Math.max(0,r[0])))),d&&r.reverse(),_.simpleMap(r,t.l2r||Number)},O.doAutoRange=function(t){t._length||t.setScale();var e=t._min&&t._max&&t._min.length&&t._max.length;if(t.autorange&&e){t.range=O.getAutoRange(t);var r=t._input;r.range=t.range.slice(),r.autorange=t.autorange}},O.saveRangeInitial=function(t,e){for(var r=O.list(t,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&a.autorange===!1||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},O.expand=function(t,e,r){function n(t){if(Array.isArray(t))return function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}function i(r){function n(t){return b(t)&&Math.abs(t)<E}if(l=e[r],b(l)){if(h=x(r)+v,f=w(r)+v,p=l-A(r),m=l+M(r),\"log\"===t.type&&p<m/10&&(p=m/10),u=t.c2l(p),c=t.c2l(m),y&&(u=Math.min(0,u),c=Math.max(0,c)),n(u)){for(d=!0,o=0;o<t._min.length&&d;o++)s=t._min[o],s.val<=u&&s.pad>=f?d=!1:s.val>=u&&s.pad<=f&&(t._min.splice(o,1),o--);d&&t._min.push({val:u,pad:y&&0===u?0:f})}if(n(c)){for(d=!0,o=0;o<t._max.length&&d;o++)s=t._max[o],s.val>=c&&s.pad>=h?d=!1:s.val<=c&&s.pad<=h&&(t._max.splice(o,1),o--);d&&t._max.push({val:c,pad:y&&0===c?0:h})}}}if((t.autorange||!!_.nestedProperty(t,\"rangeslider.autorange\").get())&&e){t._min||(t._min=[]),t._max||(t._max=[]),r||(r={}),t._m||t.setScale();var a,o,s,l,u,c,h,f,d,p,m,g=e.length,v=r.padded?.05*t._length:0,y=r.tozero&&(\"linear\"===t.type||\"-\"===t.type),x=n((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),w=n((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),M=n(r.vpadplus||r.vpad),A=n(r.vpadminus||r.vpad);for(a=0;a<6;a++)i(a);for(a=g-1;a>5;a--)i(a)}},O.autoBin=function(t,e,r,a,o){var s=_.aggNums(Math.min,null,t),l=_.aggNums(Math.max,null,t);if(o||(o=e.calendar),\"category\"===e.type)return{start:s-.5,end:l+.5,size:1};var u;if(r)u=(l-s)/r;else{var c=_.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),f=h*_.roundUp(c.minDiff/h,[.9,1.9,4.9,9.9],!0);u=Math.max(f,2*_.stdev(t)/Math.pow(t.length,a?.25:.4)),b(u)||(u=1)}var d;d=\"log\"===e.type?{type:\"linear\",range:[s,l]}:{type:e.type,range:_.simpleMap([s,l],e.c2r,0,o),calendar:o},O.setConvert(d),O.autoTicks(d,u);var p,m=O.tickIncrement(O.tickFirst(d),d.dtick,\"reverse\",o);if(\"number\"==typeof d.dtick){m=n(m,t,d,s,l);p=m+(1+Math.floor((l-m)/d.dtick))*d.dtick}else for(\"M\"===d.dtick.charAt(0)&&(m=i(m,t,d.dtick,s,o)),p=m;p<=l;)p=O.tickIncrement(p,d.dtick,!1,o);return{start:e.c2r(m,0,o),end:e.c2r(p,0,o),size:d.dtick}},O.calcTicks=function(t){var e=_.simpleMap(t.range,t.r2l);if(\"auto\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\"category\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\"y\"===t._id.charAt(0)?40:80,n=_.constrain(t._length/r,4,9)+1)),\"array\"===t.tickmode&&(n*=100),O.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}if(t.tick0||(t.tick0=\"date\"===t.type?\"2000-01-01\":0),s(t),\"array\"===t.tickmode)return a(t);t._tmin=O.tickFirst(t);var i=e[1]<e[0],o=[],l=1.0001*e[1]-1e-4*e[0];\"category\"===t.type&&(l=i?Math.max(-.5,l):Math.min(t._categories.length-.5,l));for(var u=t._tmin;(i?u>=l:u<=l)&&(o.push(u),!(o.length>1e3));u=O.tickIncrement(u,t.dtick,i,t.calendar));t._tmax=o[o.length-1],t._prevDateHead=\"\",t._inCalcTicks=!0;for(var c=new Array(o.length),h=0;h<o.length;h++)c[h]=O.tickText(t,o[h]);return t._inCalcTicks=!1,c};var F=[2,5,10],j=[1,2,3,6,12],N=[1,2,5,10,15,30],B=[1,2,3,7,14],U=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],V=[-.301,0,.301,.699,1];O.autoTicks=function(t,e){var r;if(\"date\"===t.type){t.tick0=_.dateTick0(t.calendar);var n=2*e;n>S?(e/=S,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=\"M\"+12*o(e,r,F)):n>L?(e/=L,t.dtick=\"M\"+o(e,1,j)):n>C?(t.dtick=o(e,C,B),t.tick0=_.dateTick0(t.calendar,!0)):n>D?t.dtick=o(e,D,j):n>I?t.dtick=o(e,I,N):n>z?t.dtick=o(e,z,N):(r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=o(e,r,F))}else if(\"log\"===t.type){t.tick0=0;var i=_.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(i[1]-i[0])<1){var a=1.5*Math.abs((i[1]-i[0])/e);e=Math.abs(Math.pow(10,i[1])-Math.pow(10,i[0]))/a,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=\"L\"+o(e,r,F)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):(t.tick0=0,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=o(e,r,F));if(0===t.dtick&&(t.dtick=1),!b(t.dtick)&&\"string\"!=typeof t.dtick){var s=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(s)}},O.tickIncrement=function(t,e,r,n){var i=r?-1:1;if(b(e))return t+i*e;var a=e.charAt(0),o=i*Number(e.substr(1));if(\"M\"===a)return _.incrementMonth(t,o,n);if(\"L\"===a)return Math.log(Math.pow(10,t)+o)/Math.LN10;if(\"D\"===a){var s=\"D2\"===e?V:U,l=t+.01*i,u=_.roundUp(_.mod(l,1),s,r);return Math.floor(l)+Math.log(y.round(Math.pow(10,u),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},O.tickFirst=function(t){var e=t.r2l||Number,r=_.simpleMap(t.range,e),n=r[1]<r[0],i=n?Math.floor:Math.ceil,a=1.0001*r[0]-1e-4*r[1],o=t.dtick,s=e(t.tick0);if(b(o)){var l=i((a-s)/o)*o+s;return\"category\"===t.type&&(l=_.constrain(l,0,t._categories.length-1)),l}var u=o.charAt(0),c=Number(o.substr(1));if(\"M\"===u){for(var h,f,d,p=0,m=s;p<10;){if(((h=O.tickIncrement(m,o,n,t.calendar))-a)*(m-a)<=0)return n?Math.min(m,h):Math.max(m,h);f=(a-(m+h)/2)/(h-m),d=u+(Math.abs(Math.round(f))||1)*c,m=O.tickIncrement(m,d,f<0?!n:n,t.calendar),p++}return _.error(\"tickFirst did not converge\",t),m}if(\"L\"===u)return Math.log(i((Math.pow(10,a)-s)/c)*c+s)/Math.LN10;if(\"D\"===u){var g=\"D2\"===o?V:U,v=_.roundUp(_.mod(a,1),g,n);return Math.floor(a)+Math.log(y.round(Math.pow(10,v),1))/Math.LN10}throw\"unrecognized dtick \"+String(o)},O.tickText=function(t,e,r){function n(n){var i;return void 0===n||(r?\"none\"===n:(i={first:t._tmin,last:t._tmax}[n],\"all\"!==n&&e!==i))}var i,a,o=l(t,e),s=\"array\"===t.tickmode,d=r||s,p=\"category\"===t.type?t.d2l_noadd:t.d2l;if(s&&Array.isArray(t.ticktext)){var m=_.simpleMap(t.range,t.r2l),g=Math.abs(m[1]-m[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-p(t.tickvals[a]))<g);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}return i=\"none\"!==t.exponentformat&&n(t.showexponent)?\"hide\":\"\",\"date\"===t.type?u(t,o,r,d):\"log\"===t.type?c(t,o,r,d,i):\"category\"===t.type?h(t,o):f(t,o,r,d,i),t.tickprefix&&!n(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!n(t.showticksuffix)&&(o.text+=t.ticksuffix),o};var H=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];O.subplotMatch=/^x([0-9]*)y([0-9]*)$/,O.getSubplots=function(t,e){var r,n,i,a=[],o=t._fullData||t.data||[];for(r=0;r<o.length;r++){var s=o[r];if(s.visible!==!1&&\"legendonly\"!==s.visible&&(x.traceIs(s,\"cartesian\")||x.traceIs(s,\"gl2d\"))){i=(s.xaxis||\"x\")+(s.yaxis||\"y\"),a.indexOf(i)===-1&&a.push(i)}}var l=O.list(t,\"\",!0);for(r=0;r<l.length;r++){var u=l[r],c=u._id.charAt(0),h=\"free\"===u.anchor?\"x\"===c?\"y\":\"x\":u.anchor,f=O.getFromId(t,h),d=!1;for(n=0;n<a.length;n++)if(function(t,e){return t.indexOf(e._id)!==-1}(a[n],u)){d=!0;break}\"free\"===u.anchor&&d||f&&(i=\"x\"===c?u._id+f._id:f._id+u._id,a.indexOf(i)===-1&&a.push(i))}var p=O.subplotMatch,m=[];for(r=0;r<a.length;r++)i=a[r],p.test(i)&&m.push(i);return m.sort(function(t,e){var r=t.match(p),n=e.match(p);return r[1]===n[1]?+(r[2]||1)-(n[2]||1):+(r[1]||0)-(n[1]||0)}),e?O.findSubplotsWithAxis(m,e):m},O.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\"x\"===e._id.charAt(0)?\"^\"+e._id+\"y\":e._id+\"$\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},O.makeClipPaths=function(t){var e,r,n=t._fullLayout,i=n._defs,a={_offset:0,_length:n.width,_id:\"\"},o={_offset:0,_length:n.height,_id:\"\"},s=O.list(t,\"x\",!0),l=O.list(t,\"y\",!0),u=[];for(e=0;e<s.length;e++)for(u.push({x:s[e],y:o}),r=0;r<l.length;r++)0===e&&u.push({x:a,y:l[r]}),u.push({x:s[e],y:l[r]});var c=i.selectAll(\"g.clips\").data([0]);c.enter().append(\"g\").classed(\"clips\",!0);var h=c.selectAll(\".axesclip\").data(u,function(t){return t.x._id+t.y._id});h.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(t){return\"clip\"+n._uid+t.x._id+t.y._id}).append(\"rect\"),h.exit().remove(),h.each(function(t){y.select(this).select(\"rect\").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})},O.doTicks=function(t,e,r){function n(t){var e=u.l2p(t.x);return e>1&&e<u._length-1}function i(t,e){var r=t.selectAll(\"path.\"+S).data(\"inside\"===u.ticks?V:T,E);e&&u.ticks?(r.enter().append(\"path\").classed(S,1).classed(\"ticks\",1).classed(\"crisp\",1).call(A.stroke,u.tickcolor).style(\"stroke-width\",j+\"px\").attr(\"d\",e),r.attr(\"transform\",d),r.exit().remove()):r.remove()}function a(r,n){function i(t,e){t.each(function(t){var r=p(e),n=y.select(this),i=n.select(\".text-math-group\"),a=d(t)+(b(e)&&0!=+e?\" rotate(\"+e+\",\"+h(t)+\",\"+(f(t)-t.fontSize/2)+\")\":\"\");if(i.empty()){var o=n.select(\"text\").attr({transform:a,\"text-anchor\":r});o.empty()||o.selectAll(\"tspan.line\").attr({x:o.attr(\"x\"),y:o.attr(\"y\")})}else{var s=k.bBox(i.node()).width*{end:-.5,start:.5}[r];i.attr(\"transform\",a+(s?\"translate(\"+s+\",0)\":\"\"))}})}function a(){return L.length&&Promise.all(L)}function s(){if(i(c,u.tickangle),\"x\"===g&&!b(u.tickangle)&&(\"log\"!==u.type||\"D\"!==String(u.dtick).charAt(0))){var t=[];for(c.each(function(e){var r=y.select(this),n=r.select(\".text-math-group\"),i=u.l2p(e.x);n.empty()&&(n=r.select(\"text\"));var a=k.bBox(n.node());t.push({top:0,bottom:10,height:10,left:i-a.width/2,right:i+a.width/2+2,width:a.width+2})}),m=0;m<t.length-1;m++)if(_.bBoxIntersect(t[m],t[m+1])){A=30;break}if(A){Math.abs((T[T.length-1].x-T[0].x)*u._m)/(T.length-1)<2.5*M&&(A=90),i(c,A)}u._lastangle=A}return o(e),e+\" done\"}function l(){u._boundingBox=r.node().getBoundingClientRect()}var c=r.selectAll(\"g.\"+S).data(T,E);if(!u.showticklabels||!b(n))return c.remove(),void o(e);var h,f,p,v,x;\"x\"===g?(x=\"bottom\"===B?1:-1,h=function(t){return t.dx+z*x},v=n+(I+D)*x,f=function(t){return t.dy+v+t.fontSize*(\"bottom\"===B?1:-.5)},p=function(t){return b(t)&&0!==t&&180!==t?t*x<0?\"end\":\"start\":\"middle\"}):(x=\"right\"===B?1:-1,f=function(t){return t.dy+t.fontSize/2-z*x},h=function(t){return t.dx+n+(I+D+(90===Math.abs(u.tickangle)?t.fontSize/2:0))*x},p=function(t){return b(t)&&90===Math.abs(t)?\"middle\":\"right\"===B?\"start\":\"end\"});var M=0,A=0,L=[];c.enter().append(\"g\").classed(S,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(e){var r=y.select(this),n=t._promises.length;r.call(k.setPosition,h(e),f(e)).call(k.font,e.font,e.fontSize,e.fontColor).text(e.text).call(w.convertToTspans),n=t._promises[n],n?L.push(t._promises.pop().then(function(){i(r,u.tickangle)})):i(r,u.tickangle)}),c.exit().remove(),c.each(function(t){M=Math.max(M,t.fontSize)}),i(c,u._lastangle||u.tickangle);var C=_.syncOrAsync([a,s,l]);return C&&C.then&&t._promises.push(C),C}function o(e){if(!r){var n,i,a,o,s=R.getFromId(t,e),l=y.select(t).selectAll(\"g.\"+e+\"tick\"),u={selection:l,side:s.side},h=e.charAt(0),f=t._fullLayout._size,d=s.titlefont.size;if(l.size()){var p=k.getTranslate(l.node().parentNode);u.offsetLeft=p.x,u.offsetTop=p.y}\"x\"===h?(i=\"free\"===s.anchor?{_offset:f.t+(1-(s.position||0))*f.h,_length:0}:R.getFromId(t,s.anchor),a=s._offset+s._length/2,o=i._offset+(\"top\"===s.side?-10-d*(1.5+(s.showticklabels?1:0)):i._length+10+d*(1.5+(s.showticklabels?1.5:.5))),s.rangeslider&&s.rangeslider.visible&&s._boundingBox&&(o+=(c.height-c.margin.b-c.margin.t)*s.rangeslider.thickness+s._boundingBox.height),u.side||(u.side=\"bottom\")):(i=\"free\"===s.anchor?{_offset:f.l+(s.position||0)*f.w,_length:0}:R.getFromId(t,s.anchor),o=s._offset+s._length/2,a=i._offset+(\"right\"===s.side?i._length+10+d*(1.5+(s.showticklabels?1:.5)):-10-d*(1.5+(s.showticklabels?.5:0))),n={rotate:\"-90\",offset:0},u.side||(u.side=\"left\")),M.draw(t,e+\"title\",{propContainer:s,propName:s._name+\".title\",dfltName:h.toUpperCase()+\" axis\",avoid:u,transform:n,attributes:{x:a,y:o,\"text-anchor\":\"middle\"}})}}function s(t,e){return t.visible===!0&&t.xaxis+t.yaxis===e&&(!(!x.traceIs(t,\"bar\")||t.orientation!=={x:\"h\",y:\"v\"\n}[g])||t.fill&&t.fill.charAt(t.fill.length-1)===g)}function l(e,r,i){var a=e.gridlayer,o=e.zerolinelayer,l=e[\"hidegrid\"+g]?[]:V,c=u._gridpath||\"M0,0\"+(\"x\"===g?\"v\":\"h\")+r._length,h=a.selectAll(\"path.\"+L).data(u.showgrid===!1?[]:l,E);if(h.enter().append(\"path\").classed(L,1).classed(\"crisp\",1).attr(\"d\",c).each(function(t){u.zeroline&&(\"linear\"===u.type||\"-\"===u.type)&&Math.abs(t.x)<u.dtick/100&&y.select(this).remove()}),h.attr(\"transform\",d).call(A.stroke,u.gridcolor||\"#ddd\").style(\"stroke-width\",P+\"px\"),h.exit().remove(),o){for(var f=!1,p=0;p<t._fullData.length;p++)if(s(t._fullData[p],i)){f=!0;break}var m=_.simpleMap(u.range,u.r2l),v=m[0]*m[1]<=0&&u.zeroline&&(\"linear\"===u.type||\"-\"===u.type)&&l.length&&(f||n({x:0})||!u.showline),b=o.selectAll(\"path.\"+C).data(v?[{x:0}]:[]);b.enter().append(\"path\").classed(C,1).classed(\"zl\",1).classed(\"crisp\",1).attr(\"d\",c),b.attr(\"transform\",d).call(A.stroke,u.zerolinecolor||A.defaultLine).style(\"stroke-width\",F+\"px\"),b.exit().remove()}}var u,c=t._fullLayout,h=!1;if(\"object\"==typeof e)u=e,e=u._id,h=!0;else if(u=O.getFromId(t,e),\"redraw\"===e&&c._paper.selectAll(\"g.subplot\").each(function(t){var e=c._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(\".\"+r._id+\"tick\").remove(),e.yaxislayer.selectAll(\".\"+n._id+\"tick\").remove(),e.gridlayer.selectAll(\"path\").remove(),e.zerolinelayer.selectAll(\"path\").remove()}),!e||\"redraw\"===e)return _.syncOrAsync(O.list(t,\"\",!0).map(function(r){return function(){if(r._id){var n=O.doTicks(t,r._id);return\"redraw\"===e&&(r._r=r.range.slice(),r._rl=_.simpleMap(r._r,r.r2l)),n}}}));u.tickformat||([\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"].indexOf(u.exponentformat)===-1&&(u.exponentformat=\"e\"),[\"all\",\"first\",\"last\",\"none\"].indexOf(u.showexponent)===-1&&(u.showexponent=\"all\")),u.setScale();var f,d,p,m,g=e.charAt(0),v=O.counterLetter(e),T=O.calcTicks(u),E=function(t){return[t.text,t.x,u.mirror].join(\"_\")},S=e+\"tick\",L=e+\"grid\",C=e+\"zl\",D=(u.linewidth||1)/2,I=(\"outside\"===u.ticks?u.ticklen:1)+(u.linewidth||0),z=0,P=k.crispRound(t,u.gridwidth,1),F=k.crispRound(t,u.zerolinewidth,P),j=k.crispRound(t,u.tickwidth,1);if(u._counterangle&&\"outside\"===u.ticks){var N=u._counterangle*Math.PI/180;I=u.ticklen*Math.cos(N)+(u.linewidth||0),z=u.ticklen*Math.sin(N)}if(\"x\"===g)f=[\"bottom\",\"top\"],d=function(t){return\"translate(\"+u.l2p(t.x)+\",0)\"},p=function(t,e){if(u._counterangle){var r=u._counterangle*Math.PI/180;return\"M0,\"+t+\"l\"+Math.sin(r)*e+\",\"+Math.cos(r)*e}return\"M0,\"+t+\"v\"+e};else{if(\"y\"!==g)return void _.warn(\"Unrecognized doTicks axis:\",e);f=[\"left\",\"right\"],d=function(t){return\"translate(0,\"+u.l2p(t.x)+\")\"},p=function(t,e){if(u._counterangle){var r=u._counterangle*Math.PI/180;return\"M\"+t+\",0l\"+Math.cos(r)*e+\",\"+-Math.sin(r)*e}return\"M\"+t+\",0h\"+e}}var B=u.side||f[0],U=[-1,1,B===f[1]?1:-1];\"inside\"!==u.ticks==(\"x\"===g)&&(U=U.map(function(t){return-t}));var V=T.filter(n);if(h){if(i(u._axislayer,p(u._pos+D*U[2],U[2]*u.ticklen)),u._counteraxis){l({gridlayer:u._gridlayer,zerolinelayer:u._zerolinelayer},u._counteraxis)}return a(u._axislayer,u._pos)}var H=O.getSubplots(t,u).map(function(t){var e=c._plots[t];if(c._has(\"cartesian\")){var r=e[g+\"axislayer\"],n=u._linepositions[t]||[],o=e[v+\"axis\"],s=o._id===u.anchor,h=[!1,!1,!1],d=\"\";if(\"allticks\"===u.mirror?h=[!0,!0,!1]:s&&(\"ticks\"===u.mirror?h=[!0,!0,!1]:h[f.indexOf(B)]=!0),u.mirrors)for(m=0;m<2;m++){var y=u.mirrors[o._id+f[m]];\"ticks\"!==y&&\"labels\"!==y||(h[m]=!0)}return void 0!==n[2]&&(h[2]=!0),h.forEach(function(t,e){var r=n[e],i=U[e];t&&b(r)&&(d+=p(r+D*i,i*u.ticklen))}),i(r,d),l(e,o,t),a(r,n[3])}}).filter(function(t){return t&&t.then});return H.length?Promise.all(H):0},O.swap=function(t,e){for(var r=p(t,e),n=0;n<r.length;n++)g(t,r[n].x,r[n].y)}},{\"../../components/color\":576,\"../../components/drawing\":599,\"../../components/titles\":652,\"../../constants/numerical\":663,\"../../lib\":681,\"../../lib/svg_text_utils\":700,\"../../registry\":794,\"./axis_ids\":723,\"./layout_attributes\":729,\"./layout_defaults\":730,\"./set_convert\":734,d3:104,\"fast-isnumeric\":113}],721:[function(t,e,r){\"use strict\";function n(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(o(t[e]))return!0;return!1}function i(t,e){for(var r,n=0,i=0,a=Math.max(1,(t.length-1)/1e3),l=0;l<t.length;l+=a)r=t[Math.round(l)],s.isDateTime(r,e)&&(n+=1),o(r)&&(i+=1);return n>2*i}function a(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,i=0,a=0;a<t.length;a+=r)e=t[Math.round(a)],s.cleanNumber(e)!==l?n++:\"string\"==typeof e&&\"\"!==e&&\"None\"!==e&&i++;return i>2*n}var o=t(\"fast-isnumeric\"),s=t(\"../../lib\"),l=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){return i(t,e)?\"date\":a(t)?\"category\":n(t)?\"linear\":\"-\"}},{\"../../constants/numerical\":663,\"../../lib\":681,\"fast-isnumeric\":113}],722:[function(t,e,r){\"use strict\";function n(t,e){if(\"-\"===t.type){var r=t._id,n=r.charAt(0);r.indexOf(\"scene\")!==-1&&(r=n);var s=o(e,r,n);if(s){if(\"histogram\"===s.type&&n==={v:\"y\",h:\"x\"}[s.orientation||\"v\"])return void(t.type=\"linear\");var u=n+\"calendar\",c=s[u];if(a(s,n)){for(var h,f=i(s),d=[],p=0;p<e.length;p++)h=e[p],l.traceIs(h,\"box\")&&(h[n+\"axis\"]||n)===r&&(void 0!==h[f]?d.push(h[f][0]):void 0!==h.name?d.push(h.name):d.push(\"text\"),h[u]!==c&&(c=void 0));t.type=b(d,c)}else t.type=b(s[n]||[s[n+\"0\"]],c)}}}function i(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function a(t,e){var r=i(t),n=l.traceIs(t,\"box\"),a=l.traceIs(t._fullInput||{},\"candlestick\");return n&&!a&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}function o(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if((i[r+\"axis\"]||r)===e){if(a(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}var s=t(\"tinycolor2\").mix,l=t(\"../../registry\"),u=t(\"../../lib\"),c=t(\"../../components/color/attributes\").lightFraction,h=t(\"./layout_attributes\"),f=t(\"./tick_value_defaults\"),d=t(\"./tick_mark_defaults\"),p=t(\"./tick_label_defaults\"),m=t(\"./category_order_defaults\"),g=t(\"./set_convert\"),v=t(\"./ordered_categories\"),y=t(\"./axis_ids\"),b=t(\"./axis_autotype\");e.exports=function(t,e,r,i,a){function o(r,n){return u.coerce2(t,e,h,r,n)}var b=i.letter,x=i.font||{},_=\"Click to enter \"+(i.title||b.toUpperCase()+\" axis\")+\" title\";i.name&&(e._name=i.name,e._id=y.name2id(i.name));var w=r(\"type\");if(\"-\"===w&&(n(e,i.data),\"-\"===e.type?e.type=\"linear\":w=t.type=e.type),\"date\"===w){l.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",i.calendar)}g(e,a);var M=r(\"color\"),A=M===t.color?M:x.color;r(\"title\",_),u.coerceFont(r,\"titlefont\",{family:x.family,size:Math.round(1.2*x.size),color:A}),r(\"autorange\",!e.isValidRange(t.range))&&r(\"rangemode\"),r(\"range\"),e.cleanRange(),f(t,e,r,w),p(t,e,r,w,i),d(t,e,r,i),m(t,e,r);var k=o(\"linecolor\",M),T=o(\"linewidth\"),E=r(\"showline\",!!k||!!T);E||(delete e.linecolor,delete e.linewidth),(E||e.ticks)&&r(\"mirror\");var S=o(\"gridcolor\",s(M,i.bgColor,c).toRgbString()),L=o(\"gridwidth\");r(\"showgrid\",i.showGrid||!!S||!!L)||(delete e.gridcolor,delete e.gridwidth);var C=o(\"zerolinecolor\",M),D=o(\"zerolinewidth\");return r(\"zeroline\",i.showGrid||!!C||!!D)||(delete e.zerolinecolor,delete e.zerolinewidth),e._initialCategories=\"category\"===w?v(b,e.categoryorder,e.categoryarray,i.data):[],e}},{\"../../components/color/attributes\":575,\"../../lib\":681,\"../../registry\":794,\"./axis_autotype\":721,\"./axis_ids\":723,\"./category_order_defaults\":724,\"./layout_attributes\":729,\"./ordered_categories\":731,\"./set_convert\":734,\"./tick_label_defaults\":735,\"./tick_mark_defaults\":736,\"./tick_value_defaults\":737,tinycolor2:512}],723:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t,r){for(var n=Object.keys(t),i=/^[xyz]axis[0-9]*/,a=[],o=0;o<n.length;o++){var s=n[o];e&&s.charAt(0)!==e||i.test(s)&&a.push(r+s)}return a.sort()}var i=t._fullLayout;if(!i)return[];var o=n(i,\"\");if(r)return o;for(var s=a.getSubplotIds(i,\"gl3d\")||[],l=0;l<s.length;l++){var u=s[l];o=o.concat(n(i[u],u+\".\"))}return o}var i=t(\"../../registry\"),a=t(\"../plots\"),o=t(\"../../lib\"),s=t(\"./constants\");r.id2name=function(t){if(\"string\"==typeof t&&t.match(s.AX_ID_PATTERN)){var e=t.substr(1);return\"1\"===e&&(e=\"\"),t.charAt(0)+\"axis\"+e}},r.name2id=function(t){if(t.match(s.AX_NAME_PATTERN)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(s.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\"\");return\"1\"===r&&(r=\"\"),t.charAt(0)+r}},r.list=function(t,e,r){return n(t,e,r).map(function(e){return o.nestedProperty(t._fullLayout,e).get()})},r.listIds=function(t,e){return n(t,e,!0).map(r.name2id)},r.getFromId=function(t,e,n){var i=t._fullLayout;return\"x\"===n?e=e.replace(/y[0-9]*/,\"\"):\"y\"===n&&(e=e.replace(/x[0-9]*/,\"\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,n){var a=t._fullLayout,o=null;if(i.traceIs(e,\"gl3d\")){var s=e.scene;\"scene\"===s.substr(0,5)&&(o=a[s][n+\"axis\"])}else o=r.getFromId(t,e[n+\"axis\"]||n);return o}},{\"../../lib\":681,\"../../registry\":794,\"../plots\":779,\"./constants\":725}],724:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(\"category\"===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&&i.length>0;a&&(n=\"array\");var o=r(\"categoryorder\",n);\"array\"===o&&r(\"categoryarray\"),a||\"array\"!==o||(e.categoryorder=\"trace\")}}},{}],725:[function(t,e,r){\"use strict\";e.exports={idRegex:{x:/^x([2-9]|[1-9][0-9]+)?$/,y:/^y([2-9]|[1-9][0-9]+)?$/},attrRegex:{x:/^xaxis([2-9]|[1-9][0-9]+)?$/,y:/^yaxis([2-9]|[1-9][0-9]+)?$/},xAxisMatch:/^xaxis[0-9]*$/,yAxisMatch:/^yaxis[0-9]*$/,AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,MAXDIST:20,YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,BENDPX:1.5,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4]}},{}],726:[function(t,e,r){\"use strict\";function n(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return\"date\"===t.type?n:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,s.format(\".\"+r+\"g\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,s.format(\".\"+String(r)+\"g\")(n))}function i(t,e){return t?\"nsew\"===t?\"pan\"===e?\"move\":\"crosshair\":t.toLowerCase()+\"-resize\":\"pointer\"}function a(t){s.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function o(t){return[\"lasso\",\"select\"].indexOf(t)!==-1}var s=t(\"d3\"),l=t(\"tinycolor2\"),u=t(\"../../plotly\"),c=t(\"../../registry\"),h=t(\"../../lib\"),f=t(\"../../lib/svg_text_utils\"),d=t(\"../../components/color\"),p=t(\"../../components/drawing\"),m=t(\"../../lib/setcursor\"),g=t(\"../../components/dragelement\"),v=t(\"./axes\"),y=t(\"./select\"),b=t(\"./constants\"),x=!0;e.exports=function(t,e,r,s,_,w,M,A){function k(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\"\"}function T(){U=[e.xaxis],V=[e.yaxis],H=U[0]._length,q=V[0]._length;for(var t=1;t<B.length;t++){var r=B[t].xaxis,n=B[t].yaxis;U.indexOf(r)===-1&&U.push(r),V.indexOf(n)===-1&&V.push(n)}K=U.concat(V),Q=k(U,A),$=k(V,M),tt=i($+Q,N.dragmode),mt=e.xaxis._offset,gt=e.yaxis._offset,it.xa=U,it.ya=V}function E(e,r,n){var i=nt.getBoundingClientRect();at=r-i.left,ot=n-i.top,st={l:at,r:at,w:0,t:ot,b:ot,h:0},lt=t._hmpixcount?t._hmlumcount/t._hmpixcount:l(t._fullLayout.plot_bgcolor).getLuminance(),ut=\"M0,0H\"+H+\"V\"+q+\"H0V0\",ct=!1,ht=\"xy\",ft=pt.append(\"path\").attr(\"class\",\"zoombox\").style({fill:lt>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",\"translate(\"+mt+\", \"+gt+\")\").attr(\"d\",ut+\"Z\"),dt=pt.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:d.background,stroke:d.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",\"translate(\"+mt+\", \"+gt+\")\").attr(\"d\",\"M0,0Z\"),S()}function S(){pt.selectAll(\".select-outline\").remove()}function L(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(H,e+at)),i=Math.max(0,Math.min(q,r+ot)),a=Math.abs(n-at),o=Math.abs(i-ot),s=Math.floor(Math.min(o,a,Y)/2);st.l=Math.min(at,n),st.r=Math.max(at,n),st.t=Math.min(ot,i),st.b=Math.max(ot,i),!$||o<Math.min(Math.max(.6*a,G),Y)?a<G?(ht=\"\",st.r=st.l,st.t=st.b,dt.attr(\"d\",\"M0,0Z\")):(st.t=0,st.b=q,ht=\"x\",dt.attr(\"d\",\"M\"+(st.l-.5)+\",\"+(ot-Y-.5)+\"h-3v\"+(2*Y+1)+\"h3ZM\"+(st.r+.5)+\",\"+(ot-Y-.5)+\"h3v\"+(2*Y+1)+\"h-3Z\")):!Q||a<Math.min(.6*o,Y)?(st.l=0,st.r=H,ht=\"y\",dt.attr(\"d\",\"M\"+(at-Y-.5)+\",\"+(st.t-.5)+\"v-3h\"+(2*Y+1)+\"v3ZM\"+(at-Y-.5)+\",\"+(st.b+.5)+\"v3h\"+(2*Y+1)+\"v-3Z\")):(ht=\"xy\",dt.attr(\"d\",\"M\"+(st.l-3.5)+\",\"+(st.t-.5+s)+\"h3v\"+-s+\"h\"+s+\"v-3h-\"+(s+3)+\"ZM\"+(st.r+3.5)+\",\"+(st.t-.5+s)+\"h-3v\"+-s+\"h\"+-s+\"v-3h\"+(s+3)+\"ZM\"+(st.r+3.5)+\",\"+(st.b+.5-s)+\"h-3v\"+s+\"h\"+-s+\"v3h\"+(s+3)+\"ZM\"+(st.l-3.5)+\",\"+(st.b+.5-s)+\"h3v\"+s+\"h\"+s+\"v3h-\"+(s+3)+\"Z\")),st.w=st.r-st.l,st.h=st.b-st.t,ft.attr(\"d\",ut+\"M\"+st.l+\",\"+st.t+\"v\"+st.h+\"h\"+st.w+\"v-\"+st.h+\"h-\"+st.w+\"Z\"),ct||(ft.transition().style(\"fill\",lt>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),dt.transition().style(\"opacity\",1).duration(200),ct=!0)}function C(t,e,r){var n,i,a,o;for(n=0;n<t.length;n++)i=t[n],i.fixedrange||(a=i._rl[0],o=i._rl[1]-a,i.range=[i.l2r(a+o*e),i.l2r(a+o*r)])}function D(e,r){if(Math.min(st.h,st.w)<2*G)return 2===r&&R(),a(t);\"xy\"!==ht&&\"x\"!==ht||C(U,st.l/H,st.r/H),\"xy\"!==ht&&\"y\"!==ht||C(V,(q-st.b)/q,(q-st.t)/q),a(t),F(ht),x&&t.data&&t._context.showTips&&(h.notifier(\"Double-click to<br>zoom back out\",\"long\"),x=!1)}function I(e,r){var i=1===(M+A).length;if(e)F();else if(2!==r||i){if(1===r&&i){var a=M?V[0]:U[0],o=\"s\"===M||\"w\"===A?0:1,s=a._name+\".range[\"+o+\"]\",l=n(a,o),c=\"left\",h=\"middle\";if(a.fixedrange)return;M?(h=\"n\"===M?\"top\":\"bottom\",\"right\"===a.side&&(c=\"right\")):\"e\"===A&&(c=\"right\"),t._context.showAxisRangeEntryBoxes&&rt.call(f.makeEditable,null,{immediate:!0,background:N.paper_bgcolor,text:String(l),fill:a.tickfont?a.tickfont.color:\"#444\",horizontalAlign:c,verticalAlign:h}).on(\"edit\",function(e){var r=a.d2r(e);void 0!==r&&u.relayout(t,s,r)})}}else R()}function z(e){function r(t,e,r){function n(e){return t.l2r(a+(e-a)*r)}if(!t.fixedrange){var i=h.simpleMap(t.range,t.r2l),a=i[0]+(i[1]-i[0])*e;t.range=i.map(n)}}if(t._context.scrollZoom||N._enablescrollzoom){if(t._transitioningWithDuration)return h.pauseEvent(e);var n=t.querySelector(\".plotly\");if(T(),!(n.scrollHeight-n.clientHeight>10||n.scrollWidth-n.clientWidth>10)){clearTimeout(yt);var i=-e.deltaY;if(isFinite(i)||(i=e.wheelDelta/10),!isFinite(i))return void h.log(\"Did not find wheel motion attributes: \",e);var a,o=Math.exp(-Math.min(Math.max(i,-20),20)/100),s=xt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),l=(e.clientX-s.left)/s.width,u=vt[0]+vt[2]*l,c=(s.bottom-e.clientY)/s.height,f=vt[1]+vt[3]*(1-c);if(A){for(a=0;a<U.length;a++)r(U[a],l,o);vt[2]*=o,vt[0]=u-vt[2]*l}if(M){for(a=0;a<V.length;a++)r(V[a],c,o);vt[3]*=o,vt[1]=f-vt[3]*(1-c)}return j(vt),O(M,A),yt=setTimeout(function(){vt=[0,0,H,q],F()},bt),h.pauseEvent(e)}}}function P(e,r){function n(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function i(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function a(t,e,r){for(var n,a,o=1-e,s=0;s<t.length;s++){var l=t[s];if(!l.fixedrange){n=l,a=l._rl[o]+(l._rl[e]-l._rl[o])/i(r/l._length);var u=l.l2r(a);u!==!1&&void 0!==u&&(l.range[e]=u)}}return n._length*(n._rl[e]-a)/(n._rl[e]-n._rl[o])}if(!t._transitioningWithDuration){if(T(),\"ew\"===Q||\"ns\"===$)return Q&&n(U,e),$&&n(V,r),j([Q?-e:0,$?-r:0,H,q]),void O($,Q);\"w\"===Q?e=a(U,0,e):\"e\"===Q?e=a(U,1,-e):Q||(e=0),\"n\"===$?r=a(V,1,r):\"s\"===$?r=a(V,0,-r):$||(r=0),j([\"w\"===Q?e:0,\"n\"===$?r:0,H-e,q-r]),O($,Q)}}function O(e,r){function n(t){for(a=0;a<t.length;a++)t[a].fixedrange||o.push(t[a]._id)}function i(n,i){for(a=0;a<n.length;a++){var s=n[a];(r&&o.indexOf(s.xref)!==-1||e&&o.indexOf(s.yref)!==-1)&&i(t,a)}}var a,o=[];for(r&&n(U),e&&n(V),a=0;a<o.length;a++)v.doTicks(t,o[a],!0);i(N.annotations||[],c.getComponentMethod(\"annotations\",\"drawOne\")),i(N.shapes||[],c.getComponentMethod(\"shapes\",\"drawOne\")),i(N.images||[],c.getComponentMethod(\"images\",\"draw\"))}function R(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(Q?U:[]).concat($?V:[]),o={};if(\"autosize\"===i)for(r=0;r<a.length;r++)e=a[r],e.fixedrange||(o[e._name+\".autorange\"]=!0);else if(\"reset\"===i)for(r=0;r<a.length;r++)e=a[r],e._rangeInitial?(n=e._rangeInitial.slice(),o[e._name+\".range[0]\"]=n[0],o[e._name+\".range[1]\"]=n[1]):o[e._name+\".autorange\"]=!0;else if(\"reset+autosize\"===i)for(r=0;r<a.length;r++)e=a[r],e.fixedrange||(void 0===e._rangeInitial||e.range[0]===e._rangeInitial[0]&&e.range[1]===e._rangeInitial[1]?o[e._name+\".autorange\"]=!0:(n=e._rangeInitial.slice(),o[e._name+\".range[0]\"]=n[0],o[e._name+\".range[1]\"]=n[1]));t.emit(\"plotly_doubleclick\",null),u.relayout(t,o)}}function F(e){for(var r={},n=0;n<K.length;n++){var i=K[n];e&&e.indexOf(i._id.charAt(0))===-1||(i._r[0]!==i.range[0]&&(r[i._name+\".range[0]\"]=i.range[0]),i._r[1]!==i.range[1]&&(r[i._name+\".range[1]\"]=i.range[1]),i.range=i._r.slice())}j([0,0,H,q]),u.relayout(t,r)}function j(t){for(var e,r=N._plots,n=Object.keys(r),i=0;i<n.length;i++){var a=r[n[i]],o=a.xaxis,s=a.yaxis,l=A&&!o.fixedrange,u=M&&!s.fixedrange;if(l){var c=!1;for(e=0;e<U.length;e++)if(U[e]._id===o._id){c=!0;break}l=l&&c}if(u){var h=!1;for(e=0;e<V.length;e++)if(V[e]._id===s._id){h=!0;break}u=u&&h}var f=l?o._length/t[2]:1,d=u?s._length/t[3]:1,m=l?t[0]:0,g=u?t[1]:0,v=l?t[0]/t[2]*o._length:0,y=u?t[1]/t[3]*s._length:0,b=o._offset-v,x=s._offset-y;N._defs.selectAll(\"#\"+a.clipId).call(p.setTranslate,m,g).call(p.setScale,1/f,1/d),a.plot.call(p.setTranslate,b,x).call(p.setScale,f,d).select(\".scatterlayer\").selectAll(\".points\").selectAll(\".point\").call(p.setPointGroupScale,1/f,1/d)}}for(var N=t._fullLayout,B=[e].concat(M&&A?e.overlays:[]),U=[e.xaxis],V=[e.yaxis],H=U[0]._length,q=V[0]._length,G=b.MINDRAG,Y=b.MINZOOM,X=M+A===\"nsew\",W=1;W<B.length;W++){var Z=B[W].xaxis,J=B[W].yaxis;U.indexOf(Z)===-1&&U.push(Z),V.indexOf(J)===-1&&V.push(J)}var K=U.concat(V),Q=k(U,A),$=k(V,M),tt=i($+Q,N.dragmode),et=M+A+\"drag\",rt=e.draglayer.selectAll(\".\"+et).data([0]);rt.enter().append(\"rect\").classed(\"drag\",!0).classed(et,!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",e.id),rt.call(p.setRect,r,s,_,w).call(m,tt);var nt=rt.node();if(!$&&!Q&&!o(N.dragmode))return nt.onmousedown=null,nt.style.pointerEvents=X?\"all\":\"none\",nt;var it={element:nt,gd:t,plotinfo:e,xaxes:U,yaxes:V,doubleclick:R,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;X?e.shiftKey&&(i=\"pan\"===i?\"zoom\":\"pan\"):i=\"pan\",it.minDrag=\"lasso\"===i?1:void 0,\"zoom\"===i?(it.moveFn=L,it.doneFn=D,E(e,r,n)):\"pan\"===i?(it.moveFn=P,it.doneFn=I,S()):o(i)&&y(e,r,n,it,i)}};g.init(it);var at,ot,st,lt,ut,ct,ht,ft,dt,pt=t._fullLayout._zoomlayer,mt=e.xaxis._offset,gt=e.yaxis._offset,vt=[0,0,H,q],yt=null,bt=b.REDRAWDELAY,xt=e.mainplot?N._plots[e.mainplot]:e;return M.length*A.length!=1&&(void 0!==nt.onwheel?nt.onwheel=z:void 0!==nt.onmousewheel&&(nt.onmousewheel=z)),nt}},{\"../../components/color\":576,\"../../components/dragelement\":597,\"../../components/drawing\":599,\"../../lib\":681,\"../../lib/setcursor\":696,\"../../lib/svg_text_utils\":700,\"../../plotly\":715,\"../../registry\":794,\"./axes\":720,\"./constants\":725,\"./select\":733,d3:104,tinycolor2:512}],727:[function(t,e,r){\"use strict\";function n(t,e){for(var r=[],n=t.length;n>0;n--)r.push(e);return r}function i(t,e){for(var r=[],n=0;n<t.length;n++)r.push(t[n].p2c(e));return r}function a(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}}function o(t,e,r){if(\"pie\"===r)return void t.emit(\"plotly_hover\",{points:[e]});r||(r=\"xy\");var a=Array.isArray(r)?r:[r],o=t._fullLayout,p=o._plots||[],y=p[r];if(y){var x=y.overlays.map(function(t){return t.id});a=a.concat(x)}for(var T=a.length,E=new Array(T),S=new Array(T),L=0;L<T;L++){var C=a[L],D=p[C];if(D)E[L]=A.getFromId(t,D.xaxis._id),S[L]=A.getFromId(t,D.yaxis._id);else{var I=o[C]._subplot;E[L]=I.xaxis,S[L]=I.yaxis}}var z=e.hovermode||o.hovermode;if([\"x\",\"y\",\"closest\"].indexOf(z)===-1||!t.calcdata||t.querySelector(\".zoombox\")||t._dragging)return _.unhoverRaw(t,e);var P,O,R,F,j,N,B,U,V,H,q,G,Y,X=[],W=[];if(Array.isArray(e))for(z=\"array\",R=0;R<e.length;R++)j=t.calcdata[e[R].curveNumber||0],\"skip\"!==j[0].trace.hoverinfo&&W.push(j);else{for(F=0;F<t.calcdata.length;F++)j=t.calcdata[F],N=j[0].trace,\"skip\"!==N.hoverinfo&&a.indexOf(s(N))!==-1&&W.push(j);var Z,J;if(e.target&&\"clientX\"in e&&\"clientY\"in e){if(v.triggerHandler(t,\"plotly_beforehover\",e)===!1)return;var K=e.target.getBoundingClientRect();if(Z=e.clientX-K.left,J=e.clientY-K.top,Z<0||Z>K.width||J<0||J>K.height)return _.unhoverRaw(t,e)}else Z=\"xpx\"in e?e.xpx:E[0]._length/2,J=\"ypx\"in e?e.ypx:S[0]._length/2;if(P=\"xval\"in e?n(a,e.xval):i(E,Z),O=\"yval\"in e?n(a,e.yval):i(S,J),!m(P[0])||!m(O[0]))return g.warn(\"Fx.hover failed\",e,t),_.unhoverRaw(t,e)}var Q=1/0;for(F=0;F<W.length;F++)if((j=W[F])&&j[0]&&j[0].trace&&j[0].trace.visible===!0){if(N=j[0].trace,B=s(N),U=a.indexOf(B),V=z,G={cd:j,trace:N,xa:E[U],ya:S[U],name:t.data.length>1||N.hoverinfo.indexOf(\"name\")!==-1?N.name:void 0,index:!1,distance:Math.min(Q,k.MAXDIST),color:b.defaultLine,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},o[B]&&(G.subplot=o[B]._subplot),Y=X.length,\"array\"===V){var $=e[F];\"pointNumber\"in $?(G.index=$.pointNumber,V=\"closest\"):(V=\"\",\"xval\"in $&&(H=$.xval,V=\"x\"),\"yval\"in $&&(q=$.yval,V=V?\"closest\":\"y\"))}else H=P[U],q=O[U];if(N._module&&N._module.hoverPoints){var tt=N._module.hoverPoints(G,H,q,V);if(tt)for(var et,rt=0;rt<tt.length;rt++)et=tt[rt],m(et.x0)&&m(et.y0)&&X.push(l(et,z))}else g.log(\"Unrecognized trace type in hover:\",N);\"closest\"===z&&X.length>Y&&(X.splice(0,Y),Q=X[0].distance)}if(0===X.length)return _.unhoverRaw(t,e);var nt=\"y\"===z&&W.length>1;X.sort(function(t,e){return t.distance-e.distance});var it=b.combine(o.plot_bgcolor||b.background,o.paper_bgcolor),at={hovermode:z,rotateLabels:nt,bgColor:it,container:o._hoverlayer,outerContainer:o._paperdiv},ot=u(X,at);c(X,nt?\"xa\":\"ya\"),h(ot,nt);var st=t._hoverdata,lt=[];for(R=0;R<X.length;R++){var ut=X[R],ct={data:ut.trace._input,fullData:ut.trace,curveNumber:ut.trace.index,pointNumber:ut.index};ut.trace._module.eventData?ct=ut.trace._module.eventData(ct,ut):(ct.x=ut.xVal,ct.y=ut.yVal,ct.xaxis=ut.xa,ct.yaxis=ut.ya,void 0!==ut.zLabelVal&&(ct.z=ut.zLabelVal)),lt.push(ct)}if(t._hoverdata=lt,e.target&&e.target.tagName){var ht=M.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,lt);w(d.select(e.target),ht?\"pointer\":\"\")}f(t,e,st)&&(st&&t.emit(\"plotly_unhover\",{points:st}),t.emit(\"plotly_hover\",{points:t._hoverdata,xaxes:E,yaxes:S,xvals:P,yvals:O}))}function s(t){return t.subplot||t.xaxis+t.yaxis||t.geo}function l(t,e){t.posref=\"y\"===e?(t.x0+t.x1)/2:(t.y0+t.y1)/2,t.x0=g.constrain(t.x0,0,t.xa._length),t.x1=g.constrain(t.x1,0,t.xa._length),t.y0=g.constrain(t.y0,0,t.ya._length),t.y1=g.constrain(t.y1,0,t.ya._length);var r;if(void 0!==t.xLabelVal){r=\"log\"===t.xa.type&&t.xLabelVal<=0;var n=A.tickText(t.xa,t.xa.c2l(r?-t.xLabelVal:t.xLabelVal),\"hover\");r?0===t.xLabelVal?t.xLabel=\"0\":t.xLabel=\"-\"+n.text:t.xLabel=n.text,t.xVal=t.xa.c2d(t.xLabelVal)}if(void 0!==t.yLabelVal){r=\"log\"===t.ya.type&&t.yLabelVal<=0;var i=A.tickText(t.ya,t.ya.c2l(r?-t.yLabelVal:t.yLabelVal),\"hover\");r?0===t.yLabelVal?t.yLabel=\"0\":t.yLabel=\"-\"+i.text:t.yLabel=i.text,t.yVal=t.ya.c2d(t.yLabelVal)}if(void 0!==t.zLabelVal&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var a=A.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+a+\" / -\"+A.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+a,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var o=A.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+o+\" / -\"+A.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+o,\"y\"===e&&(t.distance+=1)}var s=t.trace.hoverinfo;return\"all\"!==s&&(s=s.split(\"+\"),s.indexOf(\"x\")===-1&&(t.xLabel=void 0),s.indexOf(\"y\")===-1&&(t.yLabel=void 0),s.indexOf(\"z\")===-1&&(t.zLabel=void 0),s.indexOf(\"text\")===-1&&(t.text=void 0),s.indexOf(\"name\")===-1&&(t.name=void 0)),t}function u(t,e){var r,n,i=e.hovermode,a=e.rotateLabels,o=e.bgColor,s=e.container,l=e.outerContainer,u=t[0],c=u.xa,h=u.ya,f=\"y\"===i?\"yLabel\":\"xLabel\",m=u[f],g=(String(m)||\"\").split(\" \")[0],v=l.node().getBoundingClientRect(),_=v.top,w=v.width,M=v.height,A=u.distance<=k.MAXDIST&&(\"x\"===i||\"y\"===i);for(r=0;r<t.length;r++){n=t[r].trace.hoverinfo;var T=n.split(\"+\");if(T.indexOf(\"all\")===-1&&T.indexOf(i)===-1){A=!1;break}}var E=s.selectAll(\"g.axistext\").data(A?[0]:[]);E.enter().append(\"g\").classed(\"axistext\",!0),E.exit().remove(),E.each(function(){var e=d.select(this),r=e.selectAll(\"path\").data([0]),n=e.selectAll(\"text\").data([0]);r.enter().append(\"path\").style({fill:b.defaultLine,\"stroke-width\":\"1px\",stroke:b.background}),n.enter().append(\"text\").call(x.font,F,R,b.background).attr(\"data-notex\",1),n.text(m).call(y.convertToTspans).call(x.setPosition,0,0).selectAll(\"tspan.line\").call(x.setPosition,0,0),e.attr(\"transform\",\"\");var a=n.node().getBoundingClientRect();if(\"x\"===i){n.attr(\"text-anchor\",\"middle\").call(x.setPosition,0,\"top\"===c.side?_-a.bottom-P-O:_-a.top+P+O).selectAll(\"tspan.line\").attr({x:n.attr(\"x\"),y:n.attr(\"y\")});var o=\"top\"===c.side?\"-\":\"\";r.attr(\"d\",\"M0,0L\"+P+\",\"+o+P+\"H\"+(O+a.width/2)+\"v\"+o+(2*O+a.height)+\"H-\"+(O+a.width/2)+\"V\"+o+P+\"H-\"+P+\"Z\"),e.attr(\"transform\",\"translate(\"+(c._offset+(u.x0+u.x1)/2)+\",\"+(h._offset+(\"top\"===c.side?0:h._length))+\")\")}else{n.attr(\"text-anchor\",\"right\"===h.side?\"start\":\"end\").call(x.setPosition,(\"right\"===h.side?1:-1)*(O+P),_-a.top-a.height/2).selectAll(\"tspan.line\").attr({x:n.attr(\"x\"),y:n.attr(\"y\")});var s=\"right\"===h.side?\"\":\"-\";r.attr(\"d\",\"M0,0L\"+s+P+\",\"+P+\"V\"+(O+a.height/2)+\"h\"+s+(2*O+a.width)+\"V-\"+(O+a.height/2)+\"H\"+s+P+\"V-\"+P+\"Z\"),e.attr(\"transform\",\"translate(\"+(c._offset+(\"right\"===h.side?c._length:0))+\",\"+(h._offset+(u.y0+u.y1)/2)+\")\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[f]||\"\").split(\" \")[0]===g})});var S=s.selectAll(\"g.hovertext\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\"\"].join(\",\")});return S.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var t=d.select(this);t.append(\"rect\").call(b.fill,b.addOpacity(o,.8)),t.append(\"text\").classed(\"name\",!0).call(x.font,F,R),t.append(\"path\").style(\"stroke-width\",\"1px\"),t.append(\"text\").classed(\"nums\",!0).call(x.font,F,R)}),S.exit().remove(),S.each(function(t){var e=d.select(this).attr(\"transform\",\"\"),r=\"\",n=\"\",s=b.opacity(t.color)?t.color:b.defaultLine,l=b.combine(s,o),u=p(l).getBrightness()>128?\"#000\":b.background;void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&void 0===t.zLabelVal&&(r=y.plainText(t.name||\"\"),r.length>15&&(r=r.substr(0,12)+\"...\")),void 0!==t.extraText&&(n+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&&(n+=\"x: \"+t.xLabel+\"<br>\"),void 0!==t.yLabel&&(n+=\"y: \"+t.yLabel+\"<br>\"),n+=(n?\"z: \":\"\")+t.zLabel):A&&t[i+\"Label\"]===m?n=t[(\"x\"===i?\"y\":\"x\")+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&(n=t.yLabel):n=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",t.text&&!Array.isArray(t.text)&&(n+=(n?\"<br>\":\"\")+t.text),\"\"===n&&(\"\"===r&&e.remove(),n=r);var c=e.select(\"text.nums\").style(\"fill\",u).call(x.setPosition,0,0).text(n).attr(\"data-notex\",1).call(y.convertToTspans);c.selectAll(\"tspan.line\").call(x.setPosition,0,0);var h=e.select(\"text.name\"),f=0;r&&r!==n?(h.style(\"fill\",l).text(r).call(x.setPosition,0,0).attr(\"data-notex\",1).call(y.convertToTspans),h.selectAll(\"tspan.line\").call(x.setPosition,0,0),f=h.node().getBoundingClientRect().width+2*O):(h.remove(),e.select(\"rect\").remove()),e.select(\"path\").style({fill:l,stroke:u});var g,v,k=c.node().getBoundingClientRect(),T=t.xa._offset+(t.x0+t.x1)/2,E=t.ya._offset+(t.y0+t.y1)/2,S=Math.abs(t.x1-t.x0),C=Math.abs(t.y1-t.y0),D=k.width+P+O+f;t.ty0=_-k.top,t.bx=k.width+2*O,t.by=k.height+2*O,t.anchor=\"start\",t.txwidth=k.width,t.tx2width=f,t.offset=0,a?(t.pos=T,g=E+C/2+D<=M,v=E-C/2-D>=0,\"top\"!==t.idealAlign&&g||!v?g?(E+=C/2,t.anchor=\"start\"):t.anchor=\"middle\":(E-=C/2,t.anchor=\"end\")):(t.pos=E,g=T+S/2+D<=w,v=T-S/2-D>=0,\"left\"!==t.idealAlign&&g||!v?g?(T+=S/2,t.anchor=\"start\"):t.anchor=\"middle\":(T-=S/2,t.anchor=\"end\")),c.attr(\"text-anchor\",t.anchor),f&&h.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",\"translate(\"+T+\",\"+E+\")\"+(a?\"rotate(\"+L+\")\":\"\"))}),S}function c(t,e){function r(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var u=0;for(o=0;o<t.length;o++)l=t[o],l.pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)l=t[o],l.pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if(l=t[o],l.pos<e.pmin+1)for(l.del=!0,u--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(u<=0);o--)l=t[o],l.pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(var n,i,a,o,s,l,u,c=0,h=t.map(function(t,r){var n=t[e];return[{i:r,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\"x\"===n._id.charAt(0)?D:1)/2,pmin:n._offset,pmax:n._offset+n._length}]}).sort(function(t,e){return t[0].posref-e[0].posref});!n&&c<=t.length;){for(c++,n=!0,o=0;o<h.length-1;){var f=h[o],d=h[o+1],p=f[f.length-1],m=d[0];if((i=p.pos+p.dp+p.size-m.pos-m.dp+m.size)>.01&&p.pmin===m.pmin&&p.pmax===m.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(f.push.apply(f,d),h.splice(o+1,1),u=0,s=f.length-1;s>=0;s--)u+=f[s].dp;for(a=u/f.length,s=f.length-1;s>=0;s--)f[s].dp-=a;n=!1}else o++}h.forEach(r)}for(o=h.length-1;o>=0;o--){var g=h[o];for(s=g.length-1;s>=0;s--){var v=g[s],y=t[v.i];y.offset=v.dp,y.del=v.del}}}function h(t,e){t.each(function(t){var r=d.select(this);if(t.del)return void r.remove();var n=\"end\"===t.anchor?-1:1,i=r.select(\"text.nums\"),a={start:1,end:-1,middle:0}[t.anchor],o=a*(P+O),s=o+a*(t.txwidth+O),l=0,u=t.offset;\"middle\"===t.anchor&&(o-=t.tx2width/2,s-=t.tx2width/2),e&&(u*=-z,l=t.offset*I),r.select(\"path\").attr(\"d\",\"middle\"===t.anchor?\"M-\"+t.bx/2+\",-\"+t.by/2+\"h\"+t.bx+\"v\"+t.by+\"h-\"+t.bx+\"Z\":\"M0,0L\"+(n*P+l)+\",\"+(P+u)+\"v\"+(t.by/2-P)+\"h\"+n*t.bx+\"v-\"+t.by+\"H\"+(n*P+l)+\"V\"+(u-P)+\"Z\"),i.call(x.setPosition,o+l,u+t.ty0-t.by/2+O).selectAll(\"tspan.line\").attr({x:i.attr(\"x\"),y:i.attr(\"y\")}),t.tx2width&&(r.select(\"text.name, text.name tspan.line\").call(x.setPosition,s+a*O+l,u+t.ty0-t.by/2+O),r.select(\"rect\").call(x.setRect,s+(a-1)*t.tx2width/2+l,u-t.by/2-1,t.tx2width,t.by+2))})}function f(t,e,r){if(!e.target)return!1;if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}var d=t(\"d3\"),p=t(\"tinycolor2\"),m=t(\"fast-isnumeric\"),g=t(\"../../lib\"),v=t(\"../../lib/events\"),y=t(\"../../lib/svg_text_utils\"),b=t(\"../../components/color\"),x=t(\"../../components/drawing\"),_=t(\"../../components/dragelement\"),w=t(\"../../lib/override_cursor\"),M=t(\"../../registry\"),A=t(\"./axes\"),k=t(\"./constants\"),T=t(\"./dragbox\"),E=t(\"../layout_attributes\"),S=e.exports={};S.unhover=_.unhover,S.supplyLayoutDefaults=function(t,e,r){function n(r,n){return g.coerce(t,e,E,r,n)}n(\"dragmode\");var i;if(e._has(\"cartesian\")){i=(e._isHoriz=S.isHoriz(r))?\"y\":\"x\"}else i=\"closest\";n(\"hovermode\",i)},S.isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){if(\"h\"!==t[r].orientation){e=!1;break}}return e},S.init=function(t){var e=t._fullLayout;if(e._has(\"cartesian\")&&!t._context.staticPlot){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split(\"y\"),i=r.split(\"y\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var n=e._plots[r];if(e._has(\"cartesian\")){var i=n.xaxis,a=n.yaxis,o=(i._linepositions[r]||[])[3],s=(a._linepositions[r]||[])[3],l=k.DRAGGERSIZE;if(m(o)&&\"top\"===i.side&&(o-=l),m(s)&&\"right\"!==a.side&&(s-=l),!n.mainplot){var u=T(t,n,0,0,i._length,a._length,\"ns\",\"ew\");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&S.hover(t,e,r)},S.hover(t,e,r),t._fullLayout._lasthover=u,\nt._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,_.unhover(t,e))},u.onclick=function(e){S.click(t,e)},t._context.showAxisDragHandles&&(T(t,n,-l,-l,l,l,\"n\",\"w\"),T(t,n,i._length,-l,l,l,\"n\",\"e\"),T(t,n,-l,a._length,l,l,\"s\",\"w\"),T(t,n,i._length,a._length,l,l,\"s\",\"e\"))}t._context.showAxisDragHandles&&(m(o)&&(\"free\"===i.anchor&&(o-=e._size.h*(1-a.domain[1])),T(t,n,.1*i._length,o,.8*i._length,l,\"\",\"ew\"),T(t,n,0,o,.1*i._length,l,\"\",\"w\"),T(t,n,.9*i._length,o,.1*i._length,l,\"\",\"e\")),m(s)&&(\"free\"===a.anchor&&(s-=e._size.w*i.domain[0]),T(t,n,s,.1*a._length,l,.8*a._length,\"ns\",\"\"),T(t,n,s,.9*a._length,l,.1*a._length,\"s\",\"\"),T(t,n,s,0,l,.1*a._length,\"n\",\"\")))}});var r=e._hoverlayer.node();r.onmousemove=function(r){r.target=e._lasthover,S.hover(t,r,e._hoversubplot)},r.onclick=function(r){r.target=e._lasthover,S.click(t,r)},r.onmousedown=function(t){e._lasthover.onmousedown(t)}}};var L=k.YANGLE,C=Math.PI*L/180,D=1/Math.sin(C),I=Math.cos(C),z=Math.sin(C),P=k.HOVERARROWSIZE,O=k.HOVERTEXTPAD,R=k.HOVERFONTSIZE,F=k.HOVERFONT;S.hover=function(t,e,r){if(\"string\"==typeof t&&(t=document.getElementById(t)),void 0===t._lastHoverTime&&(t._lastHoverTime=0),void 0!==t._hoverTimer&&(clearTimeout(t._hoverTimer),t._hoverTimer=void 0),Date.now()>t._lastHoverTime+k.HOVERMINTIME)return o(t,e,r),void(t._lastHoverTime=Date.now());t._hoverTimer=setTimeout(function(){o(t,e,r),t._lastHoverTime=Date.now(),t._hoverTimer=void 0},k.HOVERMINTIME)},S.getDistanceFunction=function(t,e,r,n){return\"closest\"===t?n||a(e,r):\"x\"===t?e:r},S.getClosest=function(t,e,r){if(r.index!==!1)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},S.loneHover=function(t,e){var r={color:t.color||b.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,trace:{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0},n=d.select(e.container),i=e.outerContainer?d.select(e.outerContainer):n,a={hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||b.background,container:n,outerContainer:i},o=u([r],a);return h(o,a.rotateLabels),o.node()},S.loneUnhover=function(t){(g.isD3Selection(t)?t:d.select(t)).selectAll(\"g.hovertext\").remove()},S.click=function(t,e){function r(){t.emit(\"plotly_click\",{points:t._hoverdata})}var n=M.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);t._hoverdata&&e&&e.target&&(n&&n.then?n.then(r):r(),e.stopImmediatePropagation&&e.stopImmediatePropagation())},S.inbox=function(t,e){return t*e<0||0===t?k.MAXDIST*(.6-.3/Math.max(3,Math.abs(t-e))):1/0}},{\"../../components/color\":576,\"../../components/dragelement\":597,\"../../components/drawing\":599,\"../../lib\":681,\"../../lib/events\":672,\"../../lib/override_cursor\":690,\"../../lib/svg_text_utils\":700,\"../../registry\":794,\"../layout_attributes\":770,\"./axes\":720,\"./constants\":725,\"./dragbox\":726,d3:104,\"fast-isnumeric\":113,tinycolor2:512}],728:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=t._fullLayout,o=a._modules;e.plot&&e.plot.selectAll(\"g:not(.scatterlayer)\").selectAll(\"g.trace\").remove();for(var s=0;s<o.length;s++){var l=o[s];if(\"cartesian\"===l.basePlotModule.name){for(var u=[],c=0;c<r.length;c++){var h=r[c],f=h[0].trace;f._module===l&&f.visible===!0&&u.push(h)}l.plot(t,e,u,n,i)}}}function i(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a<r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,u=s.yaxis,c=h.getFromId(t,l.overlaying)||l;c!==l&&c.overlaying&&(c=l,l.overlaying=!1);var f=h.getFromId(t,u.overlaying)||u;f!==u&&f.overlaying&&(f=u,u.overlaying=!1);var d=c._id+f._id;d!==o&&r.indexOf(d)!==-1?(s.mainplot=d,s.mainplotinfo=e._plots[d],i.push(o),l.domain=c.domain.slice(),u.domain=f.domain.slice()):n.push(o)}return n=n.concat(i)}function a(t){function e(t){s(t,\"g\",\"imagelayer\"),s(t,\"g\",\"maplayer\"),s(t,\"g\",\"barlayer\"),s(t,\"g\",\"boxlayer\"),s(t,\"g\",\"scatterlayer\")}var r=t.plotgroup,n=t.id;if(t.mainplot){var i=t.mainplotinfo;t.gridlayer=s(i.overgrid,\"g\",n),t.zerolinelayer=s(i.overzero,\"g\",n),t.plot=s(i.overplot,\"g\",n),t.xlines=s(i.overlines,\"path\",n),t.ylines=s(i.overlines,\"path\",n),t.xaxislayer=s(i.overaxes,\"g\",n),t.yaxislayer=s(i.overaxes,\"g\",n)}else{var a=s(r,\"g\",\"layer-subplot\");t.shapelayer=s(a,\"g\",\"shapelayer\"),t.imagelayer=s(a,\"g\",\"imagelayer\"),t.gridlayer=s(r,\"g\",\"gridlayer\"),t.overgrid=s(r,\"g\",\"overgrid\"),t.zerolinelayer=s(r,\"g\",\"zerolinelayer\"),t.overzero=s(r,\"g\",\"overzero\"),t.plot=s(r,\"g\",\"plot\"),t.overplot=s(r,\"g\",\"overplot\"),t.xlines=s(r,\"path\",\"xlines\"),t.ylines=s(r,\"path\",\"ylines\"),t.overlines=s(r,\"g\",\"overlines\"),t.xaxislayer=s(r,\"g\",\"xaxislayer\"),t.yaxislayer=s(r,\"g\",\"yaxislayer\"),t.overaxes=s(r,\"g\",\"overaxes\")}t.plot.call(e),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0)}function o(t,e){t&&t.each(function(t){var r=l.select(this),n=\"clip\"+e._uid+t+\"plot\";r.remove(),e._draggers.selectAll(\"g.\"+t).remove(),e._defs.select(\"#\"+n).remove()})}function s(t,e,r){var n=t.selectAll(\".\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}var l=t(\"d3\"),u=t(\"../../lib\"),c=t(\"../plots\"),h=t(\"./axis_ids\"),f=t(\"./constants\");r.name=\"cartesian\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=f.idRegex,r.attrRegex=f.attrRegex,r.attributes=t(\"./attributes\"),r.layoutAttributes=t(\"./layout_attributes\"),r.transitionAxes=t(\"./transition_axes\"),r.plot=function(t,e,r,i){var a,o=t._fullLayout,s=c.getSubplotIds(o,\"cartesian\"),l=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a<l.length;a++)e.push(a);for(a=0;a<s.length;a++){for(var u,h=s[a],f=o._plots[h],d=[],p=0;p<l.length;p++){var m=l[p],g=m[0].trace;g.xaxis+g.yaxis===h&&(e.indexOf(g.index)!==-1&&(u&&u[0].trace.xaxis+u[0].trace.yaxis===h&&[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(g.fill)!==-1&&d.indexOf(u)===-1&&d.push(u),d.push(m)),u=m)}n(t,f,d,r,i)}},r.clean=function(t,e,r,n){var i,a,s,l=n._modules||[],u=e._modules||[];for(s=0;s<l.length;s++)if(\"scatter\"===l[s].name){i=!0;break}for(s=0;s<u.length;s++)if(\"scatter\"===u[s].name){a=!0;break}if(i&&!a){var c=n._plots,f=Object.keys(c||{});for(s=0;s<f.length;s++){var d=c[f[s]];d.plot&&d.plot.select(\"g.scatterlayer\").selectAll(\"g.trace\").remove()}n._infolayer.selectAll(\"g.rangeslider-container\").select(\"g.scatterlayer\").selectAll(\"g.trace\").remove()}var p=n._has&&n._has(\"cartesian\"),m=e._has&&e._has(\"cartesian\");if(p&&!m){var g=n._cartesianlayer.selectAll(\".subplot\"),v=h.listIds({_fullLayout:n});for(g.call(o,n),n._defs.selectAll(\".axesclip\").remove(),s=0;s<v.length;s++)n._infolayer.select(\".\"+v[s]+\"title\").remove()}},r.drawFramework=function(t){var e=t._fullLayout,r=i(t),n=e._cartesianlayer.selectAll(\".subplot\").data(r,u.identity);n.enter().append(\"g\").attr(\"class\",function(t){return\"subplot \"+t}),n.order(),n.exit().call(o,e),n.each(function(t){var r=e._plots[t];if(r.plotgroup=l.select(this),r.overlays=[],a(r),r.mainplot){e._plots[r.mainplot].overlays.push(r)}r.draglayer=s(e._draggers,\"g\",t)})},r.rangePlot=function(t,e,r){a(e),n(t,e,r),c.style(t)}},{\"../../lib\":681,\"../plots\":779,\"./attributes\":719,\"./axis_ids\":723,\"./constants\":725,\"./layout_attributes\":729,\"./transition_axes\":738,d3:104}],729:[function(t,e,r){\"use strict\";var n=t(\"../font_attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"./constants\");e.exports={color:{valType:\"color\",dflt:i.defaultLine},title:{valType:\"string\"},titlefont:a({},n,{}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\"],dflt:\"-\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\"},range:{valType:\"info_array\",items:[{valType:\"any\"},{valType:\"any\"}]},fixedrange:{valType:\"boolean\",dflt:!1},tickmode:{valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"]},nticks:{valType:\"integer\",min:0,dflt:0},tick0:{valType:\"any\"},dtick:{valType:\"any\"},tickvals:{valType:\"data_array\"},ticktext:{valType:\"data_array\"},ticks:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"]},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1},ticklen:{valType:\"number\",min:0,dflt:5},tickwidth:{valType:\"number\",min:0,dflt:1},tickcolor:{valType:\"color\",dflt:i.defaultLine},showticklabels:{valType:\"boolean\",dflt:!0},tickfont:a({},n,{}),tickangle:{valType:\"angle\",dflt:\"auto\"},tickprefix:{valType:\"string\",dflt:\"\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\"},ticksuffix:{valType:\"string\",dflt:\"\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\"},separatethousands:{valType:\"boolean\",dflt:!1},tickformat:{valType:\"string\",dflt:\"\"},hoverformat:{valType:\"string\",dflt:\"\"},showline:{valType:\"boolean\",dflt:!1},linecolor:{valType:\"color\",dflt:i.defaultLine},linewidth:{valType:\"number\",min:0,dflt:1},showgrid:{valType:\"boolean\"},gridcolor:{valType:\"color\",dflt:i.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},zeroline:{valType:\"boolean\"},zerolinecolor:{valType:\"color\",dflt:i.defaultLine},zerolinewidth:{valType:\"number\",dflt:1},anchor:{valType:\"enumerated\",values:[\"free\",o.idRegex.x.toString(),o.idRegex.y.toString()]},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"]},overlaying:{valType:\"enumerated\",values:[\"free\",o.idRegex.x.toString(),o.idRegex.y.toString()]},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},position:{valType:\"number\",min:0,max:1,dflt:0},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\"},categoryarray:{valType:\"data_array\"},_deprecated:{autotick:{valType:\"boolean\"}}}},{\"../../components/color/attributes\":575,\"../../lib/extend\":673,\"../font_attributes\":740,\"./constants\":725}],730:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"../layout_attributes\"),s=t(\"./constants\"),l=t(\"./layout_attributes\"),u=t(\"./axis_defaults\"),c=t(\"./position_defaults\"),h=t(\"./axis_ids\");e.exports=function(t,e,r){function f(t,e){return Number(t.substr(5)||1)-Number(e.substr(5)||1)}function d(t,e){return i.coerce(z,P,l,t,e)}var p,m=Object.keys(t),g=[],v=[],y=[],b=[],x={},_={};for(p=0;p<r.length;p++){var w,M,A=r[p];if(n.traceIs(A,\"cartesian\"))w=g,M=v;else{if(!n.traceIs(A,\"gl2d\"))continue;w=y,M=b}var k=h.id2name(A.xaxis),T=h.id2name(A.yaxis);if(k&&w.indexOf(k)===-1&&w.push(k),T&&M.indexOf(T)===-1&&M.push(T),n.traceIs(A,\"2dMap\")&&(x[k]=!0,x[T]=!0),n.traceIs(A,\"oriented\")){_[\"h\"===A.orientation?T:k]=!0}}if(!e._has(\"gl3d\")&&!e._has(\"geo\"))for(p=0;p<m.length;p++){var E=m[p];y.indexOf(E)===-1&&g.indexOf(E)===-1&&s.xAxisMatch.test(E)?g.push(E):b.indexOf(E)===-1&&v.indexOf(E)===-1&&s.yAxisMatch.test(E)&&v.push(E)}g.length&&v.length&&i.pushUnique(e._basePlotModules,n.subplotsRegistry.cartesian);var S=g.concat(y).sort(f),L=v.concat(b).sort(f),C=S.concat(L),D=a.background;S.length&&L.length&&(D=i.coerce(t,e,o,\"plot_bgcolor\"));var I,z,P,O=a.combine(D,e.paper_bgcolor);for(p=0;p<C.length;p++){I=C[p],i.isPlainObject(t[I])||(t[I]={}),z=t[I],P=e[I]={};var R=I.charAt(0);u(z,P,d,{letter:R,font:e.font,outerTicks:x[I],showGrid:!_[I],name:I,data:r,bgColor:O,calendar:e.calendar},e);c(z,P,d,{letter:R,counterAxes:function(t){var e={x:L,y:S}[t];return i.simpleMap(e,h.name2id)}(R),overlayableAxes:function(e,r){for(var n={x:S,y:L}[e],i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(h.name2id(o))}return i}(R,I)}),P._input=z}var F=n.getComponentMethod(\"rangeslider\",\"handleDefaults\"),j=n.getComponentMethod(\"rangeselector\",\"handleDefaults\");for(p=0;p<S.length;p++)I=S[p],z=t[I],P=e[I],F(t,e,I),\"date\"===P.type&&j(z,P,e,L,P.calendar),d(\"fixedrange\");for(p=0;p<L.length;p++){I=L[p],z=t[I],P=e[I];var N=e[h.id2name(P.anchor)];d(\"fixedrange\",N&&N.rangeslider&&N.rangeslider.visible)}}},{\"../../components/color\":576,\"../../lib\":681,\"../../registry\":794,\"../layout_attributes\":770,\"./axis_defaults\":722,\"./axis_ids\":723,\"./constants\":725,\"./layout_attributes\":729,\"./position_defaults\":732}],731:[function(t,e,r){\"use strict\";function n(t,e,r){var n,a,o,s,l,u=[],c=r.map(function(e){return e[t]}),h=i.bisector(e).left;for(n=0;n<c.length;n++)for(o=c[n],a=0;a<o.length;a++)null!==(s=o[a])&&void 0!==s&&((l=h(u,s))<u.length&&u[l]===s||u.splice(l,0,s));return u}var i=t(\"d3\");e.exports=function(t,e,r,a){switch(e){case\"array\":return Array.isArray(r)?r.slice():[];case\"category ascending\":return n(t,i.ascending,a);case\"category descending\":return n(t,i.descending,a);case\"trace\":return[];default:return[]}}},{d3:104}],732:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=a.counterAxes||[],s=a.overlayableAxes||[],l=a.letter;\"free\"===i.coerce(t,e,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(o),dflt:n(t.position)?\"free\":o[0]||\"free\"}},\"anchor\")&&r(\"position\"),i.coerce(t,e,{side:{valType:\"enumerated\",values:\"x\"===l?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:\"x\"===l?\"bottom\":\"left\"}},\"side\");var u=!1;if(s.length&&(u=i.coerce(t,e,{overlaying:{valType:\"enumerated\",values:[!1].concat(s),dflt:!1}},\"overlaying\")),!u){var c=r(\"domain\");c[0]>c[1]-.01&&(e.domain=[0,1]),i.noneOrAll(t.domain,e.domain,[0,1])}return e}},{\"../../lib\":681,\"fast-isnumeric\":113}],733:[function(t,e,r){\"use strict\";function n(t){return t._id}var i=t(\"../../lib/polygon\"),a=t(\"../../components/color\"),o=t(\"./axes\"),s=t(\"./constants\"),l=i.filter,u=i.tester,c=s.MINSELECT;e.exports=function(t,e,r,i,h){function f(t){var e=\"y\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function d(t,e){return t-e}var p,m=i.gd._fullLayout._zoomlayer,g=i.element.getBoundingClientRect(),v=i.plotinfo.xaxis._offset,y=i.plotinfo.yaxis._offset,b=e-g.left,x=r-g.top,_=b,w=x,M=\"M\"+b+\",\"+x,A=i.xaxes[0]._length,k=i.yaxes[0]._length,T=i.xaxes.map(n),E=i.yaxes.map(n),S=i.xaxes.concat(i.yaxes);\"lasso\"===h&&(p=l([[b,x]],s.BENDPX));var L=m.selectAll(\"path.select-outline\").data([1,2]);L.enter().append(\"path\").attr(\"class\",function(t){return\"select-outline select-outline-\"+t}).attr(\"transform\",\"translate(\"+v+\", \"+y+\")\").attr(\"d\",M+\"Z\");var C,D,I,z,P,O=m.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:a.background,stroke:a.defaultLine,\"stroke-width\":1}).attr(\"transform\",\"translate(\"+v+\", \"+y+\")\").attr(\"d\",\"M0,0Z\"),R=[],F=i.gd,j=[];for(C=0;C<F.calcdata.length;C++)if(D=F.calcdata[C],I=D[0].trace,I._module&&I._module.selectPoints)if(i.subplot){if(I.subplot!==i.subplot)continue;R.push({selectPoints:I._module.selectPoints,cd:D,xaxis:i.xaxes[0],yaxis:i.yaxes[0]})}else{if(T.indexOf(I.xaxis)===-1)continue;if(E.indexOf(I.yaxis)===-1)continue;R.push({selectPoints:I._module.selectPoints,cd:D,xaxis:o.getFromId(F,I.xaxis),yaxis:o.getFromId(F,I.yaxis)})}i.moveFn=function(t,e){var r,n;_=Math.max(0,Math.min(A,t+b)),w=Math.max(0,Math.min(k,e+x));var a=Math.abs(_-b),o=Math.abs(w-x);for(\"select\"===h?(o<Math.min(.6*a,c)?(r=u([[b,0],[b,k],[_,k],[_,0]]),O.attr(\"d\",\"M\"+r.xmin+\",\"+(x-c)+\"h-4v\"+2*c+\"h4ZM\"+(r.xmax-1)+\",\"+(x-c)+\"h4v\"+2*c+\"h-4Z\")):a<Math.min(.6*o,c)?(r=u([[0,x],[0,w],[A,w],[A,x]]),O.attr(\"d\",\"M\"+(b-c)+\",\"+r.ymin+\"v-4h\"+2*c+\"v4ZM\"+(b-c)+\",\"+(r.ymax-1)+\"v4h\"+2*c+\"v-4Z\")):(r=u([[b,x],[b,w],[_,w],[_,x]]),O.attr(\"d\",\"M0,0Z\")),L.attr(\"d\",\"M\"+r.xmin+\",\"+r.ymin+\"H\"+(r.xmax-1)+\"V\"+(r.ymax-1)+\"H\"+r.xmin+\"Z\")):\"lasso\"===h&&(p.addPt([_,w]),r=u(p.filtered),L.attr(\"d\",\"M\"+p.filtered.join(\"L\")+\"Z\")),j=[],C=0;C<R.length;C++)z=R[C],[].push.apply(j,z.selectPoints(z,r));if(P={points:j},\"select\"===h){var s,l=P.range={};for(C=0;C<S.length;C++)n=S[C],s=n._id.charAt(0),l[n._id]=[n.p2d(r[s+\"min\"]),n.p2d(r[s+\"max\"])].sort(d)}else{var m=P.lassoPoints={};for(C=0;C<S.length;C++)n=S[C],m[n._id]=p.filtered.map(f(n))}i.gd.emit(\"plotly_selecting\",P)},i.doneFn=function(t,e){if(O.remove(),t||2!==e)i.gd.emit(\"plotly_selected\",P);else{for(L.remove(),C=0;C<R.length;C++)z=R[C],z.selectPoints(z,!1);F.emit(\"plotly_deselect\",null)}}}},{\"../../components/color\":576,\"../../lib/polygon\":691,\"./axes\":720,\"./constants\":725}],734:[function(t,e,r){\"use strict\";function n(t){return Math.pow(10,t)}function i(t){return o(t)?(t=Number(t),t<-f||t>f?d:o(t)?Number(t):d):d}var a=t(\"d3\"),o=t(\"fast-isnumeric\"),s=t(\"../../lib\"),l=s.cleanNumber,u=s.ms2DateTime,c=s.dateTime2ms,h=t(\"../../constants/numerical\"),f=h.FP_SAFE,d=h.BADNUM,p=t(\"./constants\"),m=t(\"./axis_ids\");e.exports=function(t,e){function r(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-3*w*Math.abs(n-i))}return d}function h(e,r,n){var i=c(e,n||t.calendar);if(i===d){if(!o(e))return d;i=c(new Date(+e))}return i}function g(e,r,n){return u(e,r,n||t.calendar)}function v(e){return t._categories[Math.round(e)]}function y(e){if(null!==e&&void 0!==e){var r=t._categories.indexOf(e);return r===-1?(t._categories.push(e),t._categories.length-1):r}return d}function b(e){var r=t._categories.indexOf(e);return r!==-1?r:\"number\"==typeof e?e:void 0}function x(e){return o(e)?a.round(t._b+t._m*e,2):d}function _(e){return(e-t._b)/t._m}e=e||{};var w=10;t.c2l=\"log\"===t.type?r:i,t.l2c=\"log\"===t.type?n:i,t.l2p=x,t.p2l=_,t.c2p=\"log\"===t.type?function(t,e){return x(r(t,e))}:x,t.p2c=\"log\"===t.type?function(t){return n(_(t))}:_,[\"linear\",\"-\"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=i,t.d2p=t.r2p=function(t){return x(l(t))},t.p2d=t.p2r=_):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return r(l(t),e)},t.r2d=t.r2c=function(t){return n(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=i,t.c2r=r,t.l2d=n,t.d2p=function(e,r){return x(t.d2r(e,r))},t.p2d=function(t){return n(_(t))},t.r2p=function(t){return x(l(t))},t.p2r=_):\"date\"===t.type?(t.d2r=t.r2d=s.identity,t.d2c=t.r2c=t.d2l=t.r2l=h,t.c2d=t.c2r=t.l2d=t.l2r=g,t.d2p=t.r2p=function(t,e,r){return x(h(t,0,r))},t.p2d=t.p2r=function(t,e,r){return g(_(t),e,r)}):\"category\"===t.type&&(t.d2r=t.d2c=t.d2l=y,t.r2d=t.c2d=t.l2d=v,t.d2l_noadd=b,t.r2l=t.l2r=t.r2c=t.c2r=i,t.d2p=function(t){return x(b(t))},t.p2d=function(t){return v(_(t))},t.r2p=x,t.p2r=_),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e){e||(e=\"range\");var r,n,i=s.nestedProperty(t,e).get(),a=(t._id||\"x\").charAt(0);if(n=\"date\"===t.type?s.dfltRange(t.calendar):\"y\"===a?p.DFLTRANGEY:p.DFLTRANGEX,n=n.slice(),!i||2!==i.length)return void s.nestedProperty(t,e).set(n);for(\"date\"===t.type&&(i[0]=s.cleanDate(i[0],d,t.calendar),i[1]=s.cleanDate(i[1],d,t.calendar)),r=0;r<2;r++)if(\"date\"===t.type){if(!s.isDateTime(i[r],t.calendar)){t[e]=n;break}if(t.r2l(i[0])===t.r2l(i[1])){var l=s.constrain(t.r2l(i[0]),s.MIN_MS+1e3,s.MAX_MS-1e3);i[0]=t.l2r(l-1e3),i[1]=t.l2r(l+1e3);break}}else{if(!o(i[r])){if(!o(i[1-r])){t[e]=n;break}i[r]=i[1-r]*(r?10:.1)}if(i[r]<-f?i[r]=-f:i[r]>f&&(i[r]=f),i[0]===i[1]){var u=Math.max(1,Math.abs(1e-6*i[0]));i[0]-=u,i[1]+=u}}},t.setScale=function(r){var n=e._size,i=t._id.charAt(0);if(t._categories||(t._categories=[]),t.overlaying){var a=m.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=r&&t._r?\"_r\":\"range\",l=t.calendar;t.cleanRange(o);var u=t.r2l(t[o][0],l),c=t.r2l(t[o][1],l);if(\"y\"===i?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),!isFinite(t._m)||!isFinite(t._b))throw s.notifier(\"Something went wrong with axis scaling\",\"long\"),e._replotting=!1,new Error(\"axis scaling\")},t.makeCalcdata=function(e,r){var n,i,a,o=\"date\"===t.type&&e[r+\"calendar\"];if(r in e)for(n=e[r],i=new Array(n.length),a=0;a<n.length;a++)i[a]=t.d2c(n[a],0,o);else{var s=r+\"0\"in e?t.d2c(e[r+\"0\"],0,o):0,l=e[\"d\"+r]?Number(e[\"d\"+r]):1;for(n=e[{x:\"y\",y:\"x\"}[r]],i=new Array(n.length),a=0;a<n.length;a++)i[a]=s+a*l}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&o(t.r2l(e[0]))&&o(t.r2l(e[1]))},t._min=[],t._max=[],t._separators=e.separators,delete t._minDtick,delete t._forceTick0}},{\"../../constants/numerical\":663,\"../../lib\":681,\"./axis_ids\":723,\"./constants\":725,d3:104,\"fast-isnumeric\":113}],735:[function(t,e,r){\"use strict\";function n(t){var e=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"],r=e.filter(function(e){return void 0!==t[e]}),n=function(e){return t[e]===t[r[0]]};if(r.every(n)||1===r.length)return t[r[0]]}var i=t(\"../../lib\");e.exports=function(t,e,r,a,o){var s=n(t);if(r(\"tickprefix\")&&r(\"showtickprefix\",s),r(\"ticksuffix\")&&r(\"showticksuffix\",s),r(\"showticklabels\")){var l=o.font||{},u=e.color===t.color?e.color:l.color;i.coerceFont(r,\"tickfont\",{family:l.family,size:l.size,color:u}),r(\"tickangle\"),\"category\"!==a&&(r(\"tickformat\")||\"date\"===a||(r(\"showexponent\",s),r(\"exponentformat\"),r(\"separatethousands\")))}\"category\"===a||o.noHover||r(\"hoverformat\")}},{\"../../lib\":681}],736:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,\"ticklen\"),s=n.coerce2(t,e,i,\"tickwidth\"),l=n.coerce2(t,e,i,\"tickcolor\",e.color);r(\"ticks\",a.outerTicks||o||s||l?\"outside\":\"\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\"../../lib\":681,\"./layout_attributes\":729}],737:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").ONEDAY;e.exports=function(t,e,r,o){var s=\"auto\";\"array\"!==t.tickmode||\"log\"!==o&&\"date\"!==o||(t.tickmode=\"auto\"),Array.isArray(t.tickvals)?s=\"array\":t.dtick&&(s=\"linear\");var l=r(\"tickmode\",s);if(\"auto\"===l)r(\"nticks\");else if(\"linear\"===l){var u=\"date\"===o?a:1,c=r(\"dtick\",u);if(n(c))e.dtick=c>0?Number(c):u;else if(\"string\"!=typeof c)e.dtick=u;else{var h=c.charAt(0),f=c.substr(1);f=n(f)?Number(f):0,(f<=0||!(\"date\"===o&&\"M\"===h&&f===Math.round(f)||\"log\"===o&&\"L\"===h||\"log\"===o&&\"D\"===h&&(1===f||2===f)))&&(e.dtick=u)}var d=\"date\"===o?i.dateTick0(e.calendar):0,p=r(\"tick0\",d);\"date\"===o?e.tick0=i.cleanDate(p,d):n(p)&&\"D1\"!==c&&\"D2\"!==c?e.tick0=Number(p):e.tick0=d}else{var m=r(\"tickvals\");void 0===m?e.tickmode=\"auto\":r(\"ticktext\")}}},{\"../../constants/numerical\":663,\"../../lib\":681,\"fast-isnumeric\":113}],738:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plotly\"),a=t(\"../../registry\"),o=t(\"../../components/drawing\"),s=t(\"./axes\"),l=/((x|y)([2-9]|[1-9][0-9]+)?)axis$/;e.exports=function(t,e,r,u){function c(e,r){function n(e,r){for(i=0;i<e.length;i++){var n=e[i];o.indexOf(n.xref)===-1&&o.indexOf(n.yref)===-1||r(t,i)}}var i,o=[];for(o=[e._id,r._id],i=0;i<o.length;i++)s.doTicks(t,o[i],!0);n(g.annotations||[],a.getComponentMethod(\"annotations\",\"drawOne\")),n(g.shapes||[],a.getComponentMethod(\"shapes\",\"drawOne\")),n(g.images||[],a.getComponentMethod(\"images\",\"draw\"))}function h(t){var e=t.xaxis,r=t.yaxis;g._defs.selectAll(\"#\"+t.clipId).call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1).selectAll(\".points\").selectAll(\".point\").call(o.setPointGroupScale,1,1)}function f(e,r){var n,i,a,s=y[e.xaxis._id],l=y[e.yaxis._id],u=[];if(s){n=t._fullLayout[s.axisName],i=n._r,a=s.to,u[0]=(i[0]*(1-r)+r*a[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var h=i[1]-i[0],f=a[1]-a[0];n.range[0]=i[0]*(1-r)+r*a[0],n.range[1]=i[1]*(1-r)+r*a[1],u[2]=e.xaxis._length*(1-r+r*f/h)}else u[0]=0,u[2]=e.xaxis._length;if(l){n=t._fullLayout[l.axisName],i=n._r,a=l.to,u[1]=(i[1]*(1-r)+r*a[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var d=i[1]-i[0],p=a[1]-a[0];n.range[0]=i[0]*(1-r)+r*a[0],n.range[1]=i[1]*(1-r)+r*a[1],u[3]=e.yaxis._length*(1-r+r*p/d)}else u[1]=0,u[3]=e.yaxis._length;c(e.xaxis,e.yaxis);var m=e.xaxis,v=e.yaxis,b=!!s,x=!!l,_=b?m._length/u[2]:1,w=x?v._length/u[3]:1,M=b?u[0]:0,A=x?u[1]:0,k=b?u[0]/u[2]*m._length:0,T=x?u[1]/u[3]*v._length:0,E=m._offset-k,S=v._offset-T;g._defs.selectAll(\"#\"+e.clipId).call(o.setTranslate,M,A).call(o.setScale,1/_,1/w),e.plot.call(o.setTranslate,E,S).call(o.setScale,_,w).selectAll(\".points\").selectAll(\".point\").call(o.setPointGroupScale,1/_,1/w)}function d(){for(var e={},r=0;r<b.length;r++){var n=t._fullLayout[y[b[r]].axisName],a=y[b[r]].to;e[n._name+\".range[0]\"]=a[0],e[n._name+\".range[1]\"]=a[1],n.range=a.slice()}return _&&_(),i.relayout(t,e).then(function(){for(var t=0;t<x.length;t++)h(x[t])})}function p(){for(var e={},r=0;r<b.length;r++){var n=t._fullLayout[b[r]+\"axis\"];e[n._name+\".range[0]\"]=n.range[0],e[n._name+\".range[1]\"]=n.range[1],n.range=n._r.slice()}return i.relayout(t,e).then(function(){for(var t=0;t<x.length;t++)h(x[t])})}function m(){M=Date.now();for(var t=Math.min(1,(M-w)/r.duration),e=k(t),n=0;n<x.length;n++)f(x[n],e);M-w>r.duration?(d(),A=window.cancelAnimationFrame(m)):A=window.requestAnimationFrame(m)}var g=t._fullLayout,v=[],y=function(t){var e,r,n,i,a,o={};for(e in t)if(r=e.split(\".\"),n=r[0].match(l)){var s=n[1],u=s+\"axis\";if(i=g[u],a={},Array.isArray(t[e])?a.to=t[e].slice(0):Array.isArray(t[e].range)&&(a.to=t[e].range.slice(0)),!a.to)continue;a.axisName=u,a.length=i._length,v.push(s),o[s]=a}return o}(e),b=Object.keys(y),x=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(s.indexOf(l)===-1){var u=l.xaxis._id,c=l.yaxis._id,h=l.xaxis.range,f=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[u]?r[u].to:h,a=r[c]?r[c].to:f,h[0]===i[0]&&h[1]===i[1]&&f[0]===a[0]&&f[1]===a[1]||e.indexOf(u)===-1&&e.indexOf(c)===-1||s.push(l)}}return s}(g,b,y);if(!x.length)return!1;var _;u&&(_=u());var w,M,A,k=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(A),A=null,p()}),w=Date.now(),A=window.requestAnimationFrame(m),Promise.resolve()}},{\"../../components/drawing\":599,\"../../plotly\":715,\"../../registry\":794,\"./axes\":720,d3:104}],739:[function(t,e,r){\"use strict\";function n(t,e,r){var n,i,a,o=!1;if(\"data\"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(\"layout\"!==e.type)return!1;n=t._fullLayout}return i=u.nestedProperty(n,e.prop).get(),a=r[e.type]=r[e.type]||{},a.hasOwnProperty(e.prop)&&a[e.prop]!==i&&(o=!0),a[e.prop]=i,{changed:o,value:i}}function i(t,e){return Array.isArray(e[0])&&1===e[0].length&&[\"string\",\"number\"].indexOf(typeof e[0][0])!==-1?[{type:\"layout\",prop:\"_currentFrame\",value:e[0][0].toString()}]:[]}function a(t,e){var r=[],n=e[0],i={};if(\"string\"==typeof n)i[n]=e[1];else{if(!u.isPlainObject(n))return r;i=n}return s(i,function(t,e,n){r.push({type:\"layout\",prop:t,value:n})},\"\",0),r}function o(t,e){var r,n,i,a,o=[];if(n=e[0],i=e[1],r=e[2],a={},\"string\"==typeof n)a[n]=i;else{if(!u.isPlainObject(n))return o;a=n,void 0===r&&(r=i)}return void 0===r&&(r=null),s(a,function(e,n,i){var a;if(Array.isArray(i)){var s=Math.min(i.length,t.data.length);r&&(s=Math.min(s,r.length)),a=[];for(var l=0;l<s;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var u=i;i=[];for(var c=0;c<a.length;c++)i[c]=u}i.length=Math.min(a.length,i.length)}o.push({type:\"data\",prop:e,traces:a,value:i})},\"\",0),o}function s(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(\"_\"!==i[0]){var o=r+(n>0?\".\":\"\")+i;u.isPlainObject(a)?s(a,e,o,n+1):e(o,i,a)}})}var l=t(\"../plotly\"),u=t(\"../lib\");r.manageCommandObserver=function(t,e,i,a){var o={},s=!0;e&&e._commandObserver&&(o=e._commandObserver),o.cache||(o.cache={}),o.lookupTable={};var l=r.hasSimpleAPICommandBindings(t,i,o.lookupTable);if(e&&e._commandObserver){if(l)return o;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,o}if(l){n(t,l,o.cache),o.check=function(){if(s){var e=n(t,l,o.cache);return e.changed&&a&&void 0!==o.lookupTable[e.value]&&(o.disable(),Promise.resolve(a({value:e.value,type:l.type,prop:l.prop,traces:l.traces,index:o.lookupTable[e.value]})).then(o.enable,o.enable)),e.changed}};for(var c=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],h=0;h<c.length;h++)t._internalOn(c[h],o.check);o.remove=function(){for(var e=0;e<c.length;e++)t._removeInternalListener(c[e],o.check)}}else u.warn(\"Unable to automatically bind plot updates to API command\"),o.lookupTable={},o.remove=function(){};return o.disable=function(){s=!1},o.enable=function(){s=!0},e&&(e._commandObserver=o),o},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],u=l.method,c=l.args;if(Array.isArray(c)||(c=[]),!u)return!1;var h=r.computeAPICommandBindings(t,u,c);if(1!==h.length)return!1;if(a){if(s=h[0],s.type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==s.traces[f])return!1}else if(s.prop!==a.prop)return!1}else a=h[0],Array.isArray(a.traces)&&a.traces.sort();s=h[0];var d=s.value;if(Array.isArray(d)){if(1!==d.length)return!1;d=d[0]}n&&(n[d]=i)}return a},r.executeAPICommand=function(t,e,r){var n=l[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return u.warn(\"API call to Plotly.\"+e+\" rejected.\",t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\"restyle\":n=o(t,r);break;case\"relayout\":n=a(t,r);break;case\"update\":n=o(t,[r[0],r[2]]).concat(a(t,[r[1]]));break;case\"animate\":n=i(t,r);break;default:n=[]}return n}},{\"../lib\":681,\"../plotly\":715}],740:[function(t,e,r){\"use strict\";e.exports={family:{valType:\"string\",noBlank:!0,strict:!0},size:{valType:\"number\",min:1},color:{valType:\"color\"}}},{}],741:[function(t,e,r){\"use strict\";e.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}},{}],742:[function(t,e,r){\"use strict\";var n=e.exports={};n.projNames={equirectangular:\"equirectangular\",mercator:\"mercator\",orthographic:\"orthographic\",\"natural earth\":\"naturalEarth\",kavrayskiy7:\"kavrayskiy7\",miller:\"miller\",robinson:\"robinson\",eckert4:\"eckert4\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",\"conic equal area\":\"conicEqualArea\",\"conic conformal\":\"conicConformal\",\"conic equidistant\":\"conicEquidistant\",gnomonic:\"gnomonic\",stereographic:\"stereographic\",mollweide:\"mollweide\",hammer:\"hammer\",\"transverse mercator\":\"transverseMercator\",\"albers usa\":\"albersUsa\",\"winkel tripel\":\"winkel3\",aitoff:\"aitoff\",sinusoidal:\"sinusoidal\"},n.axesNames=[\"lonaxis\",\"lataxis\"],n.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},n.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180},n.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,80],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}},n.clipPad=.001,n.precision=.1,n.landColor=\"#F0DC82\",n.waterColor=\"#3399FF\",n.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},n.sphereSVG={type:\"Sphere\"},n.fillLayers=[\"ocean\",\"land\",\"lakes\"],\nn.lineLayers=[\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"frame\"],n.baseLayers=[\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\"],n.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"},n.baseLayersOverChoropleth=[\"rivers\",\"lakes\"]},{}],743:[function(t,e,r){\"use strict\";function n(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.topojsonName=null,this.topojson=null,this.projectionType=null,this.projection=null,this.clipAngle=null,this.setScale=null,this.path=null,this.zoom=null,this.zoomReset=null,this.makeFramework(),this.traceHash={}}function i(t,e,r){return u.geo.graticule().extent([[t[0],e[0]],[t[1],e[1]]]).step(r)}function a(t,e,r){var n=b.layerNameToAdjective[e];t.select(\".\"+e).selectAll(\"path\").attr(\"stroke\",\"none\").call(c.fill,r[n+\"color\"])}function o(t,e,r){var n=b.layerNameToAdjective[e];t.select(\".\"+e).selectAll(\"path\").attr(\"fill\",\"none\").call(c.stroke,r[n+\"color\"]).call(h.dashLine,\"\",r[n+\"width\"])}function s(t,e,r){t.select(\".\"+e+\"graticule\").selectAll(\"path\").attr(\"fill\",\"none\").call(c.stroke,r[e].gridcolor).call(h.dashLine,\"\",r[e].gridwidth)}function l(t){var e={type:\"linear\",showexponent:\"all\",exponentformat:d.layoutAttributes.exponentformat.dflt};return d.setConvert(e,t),e}var u=t(\"d3\"),c=t(\"../../components/color\"),h=t(\"../../components/drawing\"),f=t(\"../plots\"),d=t(\"../cartesian/axes\"),p=t(\"../cartesian/graph_interact\"),m=t(\"./projections\"),g=t(\"./set_scale\"),v=t(\"./zoom\"),y=t(\"./zoom_reset\"),b=t(\"./constants\"),x=t(\"../../lib/topojson_utils\"),_=t(\"topojson-client\").feature;m(u),e.exports=n;var w=n.prototype;w.plot=function(t,e,r){var n,i,a=this,o=e[a.id],s=e._size;a.projection=null,a.setScale=g(o,s),a.makeProjection(o),a.makePath(),a.adjustLayout(o,s),a.zoom=v(a,o),a.zoomReset=y(a,o),a.mockAxis=l(e),a.framework.call(a.zoom).on(\"dblclick.zoom\",a.zoomReset),a.framework.on(\"mousemove\",function(){var t=u.mouse(this),e=a.projection.invert(t);if(e&&!isNaN(e[0])&&!isNaN(e[1])){var r={target:!0,xpx:t[0],ypx:t[1]};a.xaxis.c2p=function(){return t[0]},a.xaxis.p2c=function(){return e[0]},a.yaxis.c2p=function(){return t[1]},a.yaxis.p2c=function(){return e[1]},p.hover(a.graphDiv,r,a.id)}}),a.framework.on(\"mouseout\",function(){p.loneUnhover(e._toppaper)}),a.framework.on(\"click\",function(){p.click(a.graphDiv,{target:!0})}),n=x.getTopojsonName(o),null===a.topojson||n!==a.topojsonName?(a.topojsonName=n,void 0!==PlotlyGeoAssets.topojson[a.topojsonName]?(a.topojson=PlotlyGeoAssets.topojson[a.topojsonName],a.onceTopojsonIsLoaded(t,o)):(i=x.getTopojsonPath(a.topojsonURL,a.topojsonName),r.push(new Promise(function(e,r){u.json(i,function(n,s){if(n)return void r(404===n.status?new Error([\"plotly.js could not find topojson file at\",i,\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \")):new Error([\"unexpected error while fetching topojson file at\",i].join(\" \")));a.topojson=s,PlotlyGeoAssets.topojson[a.topojsonName]=s,a.onceTopojsonIsLoaded(t,o),e()})})))):a.onceTopojsonIsLoaded(t,o)},w.onceTopojsonIsLoaded=function(t,e){this.drawLayout(e),f.generalUpdatePerTraceModule(this,t,e),this.render()},w.makeProjection=function(t){var e,r=t.projection,n=r.type,i=null===this.projection||n!==this.projectionType;i?(this.projectionType=n,e=this.projection=u.geo[b.projNames[n]]()):e=this.projection,e.translate(r._translate0).precision(b.precision),t._isAlbersUsa||e.rotate(r._rotate).center(r._center),t._clipAngle?(this.clipAngle=t._clipAngle,e.clipAngle(t._clipAngle-b.clipPad)):this.clipAngle=null,r.parallels&&e.parallels(r.parallels),i&&this.setScale(e),e.translate(r._translate).scale(r._scale)},w.makePath=function(){this.path=u.geo.path().projection(this.projection)},w.makeFramework=function(){var t=this.graphDiv._fullLayout,e=\"clip\"+t._uid+this.id,r=t._defs.selectAll(\"g.clips\").data([0]);r.enter().append(\"g\").classed(\"clips\",!0),(this.clipDef=r.selectAll(\"#\"+e).data([0])).enter().append(\"clipPath\").attr(\"id\",e).append(\"rect\");var n=this.framework=u.select(this.container).append(\"g\");n.attr(\"class\",\"geo \"+this.id).style(\"pointer-events\",\"all\").call(h.setClipUrl,e),n.append(\"g\").attr(\"class\",\"bglayer\").append(\"rect\"),n.append(\"g\").attr(\"class\",\"baselayer\"),n.append(\"g\").attr(\"class\",\"choroplethlayer\"),n.append(\"g\").attr(\"class\",\"baselayeroverchoropleth\"),n.append(\"g\").attr(\"class\",\"scattergeolayer\"),n.on(\"dblclick.zoom\",null),this.xaxis={_id:\"x\"},this.yaxis={_id:\"y\"}},w.adjustLayout=function(t,e){var r=t.domain,n=e.l+e.w*r.x[0]+t._marginX,i=e.t+e.h*(1-r.y[1])+t._marginY;h.setTranslate(this.framework,n,i);var a={x:0,y:0,width:t._width,height:t._height};this.clipDef.select(\"rect\").attr(a),this.framework.select(\".bglayer\").select(\"rect\").attr(a).call(c.fill,t.bgcolor),this.xaxis._offset=n,this.xaxis._length=t._width,this.yaxis._offset=i,this.yaxis._length=t._height},w.drawTopo=function(t,e,r){if(r[\"show\"+e]===!0){var n=this.topojson,i=\"frame\"===e?b.sphereSVG:_(n,n.objects[e]);t.append(\"g\").datum(i).attr(\"class\",e).append(\"path\").attr(\"class\",\"basepath\")}},w.drawGraticule=function(t,e,r){var n=r[e];if(n.showgrid===!0){var a=b.scopeDefaults[r.scope],o=a.lonaxisRange,s=a.lataxisRange,l=\"lonaxis\"===e?[n.dtick]:[0,n.dtick],u=i(o,s,l);t.append(\"g\").datum(u).attr(\"class\",e+\"graticule\").append(\"path\").attr(\"class\",\"graticulepath\")}},w.drawLayout=function(t){var e,r=this.framework.select(\"g.baselayer\"),n=b.baseLayers,i=b.axesNames;r.selectAll(\"*\").remove();for(var a=0;a<n.length;a++)e=n[a],i.indexOf(e)!==-1?this.drawGraticule(r,e,t):this.drawTopo(r,e,t);this.styleLayout(t)},w.styleLayer=function(t,e,r){var n=b.fillLayers,i=b.lineLayers;n.indexOf(e)!==-1?a(t,e,r):i.indexOf(e)!==-1&&o(t,e,r)},w.styleLayout=function(t){for(var e,r=this.framework.select(\"g.baselayer\"),n=b.baseLayers,i=b.axesNames,a=0;a<n.length;a++)e=n[a],i.indexOf(e)!==-1?s(r,e,t):this.styleLayer(r,e,t)},w.isLonLatOverEdges=function(t){var e=this.clipAngle;if(null===e)return!1;var r=this.projection.rotate();return u.geo.distance(t,[-r[0],-r[1]])>e*Math.PI/180},w.render=function(){function t(t){var e=r.projection(t.lonlat);return e?\"translate(\"+e[0]+\",\"+e[1]+\")\":null}function e(t){return r.isLonLatOverEdges(t.lonlat)?\"0\":\"1.0\"}var r=this,n=r.framework,i=n.select(\"g.choroplethlayer\"),a=n.select(\"g.scattergeolayer\"),o=r.path;n.selectAll(\"path.basepath\").attr(\"d\",o),n.selectAll(\"path.graticulepath\").attr(\"d\",o),i.selectAll(\"path.choroplethlocation\").attr(\"d\",o),i.selectAll(\"path.basepath\").attr(\"d\",o),a.selectAll(\"path.js-line\").attr(\"d\",o),null!==r.clipAngle?(a.selectAll(\"path.point\").style(\"opacity\",e).attr(\"transform\",t),a.selectAll(\"text\").style(\"opacity\",e).attr(\"transform\",t)):(a.selectAll(\"path.point\").attr(\"transform\",t),a.selectAll(\"text\").attr(\"transform\",t))}},{\"../../components/color\":576,\"../../components/drawing\":599,\"../../lib/topojson_utils\":702,\"../cartesian/axes\":720,\"../cartesian/graph_interact\":727,\"../plots\":779,\"./constants\":742,\"./projections\":750,\"./set_scale\":751,\"./zoom\":752,\"./zoom_reset\":753,d3:104,\"topojson-client\":514}],744:[function(t,e,r){\"use strict\";var n=t(\"./geo\"),i=t(\"../../plots/plots\");r.name=\"geo\",r.attr=\"geo\",r.idRoot=\"geo\",r.idRegex=/^geo([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^geo([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=i.getSubplotIds(e,\"geo\");void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var o=0;o<a.length;o++){var s=a[o],l=i.getSubplotCalcData(r,\"geo\",s),u=e[s]._subplot;u||(u=new n({id:s,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL}),e[s]._subplot=u),u.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\"geo\"),o=0;o<a.length;o++){var s=a[o],l=n[s]._subplot;!e[s]&&l&&(l.framework.remove(),l.clipDef.remove())}}},{\"../../plots/plots\":779,\"./geo\":743,\"./layout/attributes\":745,\"./layout/defaults\":748,\"./layout/layout_attributes\":749}],745:[function(t,e,r){\"use strict\";e.exports={geo:{valType:\"subplotid\",dflt:\"geo\"}}},{}],746:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color/attributes\");e.exports={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\"},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:n.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1}}},{\"../../../components/color/attributes\":575}],747:[function(t,e,r){\"use strict\";var n=t(\"../../../lib\"),i=t(\"../constants\"),a=t(\"./axis_attributes\");e.exports=function(t,e){function r(t,e){return n.coerce(o,s,a,t,e)}for(var o,s,l=i.axesNames,u=0;u<l.length;u++){var c=l[u];o=t[c]||{},s={};var h=function(t){var r,n,a,o,s,l,u=e.scope;return\"world\"===u?(r=e.projection,n=r.type,a=r.rotation,s=i[t+\"Span\"],l=void 0!==s[n]?s[n]/2:s[\"*\"]/2,o=\"lonaxis\"===t?a.lon:a.lat,[o-l,o+l]):i.scopeDefaults[u][t+\"Range\"]}(c),f=r(\"range\",h);n.noneOrAll(o.range,s.range,[0,1]),r(\"tick0\",f[0]),r(\"dtick\",\"lonaxis\"===c?30:10);r(\"showgrid\")&&(r(\"gridcolor\"),r(\"gridwidth\")),e[c]=s,e[c]._fullRange=h}}},{\"../../../lib\":681,\"../constants\":742,\"./axis_attributes\":746}],748:[function(t,e,r){\"use strict\";function n(t,e,r){var n,i=r(\"scope\"),o=\"world\"!==i,l=a.scopeDefaults[i],u=r(\"resolution\"),c=r(\"projection.type\",l.projType),h=\"albers usa\"===c,f=c.indexOf(\"conic\")!==-1;if(f){r(\"projection.parallels\",l.projParallels||[0,60])}if(h)e.scope=\"usa\";else{var d=l.projRotate||[0,0,0];r(\"projection.rotation.lon\",d[0]),r(\"projection.rotation.lat\",d[1]),r(\"projection.rotation.roll\",d[2]),n=r(\"showcoastlines\",!o),n&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),n=r(\"showocean\"),n&&r(\"oceancolor\")}r(\"projection.scale\"),n=r(\"showland\"),n&&r(\"landcolor\"),n=r(\"showlakes\"),n&&r(\"lakecolor\"),n=r(\"showrivers\"),n&&(r(\"rivercolor\"),r(\"riverwidth\")),n=r(\"showcountries\",o&&\"usa\"!==i),n&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===i||\"north america\"===i&&50===u)&&(r(\"showsubunits\",!0),r(\"subunitcolor\"),r(\"subunitwidth\")),o||(n=r(\"showframe\",!0))&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\"),s(t,e),e._isHighRes=50===u,e._clipAngle=a.lonaxisSpan[c]/2,e._isAlbersUsa=h,e._isConic=f,e._isScoped=o;var p=e.projection.rotation||{};e.projection._rotate=[-p.lon||0,-p.lat||0,p.roll||0]}var i=t(\"../../subplot_defaults\"),a=t(\"../constants\"),o=t(\"./layout_attributes\"),s=t(\"./axis_defaults\");e.exports=function(t,e,r){i(t,e,r,{type:\"geo\",attributes:o,handleDefaults:n,partition:\"y\"})}},{\"../../subplot_defaults\":786,\"../constants\":742,\"./axis_defaults\":747,\"./layout_attributes\":749}],749:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color/attributes\"),i=t(\"../constants\"),a=t(\"./axis_attributes\");e.exports={domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:Object.keys(i.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:Object.keys(i.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,max:10,dflt:1}},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:n.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:i.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:i.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:i.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:i.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:n.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:n.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:n.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:n.background},lonaxis:a,lataxis:a}},{\"../../../components/color/attributes\":575,\"../constants\":742,\"./axis_attributes\":746}],750:[function(t,e,r){\"use strict\";function n(t){function e(t,e){return{type:\"Feature\",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(\"GeometryCollection\"===e.type)return{type:\"GeometryCollection\",geometries:object.geometries.map(function(t){return r(t,n)})};if(!E.hasOwnProperty(e.type))return null;var i=E[e.type];return t.geo.stream(e,n(i)),i.result()}function n(){}function i(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}function a(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],u=l[0],c=l[1],h=t[s],f=h[0],d=h[1];c>n^d>n&&r<(f-u)*(n-c)/(d-c)+u&&(i=!i)}return i}function o(t){return t?t/Math.sin(t):1}function s(t){return t>1?D:t<-1?-D:Math.asin(t)}function l(t){return t>1?0:t<-1?C:Math.acos(t)}function u(t,e){var r=(2+D)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>S;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(C*(4+C))*t*(1+Math.cos(e)),2*Math.sqrt(C/(4+C))*Math.sin(e)]}function c(t,e){function r(r,n){var i=R(r/e,n);return i[0]*=t,i}return arguments.length<2&&(e=t),1===e?R:e===1/0?f:(r.invert=function(r,n){var i=R.invert(r/t,n);return i[0]*=e,i},r)}function h(){var t=2,e=O(c),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}function f(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function d(t,e){return[3*t/(2*C)*Math.sqrt(C*C/3-e*e),e]}function p(t,e){return[t,1.25*Math.log(Math.tan(C/4+.4*e))]}function m(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>S&&--i>0);return e/2}}function g(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function v(t,e){var r,n=Math.min(18,36*Math.abs(e)/C),i=Math.floor(n),a=n-i,o=(r=j[i])[0],s=r[1],l=(r=j[++i])[0],u=r[1],c=(r=j[Math.min(19,++i)])[0],h=r[1];return[t*(l+a*(c-o)/2+a*a*(c-2*l+o)/2),(e>0?D:-D)*(u+a*(h-s)/2+a*a*(h-2*u+s)/2)]}function y(t,e){return[t*Math.cos(e),e]}function b(t,e){var r=Math.cos(e),n=o(l(r*Math.cos(t/=2)));return[2*r*Math.sin(t)*n,Math.sin(e)*n]}function x(t,e){var r=b(t,e);return[(r[0]+t/D)/2,(r[1]+e)/2]}t.geo.project=function(t,e){var n=e.stream;if(!n)throw new Error(\"not yet supported\");return(t&&_.hasOwnProperty(t.type)?_[t.type]:r)(t,n)};var _={Feature:e,FeatureCollection:function(t,r){return{type:\"FeatureCollection\",features:t.features.map(function(t){return e(t,r)})}}},w=[],M=[],A={point:function(t,e){w.push([t,e])},result:function(){var t=w.length?w.length<2?{type:\"Point\",coordinates:w[0]}:{type:\"MultiPoint\",coordinates:w}:null;return w=[],t}},k={lineStart:n,point:function(t,e){w.push([t,e])},lineEnd:function(){w.length&&(M.push(w),w=[])},result:function(){var t=M.length?M.length<2?{type:\"LineString\",coordinates:M[0]}:{type:\"MultiLineString\",coordinates:M}:null;return M=[],t}},T={polygonStart:n,lineStart:n,point:function(t,e){w.push([t,e])},lineEnd:function(){var t=w.length;if(t){do{w.push(w[0].slice())}while(++t<4);M.push(w),w=[]}},polygonEnd:n,result:function(){if(!M.length)return null;var t=[],e=[];return M.forEach(function(r){i(r)?t.push([r]):e.push(r)}),e.forEach(function(e){var r=e[0];t.some(function(t){if(a(t[0],r))return t.push(e),!0})||t.push([e])}),M=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}},E={Point:A,MultiPoint:A,LineString:k,MultiLineString:k,Polygon:T,MultiPolygon:T,Sphere:T},S=1e-6,L=S*S,C=Math.PI,D=C/2,I=(Math.sqrt(C),C/180),z=180/C,P=t.geo.projection,O=t.geo.projectionMutator;t.geo.interrupt=function(e){function r(t,r){for(var n=r<0?-1:1,i=l[+(r<0)],a=0,o=i.length-1;a<o&&t>i[a][2][0];++a);var s=e(t-i[a][1][0],r);return s[0]+=e(i[a][1][0],n*r>n*i[a][0][1]?i[a][0][1]:r)[0],s}function n(){s=l.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})})}function i(){for(var e=1e-6,r=[],n=0,i=l[0].length;n<i;++n){var o=l[0][n],s=180*o[0][0]/C,u=180*o[0][1]/C,c=180*o[1][1]/C,h=180*o[2][0]/C,f=180*o[2][1]/C;r.push(a([[s+e,u+e],[s+e,c-e],[h-e,c-e],[h-e,f+e]],30))}for(var n=l[1].length-1;n>=0;--n){var o=l[1][n],s=180*o[0][0]/C,u=180*o[0][1]/C,c=180*o[1][1]/C,h=180*o[2][0]/C,f=180*o[2][1]/C;r.push(a([[h-e,f-e],[h-e,c+e],[s+e,c+e],[s+e,u-e]],30))}return{type:\"Polygon\",coordinates:[t.merge(r)]}}function a(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){r=t[a],n=(r[0]-s[0])/e,i=(r[1]-s[1])/e;for(var u=0;u<e;++u)l.push([s[0]+u*n,s[1]+u*i]);s=r}return l.push(r),l}function o(t,e){return Math.abs(t[0]-e[0])<S&&Math.abs(t[1]-e[1])<S}var s,l=[[[[-C,0],[0,D],[C,0]]],[[[-C,0],[0,-D],[C,0]]]];e.invert&&(r.invert=function(t,n){for(var i=s[+(n<0)],a=l[+(n<0)],u=0,c=i.length;u<c;++u){var h=i[u];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=n&&n<h[1][1]){var f=e.invert(t-e(a[u][1][0],0)[0],n);return f[0]+=a[u][1][0],o(r(f[0],f[1]),[t,n])?f:null}}});var u=t.geo.projection(r),c=u.stream;return u.stream=function(e){var r=u.rotate(),n=c(e),a=(u.rotate([0,0]),c(e));return u.rotate(r),n.sphere=function(){t.geo.stream(i(),a)},n},u.lobes=function(t){return arguments.length?(l=t.map(function(t){return t.map(function(t){return[[t[0][0]*C/180,t[0][1]*C/180],[t[1][0]*C/180,t[1][1]*C/180],[t[2][0]*C/180,t[2][1]*C/180]]})}),n(),u):l.map(function(t){return t.map(function(t){return[[180*t[0][0]/C,180*t[0][1]/C],[180*t[1][0]/C,180*t[1][1]/C],[180*t[2][0]/C,180*t[2][1]/C]]})})},u},u.invert=function(t,e){var r=.5*e*Math.sqrt((4+C)/C),n=s(r),i=Math.cos(n);return[t/(2/Math.sqrt(C*(4+C))*(1+i)),s((n+r*(i+2))/(2+D))]},(t.geo.eckert4=function(){return P(u)}).raw=u;var R=t.geo.azimuthalEqualArea.raw;f.invert=function(t,e){var r=2*s(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=h).raw=c,d.invert=function(t,e){return[2/3*C*t/Math.sqrt(C*C/3-e*e),e]},(t.geo.kavrayskiy7=function(){return P(d)}).raw=d,p.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*C]},(t.geo.miller=function(){return P(p)}).raw=p;var F=(m(C),function(t,e,r){function n(r,n){return[t*r*Math.cos(n=i(n)),e*Math.sin(n)]}var i=m(r);return n.invert=function(n,i){var a=s(i/e);return[n/(t*Math.cos(a)),s((2*a+Math.sin(2*a))/r)]},n}(Math.SQRT2/D,Math.SQRT2,C));(t.geo.mollweide=function(){return P(F)}).raw=F,g.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>S&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return P(g)}).raw=g;var j=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];j.forEach(function(t){t[1]*=1.0144}),v.invert=function(t,e){var r=e/D,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=j[a][1],s=j[a+1][1],l=j[Math.min(19,a+2)][1],u=l-o,c=l-2*s+o,h=2*(Math.abs(r)-s)/u,f=c/u,d=h*(1-f*h*(1-2*f*h));if(d>=0||1===a){n=(e>=0?5:-5)*(d+i);var p,m=50;do{i=Math.min(18,Math.abs(n)/5),a=Math.floor(i),d=i-a,o=j[a][1],s=j[a+1][1],l=j[Math.min(19,a+2)][1],n-=(p=(e>=0?D:-D)*(s+d*(l-o)/2+d*d*(l-2*s+o)/2)-e)*z}while(Math.abs(p)>L&&--m>0);break}}while(--a>=0);var g=j[a][0],v=j[a+1][0],y=j[Math.min(19,a+2)][0];return[t/(v+d*(y-g)/2+d*d*(y-2*v+g)/2),n*I]},(t.geo.robinson=function(){return P(v)}).raw=v,y.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return P(y)}).raw=y,b.invert=function(t,e){if(!(t*t+4*e*e>C*C+S)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),u=Math.cos(r/2),c=Math.sin(n),h=Math.cos(n),f=Math.sin(2*n),d=c*c,p=h*h,m=s*s,g=1-p*u*u,v=g?l(h*u)*Math.sqrt(a=1/g):a=0,y=2*v*h*s-t,b=v*c-e,x=a*(p*m+v*h*u*d),_=a*(.5*o*f-2*v*c*s),w=.25*a*(f*s-v*c*p*o),M=a*(d*u+v*m*h),A=_*w-M*x;if(!A)break;var k=(b*_-y*M)/A,T=(y*w-b*x)/A;r-=k,n-=T}while((Math.abs(k)>S||Math.abs(T)>S)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return P(b)}).raw=b,x.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),u=Math.sin(2*n),c=s*s,h=o*o,f=Math.sin(r),d=Math.cos(r/2),p=Math.sin(r/2),m=p*p,g=1-h*d*d,v=g?l(o*d)*Math.sqrt(a=1/g):a=0,y=.5*(2*v*o*p+r/D)-t,b=.5*(v*s+n)-e,x=.5*a*(h*m+v*o*d*c)+.5/D,_=a*(f*u/4-v*s*p),w=.125*a*(u*p-v*s*h*f),M=.5*a*(c*d+v*m*o)+.5,A=_*w-M*x,k=(b*_-y*M)/A,T=(y*w-b*x)/A;r-=k,n-=T}while((Math.abs(k)>S||Math.abs(T)>S)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return P(x)}).raw=x}e.exports=n},{}],751:[function(t,e,r){\"use strict\";function n(t,e){var r=t.projection,n=t.lonaxis,o=t.lataxis,l=t.domain,u=t.framewidth||0,c=e.w*(l.x[1]-l.x[0]),h=e.h*(l.y[1]-l.y[0]),f=n.range[0]+s,d=n.range[1]-s,p=o.range[0]+s,m=o.range[1]-s,g=n._fullRange[0]+s,v=n._fullRange[1]-s,y=o._fullRange[0]+s,b=o._fullRange[1]-s;r._translate0=[e.l+c/2,e.t+h/2];var x=d-f,_=m-p,w=[f+x/2,p+_/2],M=r._rotate;return r._center=[w[0]+M[0],w[1]+M[1]],function(e){function n(t){return Math.min(_*c/(t[1][0]-t[0][0]),_*h/(t[1][1]-t[0][1]))}var o,s,l,x,_=e.scale(),w=r._translate0,M=i(f,p,d,m),A=i(g,y,v,b);l=a(e,M),o=n(l),x=a(e,A),r._fullScale=n(x),e.scale(o),l=a(e,M),s=[w[0]-l[0][0]+u,w[1]-l[0][1]+u],r._translate=s,e.translate(s),l=a(e,M),t._isAlbersUsa||e.clipExtent(l),o=r.scale*o,r._scale=o,t._width=Math.round(l[1][0])+u,t._height=Math.round(l[1][1])+u,t._marginX=(c-Math.round(l[1][0]))/2,t._marginY=(h-Math.round(l[1][1]))/2}}function i(t,e,r,n){var i=(r-t)/4;return{type:\"Polygon\",coordinates:[[[t,e],[t,n],[t+i,n],[t+2*i,n],[t+3*i,n],[r,n],[r,e],[r-i,e],[r-2*i,e],[r-3*i,e],[t,e]]]}}function a(t,e){return o.geo.path().projection(t).bounds(e)}var o=t(\"d3\"),s=t(\"./constants\").clipPad;e.exports=n},{\"./constants\":742,d3:104}],752:[function(t,e,r){\"use strict\";function n(t,e){return(e._isScoped?a:e._clipAngle?s:o)(t,e.projection)}function i(t,e){var r=e._fullScale;return _.behavior.zoom().translate(t.translate()).scale(t.scale()).scaleExtent([.5*r,100*r])}function a(t,e){function r(){_.select(this).style(A)}function n(){o.scale(_.event.scale).translate(_.event.translate),t.render()}function a(){_.select(this).style(k)}var o=t.projection,s=i(o,e);return s.on(\"zoomstart\",r).on(\"zoom\",n).on(\"zoomend\",a),s}function o(t,e){function r(t){return g.invert(t)}function n(t){var e=g(r(t));return Math.abs(e[0]-t[0])>y||Math.abs(e[1]-t[1])>y}function a(){_.select(this).style(A),l=_.mouse(this),u=g.rotate(),c=g.translate(),h=u,f=r(l)}function o(){if(d=_.mouse(this),n(l))return v.scale(g.scale()),void v.translate(g.translate());g.scale(_.event.scale),g.translate([c[0],_.event.translate[1]]),f?r(d)&&(m=r(d),p=[h[0]+(m[0]-f[0]),u[1],u[2]],g.rotate(p),h=p):(l=d,f=r(l)),t.render()}function s(){_.select(this).style(k)}var l,u,c,h,f,d,p,m,g=t.projection,v=i(g,e),y=2;return v.on(\"zoomstart\",a).on(\"zoom\",o).on(\"zoomend\",s),v}function s(t,e){function r(t){v++||t({type:\"zoomstart\"})}function n(t){t({type:\"zoom\"})}function a(t){--v||t({type:\"zoomend\"})}var o,s=t.projection,d={r:s.rotate(),k:s.scale()},p=i(s,e),m=x(p,\"zoomstart\",\"zoom\",\"zoomend\"),v=0,y=p.on;return p.on(\"zoomstart\",function(){_.select(this).style(A);var t=_.mouse(this),e=s.rotate(),i=e,a=s.translate(),v=u(e);o=l(s,t),y.call(p,\"zoom\",function(){var r=_.mouse(this);if(s.scale(d.k=_.event.scale),o){if(l(s,r)){s.rotate(e).translate(a);var u=l(s,r),p=h(o,u),y=g(c(v,p)),b=d.r=f(y,o,i);isFinite(b[0])&&isFinite(b[1])&&isFinite(b[2])||(b=i),s.rotate(b),i=b}}else t=r,o=l(s,t);n(m.of(this,arguments))}),r(m.of(this,arguments))}).on(\"zoomend\",function(){_.select(this).style(k),y.call(p,\"zoom\",null),a(m.of(this,arguments))}).on(\"zoom.redraw\",function(){t.render()}),_.rebind(p,m,\"on\")}function l(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&v(r)}function u(t){var e=.5*t[0]*w,r=.5*t[1]*w,n=.5*t[2]*w,i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function c(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=e[0],s=e[1],l=e[2],u=e[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function h(t,e){if(t&&e){var r=b(t,e),n=Math.sqrt(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function f(t,e,r){var n=m(e,2,t[0]);n=m(n,1,t[1]),n=m(n,0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],c=n[1],h=n[2],f=Math.atan2(s,o)*M,p=Math.sqrt(o*o+s*s);Math.abs(c)>p?(a=(c>0?90:-90)-f,i=0):(a=Math.asin(c/p)*M-f,i=Math.sqrt(p*p-c*c));var g=180-a-2*f,v=(Math.atan2(h,u)-Math.atan2(l,i))*M,y=(Math.atan2(h,u)-Math.atan2(l,-i))*M;return d(r[0],r[1],a,v)<=d(r[0],r[1],g,y)?[a,v,r[2]]:[g,y,r[2]]}function d(t,e,r,n){var i=p(r-t),a=p(n-e);return Math.sqrt(i*i+a*a)}function p(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*w,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function g(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*M,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*M,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*M]}function v(t){var e=t[0]*w,r=t[1]*w,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}function b(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function x(t){for(var e=0,r=arguments.length,n=[];++e<r;)n.push(arguments[e]);var i=_.dispatch.apply(null,n);return i.of=function(e,r){return function(n){var a;try{a=n.sourceEvent=_.event,n.target=t,_.event=n,i[n.type].apply(e,r)}finally{_.event=a}}},i}var _=t(\"d3\"),w=Math.PI/180,M=180/Math.PI,A={cursor:\"pointer\"},k={cursor:\"auto\"};e.exports=n},{d3:104}],753:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.projection,n=t.zoom;return function(){t.makeProjection(e),t.makePath(),n.scale(r.scale()),n.translate(r.translate()),t.render()}}},{}],754:[function(t,e,r){\"use strict\";function n(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxStart=[0,0],this.boxEnd=[0,0]}function i(t){function e(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}var r=t.mouseContainer,i=t.glplot,s=new n(r,i);return s.mouseListener=a(r,function(r,n,a){function o(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,s.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}var l=t.calcDataBox(),u=i.viewBox,c=s.lastPos[0],h=s.lastPos[1];switch(n*=i.pixelRatio,a*=i.pixelRatio,a=u[3]-u[1]-a,t.fullLayout.dragmode){case\"zoom\":if(r){var f=n/(u[2]-u[0])*(l[2]-l[0])+l[0],d=a/(u[3]-u[1])*(l[3]-l[1])+l[1];s.boxEnabled||(s.boxStart[0]=f,s.boxStart[1]=d),s.boxEnd[0]=f,s.boxEnd[1]=d,s.boxEnabled=!0}else s.boxEnabled&&(o(0,s.boxStart[0],s.boxEnd[0]),o(1,s.boxStart[1],s.boxEnd[1]),e(),s.boxEnabled=!1,t.relayoutCallback());break;case\"pan\":if(s.boxEnabled=!1,r){var p=(c-n)*(l[2]-l[0])/(i.viewBox[2]-i.viewBox[0]),m=(h-a)*(l[3]-l[1])/(i.viewBox[3]-i.viewBox[1]);l[0]+=p,l[2]+=p,l[1]+=m,l[3]+=m,t.setRanges(l),s.panning=!0,s.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations()}else s.panning&&(s.panning=!1,t.relayoutCallback())}s.lastPos[0]=n,s.lastPos[1]=a}),s.wheelListener=o(r,function(r,n){var a=t.calcDataBox(),o=i.viewBox,l=s.lastPos[0],u=s.lastPos[1];switch(t.fullLayout.dragmode){case\"zoom\":break;case\"pan\":var c=Math.exp(.1*n/(o[3]-o[1])),h=l/(o[2]-o[0])*(a[2]-a[0])+a[0],f=u/(o[3]-o[1])*(a[3]-a[1])+a[1];a[0]=(a[0]-h)*c+h,a[2]=(a[2]-h)*c+h,a[1]=(a[1]-f)*c+f,a[3]=(a[3]-f)*c+f,t.setRanges(a),s.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback()}return!0}),s}var a=t(\"mouse-change\"),o=t(\"mouse-wheel\");e.exports=i},{\"mouse-change\":432,\"mouse-wheel\":435}],755:[function(t,e,r){\"use strict\";function n(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=[\"x\",\"y\"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=[\"sans-serif\",\"sans-serif\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=\"\",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=\"sans-serif\",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}function i(t){return new n(t)}var a=t(\"../plots\"),o=t(\"../cartesian/axes\"),s=t(\"../../lib/html2unicode\"),l=t(\"../../lib/str2rgbarray\"),u=n.prototype,c=[\"xaxis\",\"yaxis\"];u.merge=function(t){this.titleEnable=!1,this.backgroundColor=l(t.plot_bgcolor);var e,r,n,i,a,o,u,h,f,d,p;for(d=0;d<2;++d){for(e=c[d],r=t[this.scene[e]._name],n=/Click to enter .+ title/.test(r.title)?\"\":r.title,p=0;p<=2;p+=2)this.labelEnable[d+p]=!1,this.labels[d+p]=s(n),this.labelColor[d+p]=l(r.titlefont.color),this.labelFont[d+p]=r.titlefont.family,this.labelSize[d+p]=r.titlefont.size,this.labelPad[d+p]=this.getLabelPad(e,r),this.tickEnable[d+p]=!1,this.tickColor[d+p]=l((r.tickfont||{}).color),this.tickAngle[d+p]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[d+p]=this.getTickPad(r),this.tickMarkLength[d+p]=0,this.tickMarkWidth[d+p]=r.tickwidth||0,this.tickMarkColor[d+p]=l(r.tickcolor),this.borderLineEnable[d+p]=!1,this.borderLineColor[d+p]=l(r.linecolor),this.borderLineWidth[d+p]=r.linewidth||0;u=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(e,r)&&!u,o=this.hasAxisInAltrPos(e,r)&&!u,i=r.mirror||!1,h=u?String(i).indexOf(\"all\")!==-1:!!i,f=u?\"allticks\"===i:String(i).indexOf(\"ticks\")!==-1,a?this.labelEnable[d]=!0:o&&(this.labelEnable[d+2]=!0),a?this.tickEnable[d]=r.showticklabels:o&&(this.tickEnable[d+2]=r.showticklabels),(a||h)&&(this.borderLineEnable[d]=r.showline),(o||h)&&(this.borderLineEnable[d+2]=r.showline),(a||f)&&(this.tickMarkLength[d]=this.getTickMarkLength(r)),(o||f)&&(this.tickMarkLength[d+2]=this.getTickMarkLength(r)),this.gridLineEnable[d]=r.showgrid,this.gridLineColor[d]=l(r.gridcolor),this.gridLineWidth[d]=r.gridwidth,this.zeroLineEnable[d]=r.zeroline,this.zeroLineColor[d]=l(r.zerolinecolor),this.zeroLineWidth[d]=r.zerolinewidth}},u.hasSharedAxis=function(t){var e=this.scene,r=a.getSubplotIds(e.fullLayout,\"gl2d\");return 0!==o.findSubplotsWithAxis(r,t).indexOf(e.id)},u.hasAxisInDfltPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"bottom\"===r:\"yaxis\"===t?\"left\"===r:void 0},u.hasAxisInAltrPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"top\"===r:\"yaxis\"===t?\"right\"===r:void 0},u.getLabelPad=function(t,e){\nvar r=e.titlefont.size,n=e.showticklabels;return\"xaxis\"===t?\"top\"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:\"yaxis\"===t?\"right\"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},u.getTickPad=function(t){return\"outside\"===t.ticks?10+t.ticklen:15},u.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\"inside\"===t.ticks?-e:e},e.exports=i},{\"../../lib/html2unicode\":679,\"../../lib/str2rgbarray\":699,\"../cartesian/axes\":720,\"../plots\":779}],756:[function(t,e,r){\"use strict\";var n=t(\"./scene2d\"),i=t(\"../plots\"),a=t(\"../../constants/xmlns_namespaces\");r.name=\"gl2d\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex={x:/^x([2-9]|[1-9][0-9]+)?$/,y:/^y([2-9]|[1-9][0-9]+)?$/},r.attrRegex={x:/^xaxis([2-9]|[1-9][0-9]+)?$/,y:/^yaxis([2-9]|[1-9][0-9]+)?$/},r.attributes=t(\"../cartesian/attributes\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,a=i.getSubplotIds(e,\"gl2d\"),o=0;o<a.length;o++){var s=a[o],l=e._plots[s],u=i.getSubplotData(r,\"gl2d\",s),c=l._scene2d;void 0===c&&(c=new n({id:s,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),l._scene2d=c),c.plot(u,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\"gl2d\"),o=0;o<a.length;o++){var s=a[o],l=n._plots[s];if(l._scene2d){0===i.getSubplotData(t,\"gl2d\",s).length&&(l._scene2d.destroy(),delete n._plots[s])}}},r.toSVG=function(t){for(var e=t._fullLayout,r=i.getSubplotIds(e,\"gl2d\"),n=0;n<r.length;n++){var o=e._plots[r[n]],s=o._scene2d,l=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:a.svg,\"xlink:href\":l,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),s.destroy()}}},{\"../../constants/xmlns_namespaces\":665,\"../cartesian/attributes\":719,\"../plots\":779,\"./scene2d\":757}],757:[function(t,e,r){\"use strict\";function n(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=p(this),this.glplotOptions.merge(e),this.glplot=c(this.glplotOptions),this.camera=m(this),this.traces={},this.spikes=h(this.glplot),this.selectBox=f(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}function i(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1}var a,o,s=t(\"../../registry\"),l=t(\"../../plots/cartesian/axes\"),u=t(\"../../plots/cartesian/graph_interact\"),c=t(\"gl-plot2d\"),h=t(\"gl-spikes2d\"),f=t(\"gl-select-box\"),d=t(\"webgl-context\"),p=t(\"./convert\"),m=t(\"./camera\"),g=t(\"../../lib/html2unicode\"),v=t(\"../../lib/show_no_webgl_msg\"),y=[\"xaxis\",\"yaxis\"];e.exports=n;var b=n.prototype;b.makeFramework=function(){if(this.staticPlot){if(!(o||(a=document.createElement(\"canvas\"),o=d({canvas:a,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=a,this.gl=o}else{var t=document.createElement(\"canvas\"),e=d({canvas:t,premultipliedAlpha:!0});e||v(this),this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=\"100%\",r.style.height=\"100%\",r.style.position=\"absolute\",r.style.top=\"0px\",r.style.left=\"0px\",r.style[\"pointer-events\"]=\"none\",this.updateSize(r),r.className+=\"user-select-none\";var n=this.svgContainer=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");n.style.position=\"absolute\",n.style.top=n.style.left=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"z-index\"]=20,n.style[\"pointer-events\"]=\"none\";var i=this.mouseContainer=document.createElement(\"div\");i.style.position=\"absolute\";var s=this.container;s.appendChild(r),s.appendChild(n),s.appendChild(i)},b.toImage=function(t){t||(t=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(a),this.updateSize(this.canvas),this.glplot.setDirty(),this.glplot.draw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=n-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var u=0;u<4;++u){var c=i[4*(r*o+l)+u];i[4*(r*o+l)+u]=i[4*(r*s+l)+u],i[4*(r*s+l)+u]=c}var h=document.createElement(\"canvas\");h.width=r,h.height=n;var f=h.getContext(\"2d\"),d=f.createImageData(r,n);d.data.set(i),f.putImageData(d,0,0);var p;switch(t){case\"jpeg\":p=h.toDataURL(\"image/jpeg\");break;case\"webp\":p=h.toDataURL(\"image/webp\");break;default:p=h.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(a),p},b.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),this.redraw&&this.redraw(),t},b.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale(),this.xaxis._length=this.glplot.viewBox[2]-this.glplot.viewBox[0],this.yaxis._length=this.glplot.viewBox[3]-this.glplot.viewBox[1];for(var t=[l.calcTicks(this.xaxis),l.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=g(t[e][r].text+\"\");return t},b.updateRefs=function(t){this.fullLayout=t;var e=l.subplotMatch,r=\"xaxis\"+this.id.match(e)[1],n=\"yaxis\"+this.id.match(e)[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},b.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\"plotly_relayout\",i)},b.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();i(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},b.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&s.getComponentMethod(\"annotations\",\"drawOne\")(t,r)}},b.destroy=function(){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.staticPlot||this.container.removeChild(this.canvas),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0},b.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.updateTraces(t,e);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s=r._size,u=this.xaxis.domain,c=this.yaxis.domain;o.viewBox=[s.l+u[0]*s.w,s.b+c[0]*s.h,i-s.r-(1-u[1])*s.w,a-s.t-(1-c[1])*s.h],this.mouseContainer.style.width=s.w*(u[1]-u[0])+\"px\",this.mouseContainer.style.height=s.h*(c[1]-c[0])+\"px\",this.mouseContainer.height=s.h*(c[1]-c[0]),this.mouseContainer.style.left=s.l+u[0]*s.w+\"px\",this.mouseContainer.style.top=s.t+(1-c[1])*s.h+\"px\";var h=this.bounds;h[0]=h[1]=1/0,h[2]=h[3]=-(1/0);var f,d,p=Object.keys(this.traces);for(d=0;d<p.length;++d)for(var m=this.traces[p[d]],g=0;g<2;++g)h[g]=Math.min(h[g],m.bounds[g]),h[g+2]=Math.max(h[g+2],m.bounds[g+2]);for(d=0;d<2;++d)h[d]>h[d+2]&&(h[d]=-1,h[d+2]=1),f=this[y[d]],f._length=o.viewBox[d+2]-o.viewBox[d],l.doAutoRange(f),f.setScale();o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},b.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},b.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},b.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if(i=t[n],i.uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],u=this.traces[i.uid];u?u.update(i,l):(u=i._module.plot(this,i,l),this.traces[i.uid]=u)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},b.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=0;i<this.fullData.length;i++)this.fullData[i].uid===n&&(r=this.fullData[i]);this.graphDiv.emit(e,{points:[{x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:t.pointIndex,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis}]})},b.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a=r.x*t.pixelRatio,o=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\"zoom\"===i.dragmode)this.selectBox.enabled=!0,this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],t.setDirty();else{this.selectBox.enabled=!1;var s=i._size,l=this.xaxis.domain,c=this.yaxis.domain,h=t.pick(a/t.pixelRatio+s.l+l[0]*s.w,o/t.pixelRatio-(s.t+(1-c[1])*s.h)),f=h&&h.object._trace.handlePick(h);if(f&&n&&this.emitPointAction(f,\"plotly_click\"),h&&\"skip\"!==h.object._trace.hoverinfo&&i.hovermode){if(f&&(!this.lastPickResult||this.lastPickResult.traceUid!==f.trace.uid||this.lastPickResult.dataCoord[0]!==f.dataCoord[0]||this.lastPickResult.dataCoord[1]!==f.dataCoord[1])){var d=f;this.lastPickResult={traceUid:f.trace?f.trace.uid:null,dataCoord:f.dataCoord.slice()},this.spikes.update({center:h.dataCoord}),d.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(h.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(h.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(f,\"plotly_hover\");var p=d.hoverinfo;if(\"all\"!==p){var m=p.split(\"+\");m.indexOf(\"x\")===-1&&(d.traceCoord[0]=void 0),m.indexOf(\"y\")===-1&&(d.traceCoord[1]=void 0),m.indexOf(\"z\")===-1&&(d.traceCoord[2]=void 0),m.indexOf(\"text\")===-1&&(d.textLabel=void 0),m.indexOf(\"name\")===-1&&(d.name=void 0)}u.loneHover({x:d.screenCoord[0],y:d.screenCoord[1],xLabel:this.hoverFormatter(\"xaxis\",d.traceCoord[0]),yLabel:this.hoverFormatter(\"yaxis\",d.traceCoord[1]),zLabel:d.traceCoord[2],text:d.textLabel,name:d.name,color:d.color},{container:this.svgContainer})}}else!h&&this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),u.loneUnhover(this.svgContainer))}t.draw()}},b.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return l.tickText(r,r.c2l(e),\"hover\").text}}},{\"../../lib/html2unicode\":679,\"../../lib/show_no_webgl_msg\":697,\"../../plots/cartesian/axes\":720,\"../../plots/cartesian/graph_interact\":727,\"../../registry\":794,\"./camera\":754,\"./convert\":755,\"gl-plot2d\":200,\"gl-select-box\":235,\"gl-spikes2d\":244,\"webgl-context\":541}],758:[function(t,e,r){\"use strict\";function n(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]),\"zoomMin\"in e&&(r[0]=e.zoomMin),\"zoomMax\"in e&&(r[1]=e.zoomMax);var n=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],u=0,c=t.clientWidth,h=t.clientHeight,f={keyBindingMode:\"rotate\",view:n,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:n.modes,tick:function(){var e=i(),r=this.delay,a=e-2*r;n.idle(e-r),n.recalcMatrix(a),n.flush(e-(100+2*r));for(var o=!0,s=n.computedMatrix,f=0;f<16;++f)o=o&&l[f]===s[f],l[f]=s[f];var d=t.clientWidth===c&&t.clientHeight===h;return c=t.clientWidth,h=t.clientHeight,o?!d:(u=Math.exp(n.computedRadius[0]),!0)},lookAt:function(t,e,r){n.lookAt(n.lastT(),t,e,r)},rotate:function(t,e,r){n.rotate(n.lastT(),t,e,r)},pan:function(t,e,r){n.pan(n.lastT(),t,e,r)},translate:function(t,e,r){n.translate(n.lastT(),t,e,r)}};Object.defineProperties(f,{matrix:{get:function(){return n.computedMatrix},set:function(t){return n.setMatrix(n.lastT(),t),n.computedMatrix},enumerable:!0},mode:{get:function(){return n.getMode()},set:function(t){var e=n.computedUp.slice(),r=n.computedEye.slice(),a=n.computedCenter.slice();if(n.setMode(t),\"turntable\"===t){var o=i();n._active.lookAt(o,r,a,e),n._active.lookAt(o+500,r,a,[0,0,1]),n._active.flush(o)}return n.getMode()},enumerable:!0},center:{get:function(){return n.computedCenter},set:function(t){return n.lookAt(n.lastT(),null,t),n.computedCenter},enumerable:!0},eye:{get:function(){return n.computedEye},set:function(t){return n.lookAt(n.lastT(),t),n.computedEye},enumerable:!0},up:{get:function(){return n.computedUp},set:function(t){return n.lookAt(n.lastT(),null,null,t),n.computedUp},enumerable:!0},distance:{get:function(){return u},set:function(t){return n.setDistance(n.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return n.getDistanceLimits(r)},set:function(t){return n.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",function(t){return t.preventDefault(),!1});var d=0,p=0;return o(t,function(e,r,a,o){var s=f.keyBindingMode;if(s!==!1){var l=\"rotate\"===s,c=\"pan\"===s,h=\"zoom\"===s,m=!!o.control,g=!!o.alt,v=!!o.shift,y=!!(1&e),b=!!(2&e),x=!!(4&e),_=1/t.clientHeight,w=_*(r-d),M=_*(a-p),A=f.flipX?1:-1,k=f.flipY?1:-1,T=i(),E=Math.PI*f.rotateSpeed;if((l&&y&&!m&&!g&&!v||y&&!m&&!g&&v)&&n.rotate(T,A*E*w,-k*E*M,0),(c&&y&&!m&&!g&&!v||b||y&&m&&!g&&!v)&&n.pan(T,-f.translateSpeed*w*u,f.translateSpeed*M*u,0),h&&y&&!m&&!g&&!v||x||y&&!m&&g&&!v){var S=-f.zoomSpeed*M/window.innerHeight*(T-n.lastT())*100;n.pan(T,0,0,u*(Math.exp(S)-1))}return d=r,p=a,!0}}),s(t,function(t,e){if(f.keyBindingMode!==!1){var r=f.flipX?1:-1,a=f.flipY?1:-1,o=i();if(Math.abs(t)>Math.abs(e))n.rotate(o,0,0,-t*r*Math.PI*f.rotateSpeed/window.innerWidth);else{var s=-f.zoomSpeed*a*e/window.innerHeight*(o-n.lastT())/100;n.pan(o,0,0,u*(Math.exp(s)-1))}}},!0),f}e.exports=n;var i=t(\"right-now\"),a=t(\"3d-view\"),o=t(\"mouse-change\"),s=t(\"mouse-wheel\")},{\"3d-view\":30,\"mouse-change\":432,\"mouse-wheel\":435,\"right-now\":481}],759:[function(t,e,r){\"use strict\";var n=t(\"./scene\"),i=t(\"../plots\"),a=t(\"../../lib\"),o=t(\"../../constants/xmlns_namespaces\");r.name=\"gl3d\",r.attr=\"scene\",r.idRoot=\"scene\",r.idRegex=/^scene([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^scene([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,o=i.getSubplotIds(e,\"gl3d\"),s=0;s<o.length;s++){var l=o[s],u=i.getSubplotData(r,\"gl3d\",l),c=e[l],h=c._scene;h||(h=new n({id:l,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),c._scene=h),h.cameraInitial||(h.cameraInitial=a.extendDeep({},c.camera)),h.plot(u,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\"gl3d\"),o=0;o<a.length;o++){var s=a[o];!e[s]&&n[s]._scene&&n[s]._scene.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=i.getSubplotIds(e,\"gl3d\"),n=e._size,a=0;a<r.length;a++){var s=e[r[a]],l=s.domain,u=s._scene,c=u.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":c,x:n.l+n.w*l.x[0],y:n.t+n.h*(1-l.y[1]),width:n.w*(l.x[1]-l.x[0]),height:n.h*(l.y[1]-l.y[0]),preserveAspectRatio:\"none\"}),u.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),\"scene\"+e}}},{\"../../constants/xmlns_namespaces\":665,\"../../lib\":681,\"../plots\":779,\"./layout/attributes\":760,\"./layout/defaults\":764,\"./layout/layout_attributes\":765,\"./scene\":769}],760:[function(t,e,r){\"use strict\";e.exports={scene:{valType:\"subplotid\",dflt:\"scene\"}}},{}],761:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color\"),i=t(\"../../cartesian/layout_attributes\"),a=t(\"../../../lib/extend\").extendFlat;e.exports={showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:n.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth}},{\"../../../components/color\":576,\"../../../lib/extend\":673,\"../../cartesian/layout_attributes\":729}],762:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../../lib\"),a=t(\"./axis_attributes\"),o=t(\"../../cartesian/axis_defaults\"),s=[\"xaxis\",\"yaxis\",\"zaxis\"];e.exports=function(t,e,r){function l(t,e){return i.coerce(u,c,a,t,e)}for(var u,c,h=0;h<s.length;h++){var f=s[h];u=t[f]||{},c={_id:f[0]+r.scene,_name:f},e[f]=c=o(u,c,l,{font:r.font,letter:f[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar}),l(\"gridcolor\",n(c.color,r.bgColor,13600/187).toRgbString()),l(\"title\",f[0]),c.setScale=i.noop,l(\"showspikes\")&&(l(\"spikesides\"),l(\"spikethickness\"),l(\"spikecolor\",c.color)),l(\"showaxeslabels\"),l(\"showbackground\")&&l(\"backgroundcolor\")}}},{\"../../../lib\":681,\"../../cartesian/axis_defaults\":722,\"./axis_attributes\":761,tinycolor2:512}],763:[function(t,e,r){\"use strict\";function n(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=l(this.tickPad),this._defaultLabelPad=l(this.labelPad),this._defaultLineTickLength=l(this.lineTickLength)}function i(t){var e=new n;return e.merge(t),e}var a=t(\"arraytools\"),o=t(\"../../../lib/html2unicode\"),s=t(\"../../../lib/str2rgbarray\"),l=a.copy1D,u=[\"xaxis\",\"yaxis\",\"zaxis\"];n.prototype.merge=function(t){for(var e=this,r=0;r<3;++r){var n=t[u[r]];e.labels[r]=o(n.title),\"titlefont\"in n&&(n.titlefont.color&&(e.labelColor[r]=s(n.titlefont.color)),n.titlefont.family&&(e.labelFont[r]=n.titlefont.family),n.titlefont.size&&(e.labelSize[r]=n.titlefont.size)),\"showline\"in n&&(e.lineEnable[r]=n.showline),\"linecolor\"in n&&(e.lineColor[r]=s(n.linecolor)),\"linewidth\"in n&&(e.lineWidth[r]=n.linewidth),\"showgrid\"in n&&(e.gridEnable[r]=n.showgrid),\"gridcolor\"in n&&(e.gridColor[r]=s(n.gridcolor)),\"gridwidth\"in n&&(e.gridWidth[r]=n.gridwidth),\"log\"===n.type?e.zeroEnable[r]=!1:\"zeroline\"in n&&(e.zeroEnable[r]=n.zeroline),\"zerolinecolor\"in n&&(e.zeroLineColor[r]=s(n.zerolinecolor)),\"zerolinewidth\"in n&&(e.zeroLineWidth[r]=n.zerolinewidth),\"ticks\"in n&&n.ticks?e.lineTickEnable[r]=!0:e.lineTickEnable[r]=!1,\"ticklen\"in n&&(e.lineTickLength[r]=e._defaultLineTickLength[r]=n.ticklen),\"tickcolor\"in n&&(e.lineTickColor[r]=s(n.tickcolor)),\"tickwidth\"in n&&(e.lineTickWidth[r]=n.tickwidth),\"tickangle\"in n&&(e.tickAngle[r]=\"auto\"===n.tickangle?0:Math.PI*-n.tickangle/180),\"showticklabels\"in n&&(e.tickEnable[r]=n.showticklabels),\"tickfont\"in n&&(n.tickfont.color&&(e.tickColor[r]=s(n.tickfont.color)),n.tickfont.family&&(e.tickFont[r]=n.tickfont.family),n.tickfont.size&&(e.tickSize[r]=n.tickfont.size)),\"mirror\"in n?[\"ticks\",\"all\",\"allticks\"].indexOf(n.mirror)!==-1?(e.lineTickMirror[r]=!0,e.lineMirror[r]=!0):n.mirror===!0?(e.lineTickMirror[r]=!1,e.lineMirror[r]=!0):(e.lineTickMirror[r]=!1,e.lineMirror[r]=!1):e.lineMirror[r]=!1,\"showbackground\"in n&&n.showbackground!==!1?(e.backgroundEnable[r]=!0,e.backgroundColor[r]=s(n.backgroundcolor)):e.backgroundEnable[r]=!1}},e.exports=i},{\"../../../lib/html2unicode\":679,\"../../../lib/str2rgbarray\":699,arraytools:36}],764:[function(t,e,r){\"use strict\";function n(t,e,r,n){for(var i=r(\"bgcolor\"),o=a.combine(i,n.paper_bgcolor),u=Object.keys(s.camera),c=0;c<u.length;c++)r(\"camera.\"+u[c]+\".x\"),r(\"camera.\"+u[c]+\".y\"),r(\"camera.\"+u[c]+\".z\");var h=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),f=h?\"manual\":\"auto\",d=r(\"aspectmode\",f);h||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\"manual\"===d&&(e.aspectmode=\"auto\")),l(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:o,calendar:n.calendar}),r(\"dragmode\",n.getDfltFromLayout(\"dragmode\")),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}var i=t(\"../../../lib\"),a=t(\"../../../components/color\"),o=t(\"../../subplot_defaults\"),s=t(\"./layout_attributes\"),l=t(\"./axis_defaults\");e.exports=function(t,e,r){function a(e){if(!l){return i.validate(t[e],s[e])?t[e]:void 0}}var l=e._basePlotModules.length>1;o(t,e,r,{type:\"gl3d\",attributes:s,handleDefaults:n,font:e.font,fullData:r,getDfltFromLayout:a,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\"../../../components/color\":576,\"../../../lib\":681,\"../../subplot_defaults\":786,\"./axis_defaults\":762,\"./layout_attributes\":765}],765:[function(t,e,r){\"use strict\";function n(t,e,r){return{x:{valType:\"number\",dflt:t},y:{valType:\"number\",dflt:e},z:{valType:\"number\",dflt:r}}}var i=t(\"./axis_attributes\"),a=t(\"../../../lib/extend\").extendFlat;e.exports={bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},camera:{up:a(n(0,0,1),{}),center:a(n(0,0,0),{}),eye:a(n(1.25,1.25,1.25),{})},domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\"},aspectratio:{x:{valType:\"number\",min:0},y:{valType:\"number\",min:0},z:{valType:\"number\",min:0}},xaxis:i,yaxis:i,zaxis:i,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],dflt:\"turntable\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\"},_deprecated:{cameraposition:{valType:\"info_array\"}}}},{\"../../../lib/extend\":673,\"./axis_attributes\":761}],766:[function(t,e,r){\"use strict\";function n(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}function i(t){var e=new n;return e.merge(t),e}var a=t(\"../../../lib/str2rgbarray\"),o=[\"xaxis\",\"yaxis\",\"zaxis\"];n.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[o[e]];this.enabled[e]=r.showspikes,this.colors[e]=a(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness}},e.exports=i},{\"../../../lib/str2rgbarray\":699}],767:[function(t,e,r){\"use strict\";function n(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}function i(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,i=t.fullSceneLayout,c=[[],[],[]],h=0;h<3;++h){var f=i[l[h]];if(f._length=(r[h].hi-r[h].lo)*r[h].pixelsPerDataUnit/t.dataScale[h],Math.abs(f._length)===1/0)c[h]=[];else{f.range[0]=r[h].lo/t.dataScale[h],f.range[1]=r[h].hi/t.dataScale[h],f._m=1/(t.dataScale[h]*r[h].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var d=f.tickmode;if(\"auto\"===f.tickmode){f.tickmode=\"linear\";var p=f.nticks||o.constrain(f._length/40,4,9);a.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var m=a.calcTicks(f),g=0;g<m.length;++g)m[g].x=m[g].x*t.dataScale[h],m[g].text=s(m[g].text);c[h]=m,f.tickmode=d}}e.ticks=c;for(var h=0;h<3;++h){u[h]=.5*(t.glplot.bounds[0][h]+t.glplot.bounds[1][h]);for(var g=0;g<2;++g)e.bounds[g][h]=t.glplot.bounds[g][h]}t.contourLevels=n(c)}e.exports=i;var a=t(\"../../cartesian/axes\"),o=t(\"../../../lib\"),s=t(\"../../../lib/html2unicode\"),l=[\"xaxis\",\"yaxis\",\"zaxis\"],u=[0,0,0]},{\"../../../lib\":681,\"../../../lib/html2unicode\":679,\"../../cartesian/axes\":720}],768:[function(t,e,r){\"use strict\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}function i(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}e.exports=i},{}],769:[function(t,e,r){\"use strict\";function n(t){function e(e,r){var n=t.fullSceneLayout[e];return m.tickText(n,n.d2l(r),\"hover\").text}var r,n=t.svgContainer,i=t.container.getBoundingClientRect(),a=i.width,o=i.height;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+a+\" \"+o),n.setAttributeNS(null,\"width\",a),n.setAttributeNS(null,\"height\",o),M(t),t.glplot.axes.update(t.axesOptions);for(var s=Object.keys(t.traces),l=null,u=t.glplot.selection,c=0;c<s.length;++c)r=t.traces[s[c]],\"skip\"!==r.data.hoverinfo&&r.handlePick(u)&&(l=r),r.setContourLevels&&r.setContourLevels();var h;if(null!==l){var f=x(t.glplot.cameraParams,u.dataCoordinate);r=l.data;var d=r.hoverinfo,p=e(\"xaxis\",u.traceCoordinate[0]),v=e(\"yaxis\",u.traceCoordinate[1]),y=e(\"zaxis\",u.traceCoordinate[2]);if(\"all\"!==d){var b=d.split(\"+\");b.indexOf(\"x\")===-1&&(p=void 0),b.indexOf(\"y\")===-1&&(v=void 0),b.indexOf(\"z\")===-1&&(y=void 0),b.indexOf(\"text\")===-1&&(u.textLabel=void 0),b.indexOf(\"name\")===-1&&(l.name=void 0)}t.fullSceneLayout.hovermode&&g.loneHover({x:(.5+.5*f[0]/f[3])*a,y:(.5-.5*f[1]/f[3])*o,xLabel:p,yLabel:v,zLabel:y,text:u.textLabel,name:l.name,color:l.color},{container:n});var _={points:[{x:p,y:v,z:y,data:r._input,fullData:r,curveNumber:r.index,pointNumber:u.data.index}]};u.buttons&&u.distance<5?t.graphDiv.emit(\"plotly_click\",_):t.graphDiv.emit(\"plotly_hover\",_),h=_}else g.loneUnhover(n),t.graphDiv.emit(\"plotly_unhover\",h)}function i(t,e,r,i){var a={canvas:r,gl:i,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(h||(c=document.createElement(\"canvas\"),h=d({canvas:c,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"error creating static canvas/context for image server\");a.pixelRatio=t.pixelRatio,a.gl=h,a.canvas=c}try{t.glplot=f(a)}catch(e){y(t)}var o=function(t){if(t.fullSceneLayout.dragmode!==!1){var e={};e[t.id]=u(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\"plotly_relayout\",e)}};if(t.glplot.canvas.addEventListener(\"mouseup\",o.bind(null,t)),t.glplot.canvas.addEventListener(\"wheel\",o.bind(null,t)),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",function(t){p.warn(\"Lost WebGL context.\"),t.preventDefault()}),!t.camera){var s=t.fullSceneLayout.camera;t.camera=b(t.container,{center:[s.center.x,s.center.y,s.center.z],eye:[s.eye.x,s.eye.y,s.eye.z],up:[s.up.x,s.up.y,s.up.z],zoomMin:.1,zoomMax:100,mode:\"orbit\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=n.bind(null,t),t.traces={},!0}function a(t,e){var r=document.createElement(\"div\"),n=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");a.style.position=\"absolute\",a.style.top=a.style.left=\"0px\",a.style.width=a.style.height=\"100%\",a.style[\"z-index\"]=20,a.style[\"pointer-events\"]=\"none\",r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=e,this.id=t.id||\"scene\",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=_(e[this.id]),this.spikeOptions=w(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],i(this,e)}function o(t,e,r,n,i){for(var a,o=0;o<e.length;++o)if(Array.isArray(e[o]))for(var s=0;s<e[o].length;++s)a=t.d2l(e[o][s],0,i),!isNaN(a)&&isFinite(a)&&(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a));else a=t.d2l(e[o],0,i),!isNaN(a)&&isFinite(a)&&(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a))}function s(t,e,r){var n=t.fullSceneLayout;o(n.xaxis,e.x,0,r,e.xcalendar),o(n.yaxis,e.y,1,r,e.ycalendar),o(n.zaxis,e.z,2,r,e.zcalendar)}function l(t){return[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]}function u(t){return{up:{x:t.up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]}}}var c,h,f=t(\"gl-plot3d\"),d=t(\"webgl-context\"),p=t(\"../../lib\"),m=t(\"../../plots/cartesian/axes\"),g=t(\"../../plots/cartesian/graph_interact\"),v=t(\"../../lib/str2rgbarray\"),y=t(\"../../lib/show_no_webgl_msg\"),b=t(\"./camera\"),x=t(\"./project\"),_=t(\"./layout/convert\"),w=t(\"./layout/spikes\"),M=t(\"./layout/tick_marks\"),A=a.prototype;A.recoverContext=function(){function t(){return r.isContextLost()?void requestAnimationFrame(t):i(e,e.fullLayout,n,r)?void e.plot.apply(e,e.plotArgs):void p.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")}var e=this,r=this.glplot.gl,n=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(t)};var k=[\"xaxis\",\"yaxis\",\"zaxis\"];A.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,l,u,c=e[this.id],h=r[this.id];c.bgcolor?this.glplot.clearColor=v(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.setCamera(c.camera),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),this.setConvert(l),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-(1/0),-(1/0),-(1/0)]];for(a=0;a<t.length;++a)n=t[a],n.visible===!0&&s(this,n,f);var d=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?d[o]=1:f[1][o]===f[0][o]?d[o]=1:d[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=d,a=0;a<t.length;++a)n=t[a],n.visible===!0&&(i=this.traces[n.uid],i?i.update(n):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&t[o].visible===!0)continue t;i=this.traces[p[a]],i.dispose(),delete this.traces[p[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var m=[[0,0,0],[0,0,0]],g=[],y={};for(a=0;a<3;++a){if(l=c[k[a]],u=l.type,u in y?(y[u].acc*=d[a],y[u].count+=1):y[u]={acc:d[a],count:1},l.autorange){for(m[0][a]=1/0,m[1][a]=-(1/0),o=0;o<this.glplot.objects.length;++o){var b=this.glplot.objects[o].bounds;m[0][a]=Math.min(m[0][a],b[0][a]/d[a]),m[1][a]=Math.max(m[1][a],b[1][a]/d[a])}\nif(\"rangemode\"in l&&\"tozero\"===l.rangemode&&(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]>m[1][a])m[0][a]=-1,m[1][a]=1;else{var x=m[1][a]-m[0][a];m[0][a]-=x/32,m[1][a]+=x/32}}else{var _=c[k[a]].range;m[0][a]=_[0],m[1][a]=_[1]}m[0][a]===m[1][a]&&(m[0][a]-=1,m[1][a]+=1),g[a]=m[1][a]-m[0][a],this.glplot.bounds[0][a]=m[0][a]*d[a],this.glplot.bounds[1][a]=m[1][a]*d[a]}var w=[1,1,1];for(a=0;a<3;++a){l=c[k[a]],u=l.type;var M=y[u];w[a]=Math.pow(M.acc,1/M.count)/d[a]}var A;if(\"auto\"===c.aspectmode)A=Math.max.apply(null,w)/Math.min.apply(null,w)<=4?w:[1,1,1];else if(\"cube\"===c.aspectmode)A=[1,1,1];else if(\"data\"===c.aspectmode)A=w;else{if(\"manual\"!==c.aspectmode)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var T=c.aspectratio;A=[T.x,T.y,T.z]}c.aspectratio.x=h.aspectratio.x=A[0],c.aspectratio.y=h.aspectratio.y=A[1],c.aspectratio.z=h.aspectratio.z=A[2],this.glplot.aspect=A;var E=c.domain||null,S=e._size||null;if(E&&S){var L=this.container.style;L.position=\"absolute\",L.left=S.l+E.x[0]*S.w+\"px\",L.top=S.t+(1-E.y[1])*S.h+\"px\",L.width=S.w*(E.x[1]-E.x[0])+\"px\",L.height=S.h*(E.y[1]-E.y[0])+\"px\"}this.glplot.redraw()}},A.destroy=function(){this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null},A.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),u(this.glplot.camera)},A.setCamera=function(t){this.glplot.camera.lookAt.apply(this,l(t))},A.saveCamera=function(t){var e=this.getCamera(),r=p.nestedProperty(t,this.id+\".camera\"),n=r.get(),i=!1;if(void 0===n)i=!0;else for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!function(t,e,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}(e,n,a,o)){i=!0;break}return i&&r.set(e),i},A.updateFx=function(t,e){var r=this.camera;r&&(\"orbit\"===t?(r.mode=\"orbit\",r.keyBindingMode=\"rotate\"):\"turntable\"===t?(r.up=[0,0,1],r.mode=\"turntable\",r.keyBindingMode=\"rotate\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},A.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(c),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var h=document.createElement(\"canvas\");h.width=r,h.height=n;var f=h.getContext(\"2d\"),d=f.createImageData(r,n);d.data.set(i),f.putImageData(d,0,0);var p;switch(t){case\"jpeg\":p=h.toDataURL(\"image/jpeg\");break;case\"webp\":p=h.toDataURL(\"image/webp\");break;default:p=h.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(c),p},A.setConvert=function(){for(var t=0;t<3;++t){var e=this.fullSceneLayout[k[t]];m.setConvert(e,this.fullLayout),e.setScale=p.noop}},e.exports=a},{\"../../lib\":681,\"../../lib/show_no_webgl_msg\":697,\"../../lib/str2rgbarray\":699,\"../../plots/cartesian/axes\":720,\"../../plots/cartesian/graph_interact\":727,\"./camera\":758,\"./layout/convert\":763,\"./layout/spikes\":766,\"./layout/tick_marks\":767,\"./project\":768,\"gl-plot3d\":202,\"webgl-context\":541}],770:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.extendFlat,a=t(\"./font_attributes\"),o=t(\"../components/color/attributes\");e.exports={font:{family:i({},a.family,{dflt:'\"Open Sans\", verdana, arial, sans-serif'}),size:i({},a.size,{dflt:12}),color:i({},a.color,{dflt:o.defaultLine})},title:{valType:\"string\",dflt:\"Click to enter Plot title\"},titlefont:i({},a,{}),autosize:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:10,dflt:700},height:{valType:\"number\",min:10,dflt:450},margin:{l:{valType:\"number\",min:0,dflt:80},r:{valType:\"number\",min:0,dflt:80},t:{valType:\"number\",min:0,dflt:100},b:{valType:\"number\",min:0,dflt:80},pad:{valType:\"number\",min:0,dflt:0},autoexpand:{valType:\"boolean\",dflt:!0}},paper_bgcolor:{valType:\"color\",dflt:o.background},plot_bgcolor:{valType:\"color\",dflt:o.background},separators:{valType:\"string\",dflt:\".,\"},hidesources:{valType:\"boolean\",dflt:!1},smith:{valType:\"enumerated\",values:[!1],dflt:!1},showlegend:{valType:\"boolean\"},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"orbit\",\"turntable\"],dflt:\"zoom\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1]}}},{\"../components/color/attributes\":575,\"../lib\":681,\"./font_attributes\":740}],771:[function(t,e,r){\"use strict\";e.exports={styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",controlContainerClassName:\"mapboxgl-control-container\",noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\"  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\"}},{}],772:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=Array.isArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s}var h;return h=u[0]&&u[1]?u.join(\"-\"):u[0]?u[0]:u[1]?u[1]:\"center\",{anchor:h,offset:c}}},{\"../../lib\":681}],773:[function(t,e,r){\"use strict\";function n(t,e){var r=t._fullLayout,n=t._context;if(\"\"===n.mapboxAccessToken)return\"\";for(var i=n.mapboxAccessToken,a=0;a<e.length;a++){var o=r[e[a]];if(o.accesstoken){i=o.accesstoken;break}}if(!i)throw new Error(l.noAccessTokenErrorMsg);return i}var i=t(\"mapbox-gl\"),a=t(\"../plots\"),o=t(\"../../constants/xmlns_namespaces\"),s=t(\"./mapbox\"),l=t(\"./constants\");r.name=\"mapbox\",r.attr=\"subplot\",r.idRoot=\"mapbox\",r.idRegex=/^mapbox([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^mapbox([2-9]|[1-9][0-9]+)?$/,r.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\"}},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=a.getSubplotIds(e,\"mapbox\"),l=n(t,o);i.accessToken=l;for(var u=0;u<o.length;u++){var c=o[u],h=a.getSubplotCalcData(r,\"mapbox\",c),f=e[c],d=f._subplot;f.accesstoken=l,d||(d=s({gd:t,container:e._glcontainer.node(),id:c,fullLayout:e,staticPlot:t._context.staticPlot}),e[c]._subplot=d),d.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=a.getSubplotIds(n,\"mapbox\"),o=0;o<i.length;o++){var s=i[o];!e[s]&&n[s]._subplot&&n[s]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=a.getSubplotIds(e,\"mapbox\"),n=e._size,i=0;i<r.length;i++){var s=e[r[i]],l=s.domain,u=s._subplot,c=u.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":c,x:n.l+n.w*l.x[0],y:n.t+n.h*(1-l.y[1]),width:n.w*(l.x[1]-l.x[0]),height:n.h*(l.y[1]-l.y[0]),preserveAspectRatio:\"none\"}),u.destroy()}}},{\"../../constants/xmlns_namespaces\":665,\"../plots\":779,\"./constants\":771,\"./layout_attributes\":775,\"./layout_defaults\":776,\"./mapbox\":777,\"mapbox-gl\":323}],774:[function(t,e,r){\"use strict\";function n(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\"-layer\"+e,this.idSource=this.uid+\"-source\",this.idLayer=this.uid+\"-layer\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}function i(t){var e=t.source;return s.isPlainObject(e)||\"string\"==typeof e&&e.length>0}function a(t){var e={},r={};switch(t.type){case\"circle\":s.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":s.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity});break;case\"fill\":s.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var n=t.symbol,i=l(n.textposition,n.iconsize);s.extendFlat(e,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset}),s.extendFlat(r,{\"icon-color\":t.color,\"text-color\":n.textfont.color,\"text-opacity\":t.opacity})}return{layout:e,paint:r}}function o(t){var e,r=t.sourcetype,n=t.source,i={type:r},a=\"string\"==typeof n;return\"geojson\"===r?e=\"data\":\"vector\"===r&&(e=a?\"url\":\"tiles\"),i[e]=n,i}var s=t(\"../../lib\"),l=t(\"./convert_text_opts\"),u=n.prototype;u.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)&&this.updateLayer(t):(this.updateSource(t),this.updateLayer(t)),this.updateStyle(t),this.visible=i(t)},u.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},u.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},u.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,i(t)){var r=o(t);e.addSource(this.idSource,r)}},u.updateLayer=function(t){var e=this.map;if(e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,i(t)){e.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":t.sourcelayer||\"\",type:t.type},t.below);var r={visibility:\"visible\"};this.mapbox.setOptions(this.idLayer,\"setLayoutProperty\",r)}},u.updateStyle=function(t){var e=a(t);i(t)&&(this.mapbox.setOptions(this.idLayer,\"setLayoutProperty\",e.layout),this.mapbox.setOptions(this.idLayer,\"setPaintProperty\",e.paint))},u.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var i=new n(t,e);return i.update(r),i}},{\"../../lib\":681,\"./convert_text_opts\":772}],775:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\").defaultLine,a=t(\"../font_attributes\"),o=t(\"../../traces/scatter/attributes\").textposition;e.exports={_arrayAttrRegexps:[/^mapbox([2-9]|[1-9][0-9]+)?\\.layers/],domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],dflt:\"basic\"},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},layers:{_isLinkedToArray:\"layer\",sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\"],dflt:\"circle\"},below:{valType:\"string\",dflt:\"\"},color:{valType:\"color\",dflt:i},opacity:{valType:\"number\",min:0,max:1,dflt:1},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2}},fill:{outlinecolor:{valType:\"color\",dflt:i}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},textfont:n.extendDeep({},a,{family:{dflt:\"Open Sans Regular, Arial Unicode MS Regular\"}}),textposition:n.extendFlat({},o,{arrayOk:!1})}}}},{\"../../components/color\":576,\"../../lib\":681,\"../../traces/scatter/attributes\":924,\"../font_attributes\":740}],776:[function(t,e,r){\"use strict\";function n(t,e,r){r(\"accesstoken\"),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\"),i(t,e),e._input=t}function i(t,e){function r(t,e){return a.coerce(n,i,s.layers,t,e)}for(var n,i,o=t.layers||[],l=e.layers=[],u=0;u<o.length;u++)if(n=o[u],i={},a.isPlainObject(n)){var c=r(\"sourcetype\");r(\"source\"),\"vector\"===c&&r(\"sourcelayer\");var h=r(\"type\");r(\"below\"),r(\"color\"),r(\"opacity\"),\"circle\"===h&&r(\"circle.radius\"),\"line\"===h&&r(\"line.width\"),\"fill\"===h&&r(\"fill.outlinecolor\"),\"symbol\"===h&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),a.coerceFont(r,\"symbol.textfont\"),r(\"symbol.textposition\")),i._index=u,l.push(i)}}var a=t(\"../../lib\"),o=t(\"../subplot_defaults\"),s=t(\"./layout_attributes\");e.exports=function(t,e,r){o(t,e,r,{type:\"mapbox\",attributes:s,handleDefaults:n,partition:\"y\"})}},{\"../../lib\":681,\"../subplot_defaults\":786,\"./layout_attributes\":775}],777:[function(t,e,r){\"use strict\";function n(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\"-\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}function i(t){var e=h.style.values,r=h.style.dflt,n={};return u.isPlainObject(t)?(n.id=t.id,n.style=t):\"string\"==typeof t?(n.id=t,n.style=e.indexOf(t)!==-1?a(t):t):(n.id=r,n.style=a(r)),n}function a(t){return c.styleUrlPrefix+t+\"-\"+c.styleUrlSuffix}function o(t){return[t.lon,t.lat]}var s=t(\"mapbox-gl\"),l=t(\"../cartesian/graph_interact\"),u=t(\"../../lib\"),c=t(\"./constants\"),h=t(\"./layout_attributes\"),f=t(\"./layers\"),d=n.prototype;e.exports=function(t){return new n(t)},d.plot=function(t,e,r){var n=this,i=n.opts=e[this.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash=[],n.layerList={});var a;a=n.map?new Promise(function(r,i){n.updateMap(t,e,r,i)}):new Promise(function(r,i){n.createMap(t,e,r,i)}),r.push(a)},d.createMap=function(t,e,r,n){function a(){l.loneUnhover(e._toppaper)}var h=this,f=h.gd,d=h.opts,p=h.styleObj=i(d.style);h.accessToken=d.accesstoken;var m=h.map=new s.Map({container:h.div,style:p.style,center:o(d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch,interactive:!h.isStatic,preserveDrawingBuffer:h.isStatic}),g=c.controlContainerClassName,v=h.div.getElementsByClassName(g)[0];h.div.removeChild(v),h.rejectOnError(n),m.once(\"load\",function(){h.updateData(t),h.updateLayout(e),h.resolveOnRender(r)}),m.on(\"moveend\",function(t){if(h.map){var e=h.getView();if(d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,t.originalEvent){var r={};r[h.id]=u.extendFlat({},e),f.emit(\"plotly_relayout\",r)}}}),m.on(\"mousemove\",function(t){var e=h.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},h.xaxis.p2c=function(){return t.lngLat.lng},h.yaxis.p2c=function(){return t.lngLat.lat},l.hover(f,t,h.id)}),m.on(\"click\",function(){l.click(f,{target:!0})}),m.on(\"dragstart\",a),m.on(\"zoomstart\",a)},d.updateMap=function(t,e,r,n){var a=this,o=a.map;a.rejectOnError(n);var s=i(a.opts.style);a.styleObj.id!==s.id?(a.styleObj=s,o.setStyle(s.style),o.style.once(\"load\",function(){a.traceHash={},a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})):(a.updateData(t),a.updateLayout(e),a.resolveOnRender(r))},d.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];r=o[0].trace,e=a[r.uid],e?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(r=t[i][0].trace,l===r.uid)continue t;e=a[l],e.dispose(),delete a[l]}},d.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(o(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.map.resize()},d.resolveOnRender=function(t){var e=this.map;e.on(\"render\",function r(){e.loaded()&&(e.off(\"render\",r),t())})},d.rejectOnError=function(t){function e(){t(new Error(c.mapOnErrorMsg))}var r=this.map;r.once(\"error\",e),r.once(\"style.error\",e),r.once(\"source.error\",e),r.once(\"tile.error\",e),r.once(\"layer.error\",e)},d.createFramework=function(t){var e=this,r=e.div=document.createElement(\"div\");r.id=e.uid,r.style.position=\"absolute\",e.container.appendChild(r),e.xaxis={_id:\"x\",c2p:function(t){return e.project(t).x}},e.yaxis={_id:\"y\",c2p:function(t){return e.project(t).y}},e.updateFramework(t)},d.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},d.updateLayers=function(){var t,e=this.opts,r=e.layers,n=this.layerList;if(r.length!==n.length){for(t=0;t<n.length;t++)n[t].dispose();for(n=this.layerList=[],t=0;t<r.length;t++)n.push(f(this,t,r[t]))}else for(t=0;t<r.length;t++)n[t].update(r[t])},d.destroy=function(){this.map&&(this.map.remove(),this.map=null),this.container.removeChild(this.div)},d.toImage=function(){return this.map.getCanvas().toDataURL()},d.initSource=function(t){var e={type:\"geojson\",data:{type:\"Feature\",geometry:{type:\"Point\",coordinates:[]}}};return this.map.addSource(t,e)},d.setSourceData=function(t,e){this.map.getSource(t).setData(e)},d.setOptions=function(t,e,r){for(var n=this.map,i=Object.keys(r),a=0;a<i.length;a++){var o=i[a];n[e](t,o,r[o])}},d.project=function(t){return this.map.project(new s.LngLat(t[0],t[1]))},d.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{\"../../lib\":681,\"../cartesian/graph_interact\":727,\"./constants\":771,\"./layers\":774,\"./layout_attributes\":775,\"mapbox-gl\":323}],778:[function(t,e,r){\"use strict\";e.exports={t:{valType:\"number\",dflt:0},r:{valType:\"number\",dflt:0},b:{valType:\"number\",dflt:0},l:{valType:\"number\",dflt:0}}},{}],779:[function(t,e,r){\"use strict\";function n(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",function(){d.sendDataToCloud(t)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}function i(t,e,r){var n=r._globalTransforms||[];if(Array.isArray(t.transforms)||0!==n.length)for(var i=t.transforms||[],a=n.concat(i),o=e.transforms=[],s=0;s<a.length;s++){var l,u=a[s],c=u.type,f=y[c];f||h.warn(\"Unrecognized transform type \"+c+\".\"),f&&f.supplyDefaults?(l=f.supplyDefaults(u,e,r,t),l.type=c,l._module=f,h.pushUnique(r._transformModules,f)):l=h.extendFlat({},u),o.push(l)}}function a(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=y[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function o(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}var s=t(\"d3\"),l=t(\"fast-isnumeric\"),u=t(\"../plotly\"),c=t(\"../registry\"),h=t(\"../lib\"),f=t(\"../components/color\"),d=e.exports={},p=t(\"./animation_attributes\"),m=t(\"./frame_attributes\"),g=h.relinkPrivateKeys;h.extendFlat(d,c),d.attributes=t(\"./attributes\"),d.attributes.type.values=d.allTypes,d.fontAttrs=t(\"./font_attributes\"),d.layoutAttributes=t(\"./layout_attributes\"),d.fontWeight=\"normal\";var v=d.subplotsRegistry,y=d.transformsRegistry,b=t(\"../components/errorbars\"),x=t(\"./command\");d.executeAPICommand=x.executeAPICommand,d.computeAPICommandBindings=x.computeAPICommandBindings,d.manageCommandObserver=x.manageCommandObserver,d.hasSimpleAPICommandBindings=x.hasSimpleAPICommandBindings,d.findSubplotIds=function(t,e){var r=[];if(!d.subplotsRegistry[e])return r;for(var n=d.subplotsRegistry[e].attr,i=0;i<t.length;i++){var a=t[i];d.traceIs(a,e)&&r.indexOf(a[n])===-1&&r.push(a[n])}return r},d.getSubplotIds=function(t,e){var r=d.subplotsRegistry[e];if(!r)return[];if(!(\"cartesian\"!==e||t._has&&t._has(\"cartesian\")))return[];if(!(\"gl2d\"!==e||t._has&&t._has(\"gl2d\")))return[];if(\"cartesian\"===e||\"gl2d\"===e)return Object.keys(t._plots||{});for(var n=r.idRegex,i=Object.keys(t),a=[],o=0;o<i.length;o++){var s=i[o];n.test(s)&&a.push(s)}var l=r.idRoot.length;return a.sort(function(t,e){return+(t.substr(l)||1)-+(e.substr(l)||1)}),a},d.getSubplotData=function(t,e,r){if(!d.subplotsRegistry[e])return[];for(var n,i=d.subplotsRegistry[e].attr,a=[],o=0;o<t.length;o++)if(n=t[o],\"gl2d\"===e&&d.traceIs(n,\"gl2d\")){var s=u.Axes.subplotMatch,l=\"x\"+r.match(s)[1],c=\"y\"+r.match(s)[2];n[i[0]]===l&&n[i[1]]===c&&a.push(n)}else n[i]===r&&a.push(n);return a},d.getSubplotCalcData=function(t,e,r){if(!d.subplotsRegistry[e])return[];for(var n=d.subplotsRegistry[e].attr,i=[],a=0;a<t.length;a++){var o=t[a];o[0].trace[n]===r&&i.push(o)}return i},d.redrawText=function(t){if(!(t.data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){c.getComponentMethod(\"annotations\",\"draw\")(t),c.getComponentMethod(\"legend\",\"draw\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(d.previousPromises(t))},300)})},d.resize=function(t){return new Promise(function(e,r){t&&\"none\"!==s.select(t).style(\"display\")||r(new Error(\"Resize must be passed a plot div element.\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)return void e(t);delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,u.relayout(t,{autosize:!0}).then(function(){t.changed=r,e(t)})},100)})},d.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},d.addLinks=function(t){var e=t._fullLayout,r=e._paper.selectAll(\"text.js-plot-link-container\").data([0]);r.enter().append(\"text\").classed(\"js-plot-link-container\",!0).style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:f.defaultLine,\"pointer-events\":\"all\"}).each(function(){var t=s.select(this);t.append(\"tspan\").classed(\"js-link-to-tool\",!0),t.append(\"tspan\").classed(\"js-link-spacer\",!0),t.append(\"tspan\").classed(\"js-sourcelinks\",!0)});var i=r.node(),a={y:e._paper.attr(\"height\")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=e._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),l=r.select(\".js-link-spacer\"),u=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&n(t,o),l.text(o.text()&&u.text()?\" - \":\"\")},d.sendDataToCloud=function(t){t.emit(\"plotly_beforeexport\");var e=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\"https://plot.ly\",r=s.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),n=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"});return n.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=d.graphJson(t,!1,\"keepdata\"),n.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1},d.supplyDefaults=function(t){var e,r=t._fullLayout||{},n=t._fullLayout={},i=t.layout||{},a=t._fullData||[],o=t._fullData=[],s=t.data||[];if(t._transitionData||d.createTransitionData(t),r._initialAutoSizeIsDone){var l=r.width,c=r.height;d.supplyLayoutGlobalDefaults(i,n),i.width||(n.width=l),i.height||(n.height=c)}else{d.supplyLayoutGlobalDefaults(i,n);var h=!i.width||!i.height,f=n.autosize,p=t._context&&t._context.autosizable;h&&(f||p)?d.plotAutoSize(t,i,n):h&&d.sanitizeMargins(t),!f&&h&&(i.width=n.width,i.height=n.height)}n._initialAutoSizeIsDone=!0,n._dataLength=s.length,n._globalTransforms=(t._context||{}).globalTransforms,d.supplyDataDefaults(s,o,i,n),n._has=d._hasPlotType.bind(n);var m=n._modules;for(e=0;e<m.length;e++){var v=m[e];v.cleanData&&v.cleanData(o)}if(a.length===s.length)for(e=0;e<o.length;e++)g(o[e],a[e]);d.supplyLayoutModuleDefaults(i,n,o,t._transitionData),n._hasCartesian=n._has(\"cartesian\"),n._hasGeo=n._has(\"geo\"),n._hasGL3D=n._has(\"gl3d\"),n._hasGL2D=n._has(\"gl2d\"),n._hasTernary=n._has(\"ternary\"),n._hasPie=n._has(\"pie\"),d.cleanPlot(o,n,a,r),d.linkSubplots(o,n,a,r),g(n,r),d.doAutoMargin(t);var y=u.Axes.list(t);for(e=0;e<y.length;e++){y[e].setScale()}if((t.calcdata||[]).length===o.length)for(e=0;e<o.length;e++){var b=o[e];(t.calcdata[e][0]||{}).trace=b}},d.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},d._hasPlotType=function(t){for(var e=this._basePlotModules||[],r=0;r<e.length;r++){if(e[r].name===t)return!0}return!1},d.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=!!n._paper,u=!!n._infolayer;t:for(i=0;i<r.length;i++){var c=r[i],h=c.uid;for(a=0;a<t.length;a++){var f=t[a];if(h===f.uid)continue t}var d=\".hm\"+h+\",.contour\"+h+\",#clip\"+h+\",.trace\"+h;l&&n._paper.selectAll(d).remove(),u&&(n._infolayer.selectAll(\".cb\"+h).remove(),n._infolayer.selectAll(\"g.rangeslider-container\").selectAll(d).remove())}},d.linkSubplots=function(t,e,r,n){for(var i=n._plots||{},a=e._plots={},o={_fullData:t,_fullLayout:e},s=u.Axes.getSubplots(o),l=0;l<s.length;l++){var c,h=s[l],f=i[h];f?(c=a[h]=f,c._scene2d&&c._scene2d.updateRefs(e)):(c=a[h]={},c.id=h),c.xaxis=u.Axes.getFromId(o,h,\"x\"),c.yaxis=u.Axes.getFromId(o,h,\"y\")}},d.supplyDataDefaults=function(t,e,r,n){function i(t){e.push(t);var r=t._module;r&&(h.pushUnique(o,r),h.pushUnique(s,t._module.basePlotModule),l++)}var o=n._modules=[],s=n._basePlotModules=[],l=0;n._transformModules=[];for(var u=0;u<t.length;u++){var c=t[u],f=d.supplyTraceDefaults(c,l,n,u);if(f.index=u,f._input=c,f._expandedIndex=l,f.transforms&&f.transforms.length)for(var p=a(f,e,r,n),m=0;m<p.length;m++){var g=p[m],v=d.supplyTraceDefaults(g,l,n,u);g.uid=v.uid=f.uid+m,v.index=u,v._input=c,v._fullInput=f,v._expandedIndex=l,v._expandedInput=g,i(v)}else f._fullInput=f,f._expandedInput=f,i(f)}},d.supplyAnimationDefaults=function(t){function e(e,r){return h.coerce(t||{},n,p,e,r)}t=t||{};var r,n={};if(e(\"mode\"),e(\"direction\"),e(\"fromcurrent\"),Array.isArray(t.frame))for(n.frame=[],r=0;r<t.frame.length;r++)n.frame[r]=d.supplyAnimationFrameDefaults(t.frame[r]||{});else n.frame=d.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(n.transition=[],r=0;r<t.transition.length;r++)n.transition[r]=d.supplyAnimationTransitionDefaults(t.transition[r]||{});else n.transition=d.supplyAnimationTransitionDefaults(t.transition||{});return n},d.supplyAnimationFrameDefaults=function(t){function e(e,n){return h.coerce(t||{},r,p.frame,e,n)}var r={};return e(\"duration\"),e(\"redraw\"),r},d.supplyAnimationTransitionDefaults=function(t){function e(e,n){return h.coerce(t||{},r,p.transition,e,n)}var r={};return e(\"duration\"),e(\"easing\"),r},d.supplyFrameDefaults=function(t){function e(e,n){return h.coerce(t,r,m,e,n)}var r={};return e(\"group\"),e(\"name\"),e(\"traces\"),e(\"baseframe\"),e(\"data\"),e(\"layout\"),r},d.supplyTraceDefaults=function(t,e,r,n){function a(e,r){return h.coerce(t,s,d.attributes,e,r)}function o(e,r){if(d.traceIs(s,e))return h.coerce(t,s,d.subplotsRegistry[e].attributes,r)}var s={},l=f.defaults[e%f.defaults.length],u=a(\"visible\");a(\"type\"),a(\"uid\"),a(\"name\",\"trace \"+n);for(var c=Object.keys(v),p=0;p<c.length;p++){var m=c[p];if([\"cartesian\",\"gl2d\"].indexOf(m)===-1){var g=v[m].attr;g&&o(m,g)}}if(u){var y=d.getModule(s);s._module=y,a(\"hoverinfo\",1===r._dataLength?\"x+y+z+text\":void 0),y&&y.supplyDefaults(t,s,l,r),d.traceIs(s,\"noOpacity\")||a(\"opacity\"),o(\"cartesian\",\"xaxis\"),o(\"cartesian\",\"yaxis\"),o(\"gl2d\",\"xaxis\"),o(\"gl2d\",\"yaxis\"),d.traceIs(s,\"showLegend\")&&(a(\"showlegend\"),a(\"legendgroup\")),i(t,s,r)}return s},d.supplyLayoutGlobalDefaults=function(t,e){function r(r,n){return h.coerce(t,e,d.layoutAttributes,r,n)}var n=h.coerceFont(r,\"font\");r(\"title\"),h.coerceFont(r,\"titlefont\",{family:n.family,size:Math.round(1.4*n.size),color:n.color}),r(\"autosize\",!(t.width&&t.height)),r(\"width\"),r(\"height\"),r(\"margin.l\"),r(\"margin.r\"),r(\"margin.t\"),r(\"margin.b\"),r(\"margin.pad\"),r(\"margin.autoexpand\"),t.width&&t.height&&d.sanitizeMargins(e),r(\"paper_bgcolor\"),r(\"separators\"),r(\"hidesources\"),r(\"smith\"),c.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\")},d.plotAutoSize=function(t,e,r){var n,i,a=t._context||{},s=a.frameMargins,u=h.isPlotDiv(t);if(u&&t.emit(\"plotly_autosize\"),a.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=\"hidden\";else if(l(s)&&s>0){var c=o(t._boundingBoxMargins),f=c.left+c.right,p=c.bottom+c.top,m=1-2*s,g=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(m*(g.width-f)),i=Math.round(m*(g.height-p))}else{var v=u?window.getComputedStyle(t):{};n=parseFloat(v.width)||r.width,i=parseFloat(v.height)||r.height}var y=d.layoutAttributes.width.min,b=d.layoutAttributes.height.min;n<y&&(n=y),i<b&&(i=b);var x=!e.width&&Math.abs(r.width-n)>1,_=!e.height&&Math.abs(r.height-i)>1;(_||x)&&(x&&(r.width=n),_&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),d.sanitizeMargins(r)},d.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a;u.Axes.supplyLayoutDefaults(t,e,r);var o=e._basePlotModules;for(i=0;i<o.length;i++)a=o[i],\"cartesian\"!==a.name&&a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r);var s=e._modules;for(i=0;i<s.length;i++)a=s[i],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r);var l=e._transformModules;for(i=0;i<l.length;i++)a=l[i],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r,n);u.Fx.supplyLayoutDefaults(t,e,r);var h=Object.keys(c.componentsRegistry);for(i=0;i<h.length;i++)a=c.componentsRegistry[h[i]],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r)},d.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&e._glcontainer.remove(),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._tester,delete t._testref,delete t._promises,delete t._redrawTimer,delete t.firstscatter,delete t.hmlumcount,delete t.hmpixcount,delete t.numboxes,delete t._hoverTimer,delete t._lastHoverTime,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,t.removeAllListeners&&t.removeAllListeners()},d.style=function(t){for(var e=t._fullLayout._modules,r=0;r<e.length;r++){var n=e[r];n.style&&n.style(t)}},d.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},d.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),n.margin.autoexpand!==!1){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||d.doAutoMargin(t)}},d.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),i=Math.max(e.margin.l||0,0),a=Math.max(e.margin.r||0,0),o=Math.max(e.margin.t||0,0),s=Math.max(e.margin.b||0,0),c=e._pushmargin;if(e.margin.autoexpand!==!1){c.base={l:{val:0,size:i},r:{val:1,size:a},t:{val:1,size:o},b:{val:0,size:s}};for(var h=Object.keys(c),f=0;f<h.length;f++)for(var d=h[f],p=c[d].l||{},m=c[d].b||{},g=p.val,v=p.size,y=m.val,b=m.size,x=0;x<h.length;x++){var _=h[x];if(l(v)&&c[_].r){var w=c[_].r.val,M=c[_].r.size;if(w>g){\nvar A=(v*w+(M-e.width)*g)/(w-g),k=(M*(1-g)+(v-e.width)*(1-w))/(w-g);A>=0&&k>=0&&A+k>i+a&&(i=A,a=k)}}if(l(b)&&c[_].t){var T=c[_].t.val,E=c[_].t.size;if(T>y){var S=(b*T+(E-e.height)*y)/(T-y),L=(E*(1-y)+(b-e.height)*(1-T))/(T-y);S>=0&&L>=0&&S+L>s+o&&(s=S,o=L)}}}}if(r.l=Math.round(i),r.r=Math.round(a),r.t=Math.round(o),r.b=Math.round(s),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&\"{}\"!==n&&n!==JSON.stringify(e._size))return u.plot(t)},d.graphJson=function(t,e,r,n,i){function a(t){if(\"function\"==typeof t)return null;if(h.isPlainObject(t)){var e,n,i={};for(e in t)if(\"function\"!=typeof t[e]&&[\"_\",\"[\"].indexOf(e.charAt(0))===-1){if(\"keepdata\"===r){if(\"src\"===e.substr(e.length-3))continue}else if(\"keepstream\"===r){if(\"string\"==typeof(n=t[e+\"src\"])&&n.indexOf(\":\")>0&&!h.isPlainObject(t.stream))continue}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[e+\"src\"])&&n.indexOf(\":\")>0)continue;i[e]=a(t[e])}return i}return Array.isArray(t)?t.map(a):h.isJSDate(t)?h.ms2DateTimeLocal(+t):t}(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&d.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames,u={data:(o||[]).map(function(t){var r=a(t);return e&&delete r.fit,r})};return e||(u.layout=a(s)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),l&&(u.frames=a(l)),\"object\"===n?u:JSON.stringify(u)},d.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch(n=e[r],n.type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\"delete\":i=a[n.index],delete o[i.name],a.splice(n.index,1)}return Promise.resolve()},d.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error(\"computeFrame must be given a string frame name\");var s=o[e.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&u.indexOf(s.name)===-1;)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=d.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(c.traces||(c.traces=[]),r=0;r<s.data.length;r++)void 0!==(i=n[r])&&null!==i&&(a=c.traces.indexOf(i),a===-1&&(a=c.data.length,c.traces[a]=i),c.data[a]=d.extendTrace(c.data[a],s.data[r]))}return c},d.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},d.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,c,f=h.extendDeepNoArrays({},e||{}),p=h.expandObjectPaths(f),m={};if(r&&r.length)for(a=0;a<r.length;a++)n=h.nestedProperty(p,r[a]),i=n.get(),void 0===i?h.nestedProperty(m,r[a]).set(null):(n.set(null),h.nestedProperty(m,r[a]).set(i));if(t=h.extendDeepNoArrays(t||{},p),r&&r.length)for(a=0;a<r.length;a++)if(s=h.nestedProperty(m,r[a]),u=s.get()){for(l=h.nestedProperty(t,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var g=u[o];c[o]=null===g?null:d.extendObjectWithContainers(c[o],g)}l.set(c)}return t},d.dataArrayContainers=[\"transforms\"],d.layoutArrayContainers=c.layoutArrayContainers,d.extendTrace=function(t,e){return d.extendObjectWithContainers(t,e,d.dataArrayContainers)},d.extendLayout=function(t,e){return d.extendObjectWithContainers(t,e,d.layoutArrayContainers)},d.transition=function(t,e,r,n,i,a){function o(){var n;for(n=0;n<y.length;n++){var i=y[n],a=t._fullData[i],o=a._module;o&&(o.animatable&&x.push(i),t.data[y[n]]=d.extendTrace(t.data[y[n]],e[n]))}var s=h.expandObjectPaths(h.extendDeepNoArrays({},r)),l=/^[xy]axis[0-9]*$/;for(var u in s)l.test(u)&&delete s[u].range;return d.extendLayout(t.layout,s),d.supplyDefaults(t),d.doCalcdata(t),b.calc(t),Promise.resolve()}function s(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}function l(t){if(t)for(;t.length;)t.shift()}function c(){return t.emit(\"plotly_transitioning\",[]),new Promise(function(e){function n(){return l++,function(){c++,_||c!==l||f(e)}}t._transitioning=!0,a.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){_=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return u.redraw(t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\"plotly_transitioninterrupted\",[])});var o,s,l=0,c=0,d=t._fullLayout._basePlotModules,p=!1;if(r)for(s=0;s<d.length;s++)if(d[s].transitionAxes){var m=h.expandObjectPaths(r);p=d[s].transitionAxes(t,m,a,n)||p}for(p?(o=h.extendFlat({},a),o.duration=0):o=a,s=0;s<d.length;s++)d[s].plot(t,x,o,n);setTimeout(n())})}function f(e){if(t._transitionData)return l(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return u.redraw(t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])}).then(e)}function p(){if(t._transitionData)return t._transitioning=!1,s(t._transitionData._interruptCallbacks)}var m,g,v=Array.isArray(e)?e.length:0,y=n.slice(0,v),x=[],_=!1;for(m=0;m<y.length;m++){g=y[m];var w=t._fullData[g],M=w._module;if(M&&!M.animatable){var A={};for(var k in e[m])A[k]=[e[m][k]]}}var T=[d.previousPromises,p,o,d.rehover,c],E=h.syncOrAsync(T,t);return E&&E.then||(E=Promise.resolve()),E.then(function(){return t})},d.doCalcdata=function(t,e){var r,n,i,a,o=u.Axes.list(t),s=t._fullData,l=t._fullLayout,h=!1,f=new Array(s.length),d=(t.calcdata||[]).slice(0);for(t.calcdata=f,t.firstscatter=!0,t.numboxes=0,t._hmpixcount=0,t._hmlumcount=0,l._piecolormap={},l._piedefaultcolorcount=0,i=0;i<o.length;i++)o[i]._categories=o[i]._initialCategories.slice(),\"category\"===o[i].type&&(h=!0);for(i=0;i<s.length;i++)Array.isArray(e)&&e.indexOf(i)===-1&&(f[i]=d[i]);var p=!1;for(i=0;i<s.length;i++)if(r=s[i],r.visible===!0&&r.transforms)for(n=r._module,n&&n.calc&&n.calc(t,r),a=0;a<r.transforms.length;a++){var m=r.transforms[a];n=y[m.type],n&&n.calcTransform&&(p=!0,n.calcTransform(t,r,m))}if(p)for(i=0;i<o.length;i++)o[i]._min=[],o[i]._max=[],o[i]._categories=[];for(i=0;i<s.length;i++){var g=[];r=s[i],r.visible===!0&&(n=r._module)&&n.calc&&(g=n.calc(t,r)),Array.isArray(g)&&g[0]||(g=[{x:!1,y:!1,placeholder:!0}]),g[0].t||(g[0].t={}),g[0].trace=r,f[i]=g}if(h){var v=[\"annotations\",\"shapes\",\"images\"];for(i=0;i<v.length;i++)c.getComponentMethod(v[i],\"supplyLayoutDefaults\")(t.layout,l,s)}},d.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},d.generalUpdatePerTraceModule=function(t,e,r){var n,i=t.traceHash,a={};for(n=0;n<e.length;n++){var o=e[n],s=o[0].trace;s.visible&&(a[s.type]=a[s.type]||[],a[s.type].push(o))}var l=Object.keys(i),u=Object.keys(a);for(n=0;n<l.length;n++){var c=l[n];if(u.indexOf(c)===-1){var h=i[c][0];h[0].trace.visible=!1,a[c]=[h]}}for(u=Object.keys(a),n=0;n<u.length;n++){var f=a[u[n]];f[0][0].trace._module.plot(t,function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];n[0].trace.visible===!0&&e.push(n)}return e}(f),r)}t.traceHash=a}},{\"../components/color\":576,\"../components/errorbars\":605,\"../lib\":681,\"../plotly\":715,\"../registry\":794,\"./animation_attributes\":716,\"./attributes\":718,\"./command\":739,\"./font_attributes\":740,\"./frame_attributes\":741,\"./layout_attributes\":770,d3:104,\"fast-isnumeric\":113}],780:[function(t,e,r){\"use strict\";var n=t(\"../../traces/scatter/attributes\"),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity}}},{\"../../traces/scatter/attributes\":924}],781:[function(t,e,r){\"use strict\";function n(t,e){return a({},e,{showline:{valType:\"boolean\"},showticklabels:{valType:\"boolean\"},tickorientation:{valType:\"enumerated\",values:[\"horizontal\",\"vertical\"]},ticklen:{valType:\"number\",min:0},tickcolor:{valType:\"color\"},ticksuffix:{valType:\"string\"},endpadding:{valType:\"number\"},visible:{valType:\"boolean\"}})}var i=t(\"../cartesian/layout_attributes\"),a=t(\"../../lib/extend\").extendFlat,o=a({},i.domain,{});e.exports={radialaxis:n(\"radial\",{range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},domain:o,orientation:{valType:\"number\"}}),angularaxis:n(\"angular\",{range:{valType:\"info_array\",items:[{valType:\"number\",dflt:0},{valType:\"number\",dflt:360}]},domain:o}),layout:{direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"]},orientation:{valType:\"angle\"}}}},{\"../../lib/extend\":673,\"../cartesian/layout_attributes\":729}],782:[function(t,e,r){\"use strict\";(e.exports=t(\"./micropolar\")).manager=t(\"./micropolar_manager\")},{\"./micropolar\":783,\"./micropolar_manager\":784}],783:[function(t,e,r){var n=t(\"d3\"),i=t(\"../../lib\"),a=i.extendDeepAll,o=e.exports={version:\"0.2.2\"};o.Axis=function(){function t(t){r=t||r;var u=l.data,h=l.layout;return(\"string\"==typeof r||r.nodeName)&&(r=n.select(r)),r.datum(u).each(function(t,r){function l(t,e){return s(t)%360+h.orientation}var u=t.slice();c={data:o.util.cloneJson(u),layout:o.util.cloneJson(h)};var f=0;u.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor=\"LinePlot\"===t.geometry?t.color:n.rgb(t.color).darker().toString()),c.data[e].color=t.color,c.data[e].strokeColor=t.strokeColor,c.data[e].strokeDash=t.strokeDash,c.data[e].strokeSize=t.strokeSize});var d=u.filter(function(t,e){var r=t.visible;return void 0===r||r===!0}),p=!1,m=d.map(function(t,e){return p=p||void 0!==t.groupId,t});if(p){var g=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\"unstacked\"}).entries(m),v=[],y=g.map(function(t,e){if(\"unstacked\"===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});d=n.merge(y)}d.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var b=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;b=Math.max(10,b);var x,_=[h.margin.left+b,h.margin.top+b];if(p){x=[0,n.max(o.util.sumArrays(o.util.arrayLast(d).r[0],o.util.arrayLast(v)))]}else x=n.extent(o.util.flattenArray(d.map(function(t,e){return t.r})));h.radialAxis.domain!=o.DATAEXTENT&&(x[0]=0),i=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:x).range([0,b]),c.layout.radialAxis.domain=i.domain();var w,M=o.util.flattenArray(d.map(function(t,e){return t.t})),A=\"string\"==typeof M[0];A&&(M=o.util.deduplicate(M),w=M.slice(),M=n.range(M.length),d=d.map(function(t,e){var r=t;return t.t=[M],p&&(r.yStack=t.yStack),r}));var k=d.filter(function(t,e){return\"LinePlot\"===t.geometry||\"DotPlot\"===t.geometry}).length===d.length,T=null===h.needsEndSpacing?A||!k:h.needsEndSpacing,E=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!A&&h.angularAxis.domain[0]>=0,S=E?h.angularAxis.domain:n.extent(M),L=Math.abs(M[1]-M[0]);k&&!A&&(L=0);var C=S.slice();T&&A&&(C[1]+=L);var D=h.angularAxis.ticksCount||4;D>8&&(D=D/(D/8)+D%8),h.angularAxis.ticksStep&&(D=(C[1]-C[0])/D);var I=h.angularAxis.ticksStep||(C[1]-C[0])/(D*(h.minorTicks+1));w&&(I=Math.max(Math.round(I),1)),C[2]||(C[2]=I);var z=n.range.apply(this,C);if(z=z.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range(\"clockwise\"===h.direction?[0,360]:[360,0]),c.layout.angularAxis.domain=s.domain(),c.layout.angularAxis.endPadding=T?L:0,void 0===(e=n.select(this).select(\"svg.chart-root\"))||e.empty()){var P=(new DOMParser).parseFromString(\"<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>\",\"application/xml\"),O=this.appendChild(this.ownerDocument.importNode(P.documentElement,!0));e=n.select(O)}e.select(\".guides-group\").style({\"pointer-events\":\"none\"}),e.select(\".angular.axis-group\").style({\"pointer-events\":\"none\"}),e.select(\".radial.axis-group\").style({\"pointer-events\":\"none\"});var R,F=e.select(\".chart-group\"),j={fill:\"none\",stroke:h.tickColor},N={\"font-size\":h.font.size,\"font-family\":h.font.family,fill:h.font.color,\"text-shadow\":[\"-1px 0px\",\"1px -1px\",\"-1px 1px\",\"1px 1px\"].map(function(t,e){return\" \"+t+\" 0 \"+h.font.outlineColor}).join(\",\")};if(h.showLegend){R=e.select(\".legend-group\").attr({transform:\"translate(\"+[b,h.margin.top]+\")\"}).style({display:\"block\"});var B=d.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol=\"DotPlot\"===t.geometry?t.dotType||\"circle\":\"LinePlot\"!=t.geometry?\"square\":\"line\",r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=\"LinePlot\"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:d.map(function(t,e){return t.name||\"Element\"+e}),legendConfig:a({},o.Legend.defaultConfig().legendConfig,{container:R,elements:B,reverseOrder:h.legend.reverseOrder})})();var U=R.node().getBBox();b=Math.min(h.width-U.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,b=Math.max(10,b),_=[h.margin.left+b,h.margin.top+b],i.range([0,b]),c.layout.radialAxis.domain=i.domain(),R.attr(\"transform\",\"translate(\"+[_[0]+b,_[1]-b]+\")\")}else R=e.select(\".legend-group\").style({display:\"none\"});e.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),F.attr(\"transform\",\"translate(\"+_+\")\").style({cursor:\"crosshair\"});var V=[(h.width-(h.margin.left+h.margin.right+2*b+(U?U.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*b))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),e.select(\".outer-group\").attr(\"transform\",\"translate(\"+V+\")\"),h.title){var H=e.select(\"g.title-group text\").style(N).text(h.title),q=H.node().getBBox();H.attr({x:_[0]-q.width/2,y:_[1]-b-20})}var G=e.select(\".radial.axis-group\");if(h.radialAxis.gridLinesVisible){var Y=G.selectAll(\"circle.grid-circle\").data(i.ticks(5));Y.enter().append(\"circle\").attr({class:\"grid-circle\"}).style(j),Y.attr(\"r\",i),Y.exit().remove()}G.select(\"circle.outside-circle\").attr({r:b}).style(j);var X=e.select(\"circle.background-circle\").attr({r:b}).style({fill:h.backgroundColor,stroke:h.stroke});if(h.radialAxis.visible){var W=n.svg.axis().scale(i).ticks(5).tickSize(5);G.call(W).attr({transform:\"rotate(\"+h.radialAxis.orientation+\")\"}),G.selectAll(\".domain\").style(j),G.selectAll(\"g>text\").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(N).style({\"text-anchor\":\"start\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\"horizontal\"===h.radialAxis.tickOrientation?\"rotate(\"+-h.radialAxis.orientation+\") translate(\"+[0,N[\"font-size\"]]+\")\":\"translate(\"+[0,N[\"font-size\"]]+\")\"}}),G.selectAll(\"g>line\").style({stroke:\"black\"})}var Z=e.select(\".angular.axis-group\").selectAll(\"g.angular-tick\").data(z),J=Z.enter().append(\"g\").classed(\"angular-tick\",!0);Z.attr({transform:function(t,e){return\"rotate(\"+l(t,e)+\")\"}}).style({display:h.angularAxis.visible?\"block\":\"none\"}),Z.exit().remove(),J.append(\"line\").classed(\"grid-line\",!0).classed(\"major\",function(t,e){return e%(h.minorTicks+1)==0}).classed(\"minor\",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(j),J.selectAll(\".minor\").style({stroke:h.minorTickColor}),Z.select(\"line.grid-line\").attr({x1:h.tickLength?b-h.tickLength:0,x2:b}).style({display:h.angularAxis.gridLinesVisible?\"block\":\"none\"}),J.append(\"text\").classed(\"axis-text\",!0).style(N);var K=Z.select(\"text.axis-text\").attr({x:b+h.labelOffset,dy:\".35em\",transform:function(t,e){var r=l(t,e),n=b+h.labelOffset,i=h.angularAxis.tickOrientation;return\"horizontal\"==i?\"rotate(\"+-r+\" \"+n+\" 0)\":\"radial\"==i?r<270&&r>90?\"rotate(180 \"+n+\" 0)\":null:\"rotate(\"+(r<=180&&r>0?-90:90)+\" \"+n+\" 0)\"}}).style({\"text-anchor\":\"middle\",display:h.angularAxis.labelsVisible?\"block\":\"none\"}).text(function(t,e){return e%(h.minorTicks+1)!=0?\"\":w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(N);h.angularAxis.rewriteTicks&&K.text(function(t,e){return e%(h.minorTicks+1)!=0?\"\":h.angularAxis.rewriteTicks(this.textContent,e)});var Q=n.max(F.selectAll(\".angular-tick text\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));R.attr({transform:\"translate(\"+[b+Q,h.margin.top]+\")\"});var $=e.select(\"g.geometry-group\").selectAll(\"g\").size()>0,tt=e.select(\"g.geometry-group\").selectAll(\"g.geometry\").data(d);if(tt.enter().append(\"g\").attr({class:function(t,e){return\"geometry geometry\"+e}}),tt.exit().remove(),d[0]||$){var et=[];d.forEach(function(t,e){var r={};r.radialScale=i,r.angularScale=s,r.container=tt.filter(function(t,r){return r==e}),r.geometry=t.geometry,r.orientation=h.orientation,r.direction=h.direction,r.index=e,et.push({data:t,geometryConfig:r})});var rt=n.nest().key(function(t,e){return void 0!==t.data.groupId||\"unstacked\"}).entries(et),nt=[];rt.forEach(function(t,e){\"unstacked\"===t.key?nt=nt.concat(t.values.map(function(t,e){return[t]})):nt.push(t.values)}),nt.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return a(o[r].defaultConfig(),t)});o[r]().config(n)()})}var it,at,ot=e.select(\".guides-group\"),st=e.select(\".tooltips-group\"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,hasTick:!0})();if(!A){var ht=ot.select(\"line\").attr({x1:0,y1:0,y2:0}).style({stroke:\"grey\",\"pointer-events\":\"none\"});F.on(\"mousemove.angular-guide\",function(t,e){var r=o.util.getMousePos(X).angle;ht.attr({x2:-b,transform:\"rotate(\"+r+\")\"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;it=s.invert(n);var i=o.util.convertToCartesian(b+12,r+180);lt.text(o.util.round(it)).move([i[0]+_[0],i[1]+_[1]])}).on(\"mouseout.angular-guide\",function(t,e){ot.select(\"line\").style({opacity:0})})}var ft=ot.select(\"circle\").style({stroke:\"grey\",fill:\"none\"});F.on(\"mousemove.radial-guide\",function(t,e){var r=o.util.getMousePos(X).radius;ft.attr({r:r}).style({opacity:.5}),at=i.invert(o.util.getMousePos(X).radius);var n=o.util.convertToCartesian(r,h.radialAxis.orientation);ut.text(o.util.round(at)).move([n[0]+_[0],n[1]+_[1]])}).on(\"mouseout.radial-guide\",function(t,e){ft.style({opacity:0}),ct.hide(),lt.hide(),ut.hide()}),e.selectAll(\".geometry-group .mark\").on(\"mouseover.tooltip\",function(t,r){var i=n.select(this),a=i.style(\"fill\"),s=\"black\",l=i.style(\"opacity\")||1;if(i.attr({\"data-opacity\":l}),\"none\"!=a){i.attr({\"data-fill\":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var u={t:o.util.round(t[0]),r:o.util.round(t[1])};A&&(u.t=w[t[0]]);var c=\"t: \"+u.t+\", r: \"+u.r,h=this.getBoundingClientRect(),f=e.node().getBoundingClientRect(),d=[h.left+h.width/2-V[0]-f.left,h.top+h.height/2-V[1]-f.top];ct.config({color:s}).text(c),ct.move(d)}else a=i.style(\"stroke\"),i.attr({\"data-stroke\":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(\"mousemove.tooltip\",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(\"data-fill\")&&ct.show()}).on(\"mouseout.tooltip\",function(t,e){ct.hide();var r=n.select(this),i=r.attr(\"data-fill\");i?r.style({fill:i,opacity:r.attr(\"data-opacity\")}):r.style({stroke:r.attr(\"data-stroke\"),opacity:r.attr(\"data-opacity\")})})}),f}var e,r,i,s,l={data:[],layout:{}},u={},c={},h=n.dispatch(\"hover\"),f={};return f.render=function(e){return t(e),this},f.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),a(l.data[e],o.Axis.defaultConfig().data[0]),a(l.data[e],t)}),a(l.layout,o.Axis.defaultConfig().layout),a(l.layout,e.layout),this},f.getLiveConfig=function(){return c},f.getinputConfig=function(){return u},f.radialScale=function(t){return i},f.angularScale=function(t){return s},f.svg=function(){return e},n.rebind(f,h,\"on\"),f},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:\"Line1\",geometry:\"LinePlot\",color:null,strokeDash:\"solid\",strokeColor:null,strokeSize:\"1\",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:\"gray\",outlineColor:\"white\",family:\"Tahoma, sans-serif\"},direction:\"clockwise\",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:\"silver\",minorTickColor:\"#eee\",backgroundColor:\"none\",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT=\"dataExtent\",o.AREA=\"AreaChart\",o.LINE=\"LinePlot\",o.DOT=\"DotPlot\",o.BAR=\"BarChart\",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){return[e,t(e*Math.PI/180)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){\"string\"==typeof e&&(e=e.split(\".\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return r===-2},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)e=t[i],e in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&&(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},o.PolyChart=function(){function t(){var t=e[0].geometryConfig,r=t.container;\"string\"==typeof r&&(r=n.select(r)),r.datum(e).each(function(e,r){function a(e,r){return{r:t.radialScale(e[1]),t:(t.angularScale(e[0])+t.orientation)*Math.PI/180}}function o(t){return{x:t.r*Math.cos(t.t),y:t.r*Math.sin(t.t)}}var s=!!e[0].data.yStack,l=e.map(function(t,e){return s?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),u=t.angularScale,c=t.radialScale.domain()[0],h={};h.bar=function(r,i,a){var o=e[a].data,s=t.radialScale(r[1])-t.radialScale(0),l=t.radialScale(r[2]||0),c=o.barWidth;n.select(this).attr({class:\"mark bar\",d:\"M\"+[[s+l,-c/2],[s+l,c/2],[l,c/2],[l,-c/2]].join(\"L\")+\"Z\",transform:function(e,r){return\"rotate(\"+(t.orientation+u(e[0]))+\")\"}})},h.dot=function(t,r,i){var s=t[2]?[t[0],t[1]+t[2]]:t,l=n.svg.symbol().size(e[i].data.dotSize).type(e[i].data.dotType)(t,r);n.select(this).attr({class:\"mark dot\",d:l,transform:function(t,e){var r=o(a(s));return\"translate(\"+[r.x,r.y]+\")\"}})};var f=n.svg.line.radial().interpolate(e[0].data.lineInterpolation).radius(function(e){return t.radialScale(e[1])}).angle(function(e){return t.angularScale(e[0])*Math.PI/180});h.line=function(r,i,a){var o=r[2]?l[a].map(function(t,e){return[t[0],t[1]+t[2]]}):l[a];if(n.select(this).each(h.dot).style({opacity:function(t,r){return+e[a].data.dotVisible},fill:g.stroke(r,i,a)}).attr({class:\"mark dot\"}),!(i>0)){var s=n.select(this.parentNode).selectAll(\"path.line\").data([0]);s.enter().insert(\"path\"),s.attr({class:\"line\",d:f(o),transform:function(e,r){return\"rotate(\"+(t.orientation+90)+\")\"},\"pointer-events\":\"none\"}).style({fill:function(t,e){return g.fill(r,i,a)},\"fill-opacity\":0,stroke:function(t,e){return g.stroke(r,i,a)},\"stroke-width\":function(t,e){return g[\"stroke-width\"](r,i,a)},\"stroke-dasharray\":function(t,e){return g[\"stroke-dasharray\"](r,i,a)},opacity:function(t,e){return g.opacity(r,i,a)},display:function(t,e){return g.display(r,i,a)}})}};var d=t.angularScale.range(),p=Math.abs(d[1]-d[0])/l[0].length*Math.PI/180,m=n.svg.arc().startAngle(function(t){return-p/2}).endAngle(function(t){return p/2}).innerRadius(function(e){return t.radialScale(c+(e[2]||0))}).outerRadius(function(e){return t.radialScale(c+(e[2]||0))+t.radialScale(e[1])});h.arc=function(e,r,i){n.select(this).attr({class:\"mark arc\",d:m,transform:function(e,r){return\"rotate(\"+(t.orientation+u(e[0])+90)+\")\"}})};var g={fill:function(t,r,n){return e[n].data.color},stroke:function(t,r,n){return e[n].data.strokeColor},\"stroke-width\":function(t,r,n){return e[n].data.strokeSize+\"px\"},\"stroke-dasharray\":function(t,r,n){return i[e[n].data.strokeDash]},opacity:function(t,r,n){return e[n].data.opacity},display:function(t,r,n){return void 0===e[n].data.visible||e[n].data.visible?\"block\":\"none\"}},v=n.select(this).selectAll(\"g.layer\").data(l);v.enter().append(\"g\").attr({class:\"layer\"});var y=v.selectAll(\"path.mark\").data(function(t,e){return t});y.enter().append(\"path\").attr({class:\"mark\"}),y.style(g).each(h[t.geometryType]),y.exit().remove(),v.exit().remove()})}var e=[o.PolyChart.defaultConfig()],r=n.dispatch(\"hover\"),i={solid:\"none\",dash:[5,2],dot:[2,5]};return t.config=function(t){return arguments.length?(t.forEach(function(t,r){e[r]||(e[r]={}),a(e[r],o.PolyChart.defaultConfig()),a(e[r],t)}),this):e},t.getColorScale=function(){},n.rebind(t,r,\"on\"),t},o.PolyChart.defaultConfig=function(){return{data:{name:\"geom1\",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:\"circle\",dotSize:64,dotVisible:!1,barWidth:20,color:\"#ffa500\",strokeSize:1,strokeColor:\"silver\",strokeDash:\"solid\",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:\"LinePlot\",geometryType:\"arc\",direction:\"clockwise\",orientation:0,container:\"body\",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"bar\"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"arc\"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"dot\",dotType:\"circle\"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"line\"}}},o.Legend=function(){function t(){var r=e.legendConfig,i=e.data.map(function(t,e){return[].concat(t).map(function(t,n){var i=a({},r.elements[e]);return i.name=t,i.color=[].concat(r.elements[e].color)[n],i})}),o=n.merge(i);o=o.filter(function(t,e){return r.elements[e]&&(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&&(o=o.reverse());var s=r.container;(\"string\"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),u=r.fontSize,c=null==r.isContinuous?\"number\"==typeof o[0]:r.isContinuous,h=c?r.height:u*o.length,f=s.classed(\"legend-group\",!0),d=f.selectAll(\"svg\").data([0]),p=d.enter().append(\"svg\").attr({width:300,height:h+u,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\"});p.append(\"g\").classed(\"legend-axis\",!0),p.append(\"g\").classed(\"legend-marks\",!0);var m=n.range(o.length),g=n.scale[c?\"linear\":\"ordinal\"]().domain(m).range(l),v=n.scale[c?\"linear\":\"ordinal\"]().domain(m)[c?\"range\":\"rangePoints\"]([0,h]),y=function(t,e){var r=3*e;return\"line\"===t?\"M\"+[[-e/2,-e/12],[e/2,-e/12],[e/2,e/12],[-e/2,e/12]]+\"Z\":n.svg.symbolTypes.indexOf(t)!=-1?n.svg.symbol().type(t).size(r)():n.svg.symbol().type(\"square\").size(r)()};if(c){var b=d.select(\".legend-marks\").append(\"defs\").append(\"linearGradient\").attr({id:\"grad1\",x1:\"0%\",y1:\"0%\",x2:\"0%\",y2:\"100%\"}).selectAll(\"stop\").data(l);b.enter().append(\"stop\"),b.attr({offset:function(t,e){return e/(l.length-1)*100+\"%\"}}).style({\"stop-color\":function(t,e){return t}}),d.append(\"rect\").classed(\"legend-mark\",!0).attr({height:r.height,width:r.colorBandWidth,fill:\"url(#grad1)\"})}else{var x=d.select(\".legend-marks\").selectAll(\"path.legend-mark\").data(o);x.enter().append(\"path\").classed(\"legend-mark\",!0),x.attr({transform:function(t,e){return\"translate(\"+[u/2,v(e)+u/2]+\")\"},d:function(t,e){return y(t.symbol,u)},fill:function(t,e){return g(e)}}),x.exit().remove()}var _=n.svg.axis().scale(v).orient(\"right\"),w=d.select(\"g.legend-axis\").attr({transform:\"translate(\"+[c?r.colorBandWidth:u,u/2]+\")\"}).call(_);return w.selectAll(\".domain\").style({fill:\"none\",stroke:\"none\"}),w.selectAll(\"line\").style({fill:\"none\",stroke:c?r.textColor:\"none\"}),w.selectAll(\"text\").style({fill:r.textColor,\"font-size\":r.fontSize}).text(function(t,e){return o[e].name}),t}var e=o.Legend.defaultConfig(),r=n.dispatch(\"hover\");return t.config=function(t){return arguments.length?(a(e,t),this):e},n.rebind(t,r,\"on\"),t},o.Legend.defaultConfig=function(t,e){return{data:[\"a\",\"b\",\"c\"],legendConfig:{elements:[{symbol:\"line\",color:\"red\"},{symbol:\"square\",color:\"yellow\"},{symbol:\"diamond\",color:\"limegreen\"}],height:150,colorBandWidth:30,fontSize:12,container:\"body\",isContinuous:null,textColor:\"grey\",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:\"white\",padding:5},s=\"tooltip-\"+o.tooltipPanel.uid++,l=function(){t=i.container.selectAll(\"g.\"+s).data([0]);var n=t.enter().append(\"g\").classed(s,!0).style({\"pointer-events\":\"none\",display:\"none\"});return r=n.append(\"path\").style({fill:\"white\",\"fill-opacity\":.9}).attr({d:\"M0 0\"}),e=n.append(\"text\").attr({dx:i.padding+10,dy:.3*+i.fontSize}),l};return l.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?\"#aaa\":\"white\",u=o>=.5?\"black\":\"white\",c=a||\"\";e.style({fill:u,\"font-size\":i.fontSize+\"px\"}).text(c);var h=i.padding,f=e.node().getBBox(),d={fill:i.color,stroke:s,\"stroke-width\":\"2px\"},p=f.width+2*h+10,m=f.height+2*h;return r.attr({d:\"M\"+[[10,-m/2],[10,-m/4],[i.hasTick?0:10,0],[10,m/4],[10,m/2],[p,m/2],[p,-m/2]].join(\"L\")+\"Z\"}).style(d),t.attr({transform:\"translate(\"+[10,-m/2+2*h]+\")\"}),t.style({display:\"block\"}),l},l.move=function(e){if(t)return t.attr({transform:\"translate(\"+[e[0],e[1]]+\")\"}).style({display:\"block\"}),l},l.hide=function(){if(t)return t.style({display:\"none\"}),l},l.show=function(){if(t)return t.style({display:\"block\"}),l},l.config=function(t){return a(i,t),l},l},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={};return t.convert=function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=a({},t)\n;return[[n,[\"marker\",\"color\"],[\"color\"]],[n,[\"marker\",\"opacity\"],[\"opacity\"]],[n,[\"marker\",\"line\",\"color\"],[\"strokeColor\"]],[n,[\"marker\",\"line\",\"dash\"],[\"strokeDash\"]],[n,[\"marker\",\"line\",\"width\"],[\"strokeSize\"]],[n,[\"marker\",\"symbol\"],[\"dotType\"]],[n,[\"marker\",\"size\"],[\"dotSize\"]],[n,[\"marker\",\"barWidth\"],[\"barWidth\"]],[n,[\"line\",\"interpolation\"],[\"lineInterpolation\"]],[n,[\"showlegend\"],[\"visibleInLegend\"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?(\"LinePlot\"===n.geometry?(n.type=\"scatter\",n.dotVisible===!0?(delete n.dotVisible,n.mode=\"lines+markers\"):n.mode=\"lines\"):\"DotPlot\"===n.geometry?(n.type=\"scatter\",n.mode=\"markers\"):\"AreaChart\"===n.geometry?n.type=\"area\":\"BarChart\"===n.geometry&&(n.type=\"bar\"),delete n.geometry):(\"scatter\"===n.type?\"lines\"===n.mode?n.geometry=\"LinePlot\":\"markers\"===n.mode?n.geometry=\"DotPlot\":\"lines+markers\"===n.mode&&(n.geometry=\"LinePlot\",n.dotVisible=!0):\"area\"===n.type?n.geometry=\"AreaChart\":\"bar\"===n.type&&(n.geometry=\"BarChart\"),delete n.mode,delete n.type),n}),!e&&t.layout&&\"stack\"===t.layout.barmode)){var i=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=i.indexOf(t.geometry);n!=-1&&(r.data[e].groupId=n)})}if(t.layout){var s=a({},t.layout);if([[s,[\"plot_bgcolor\"],[\"backgroundColor\"]],[s,[\"showlegend\"],[\"showLegend\"]],[s,[\"radialaxis\"],[\"radialAxis\"]],[s,[\"angularaxis\"],[\"angularAxis\"]],[s.angularaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularaxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularaxis,[\"nticks\"],[\"ticksCount\"]],[s.angularaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularaxis,[\"range\"],[\"domain\"]],[s.angularaxis,[\"endpadding\"],[\"endPadding\"]],[s.radialaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialaxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularAxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularAxis,[\"nticks\"],[\"ticksCount\"]],[s.angularAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularAxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"endpadding\"],[\"endPadding\"]],[s.radialAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialAxis,[\"range\"],[\"domain\"]],[s.font,[\"outlinecolor\"],[\"outlineColor\"]],[s.legend,[\"traceorder\"],[\"reverseOrder\"]],[s,[\"labeloffset\"],[\"labelOffset\"]],[s,[\"defaultcolorrange\"],[\"defaultColorRange\"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(void 0!==s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&void 0!==s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&void 0!==s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&\"boolean\"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder=\"normal\"!=s.legend.reverseOrder),s.legend&&\"boolean\"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?\"reversed\":\"normal\",delete s.legend.reverseOrder),s.margin&&void 0!==s.margin.t){var l=[\"t\",\"r\",\"b\",\"l\",\"pad\"],u=[\"top\",\"right\",\"bottom\",\"left\",\"pad\"],c={};n.entries(s.margin).forEach(function(t,e){c[u[l.indexOf(t.key)]]=t.value}),s.margin=c}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r},t}},{\"../../lib\":681,d3:104}],784:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"./micropolar\"),s=t(\"./undo_manager\"),l=i.extendDeepAll,u=e.exports={};u.framework=function(t){function e(e,i){return i&&(h=i),n.select(n.select(h).node().parentNode).selectAll(\".svg-container>*:not(.chart-root)\").remove(),r=r?l(r,e):e,a||(a=o.Axis()),c=o.adapter.plotly().convert(r),a.config(c).render(h),t.data=r.data,t.layout=r.layout,u.fillLayout(t),r}var r,i,a,c,h,f=new s;return e.isPolar=!0,e.svg=function(){return a.svg()},e.getConfig=function(){return r},e.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},e.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},e.setUndoPoint=function(){var t=this,e=o.util.cloneJson(r);!function(e,r){f.add({undo:function(){r&&t(r)},redo:function(){t(e)}})}(e,i),i=o.util.cloneJson(e)},e.undo=function(){f.undo()},e.redo=function(){f.redo()},e},u.fillLayout=function(t){var e=n.select(t).selectAll(\".plot-container\"),r=e.selectAll(\".svg-container\"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{\"../../components/color\":576,\"../../lib\":681,\"./micropolar\":783,\"./undo_manager\":785,d3:104}],785:[function(t,e,r){\"use strict\";e.exports=function(){function t(t,e){return t?(i=!0,t[e](),i=!1,this):this}var e,r=[],n=-1,i=!1;return{add:function(t){return i?this:(r.splice(n+1,r.length-n),r.push(t),n=r.length-1,this)},setCallback:function(t){e=t},undo:function(){var i=r[n];return i?(t(i,\"undo\"),n-=1,e&&e(i.undo),this):this},redo:function(){var i=r[n+1];return i?(t(i,\"redo\"),n+=1,e&&e(i.redo),this):this},clear:function(){r=[],n=-1},hasUndo:function(){return n!==-1},hasRedo:function(){return n<r.length-1},getCommands:function(){return r},getPreviousCommand:function(){return r[n-1]},getIndex:function(){return n}}}},{}],786:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"./plots\");e.exports=function(t,e,r,a){function o(t,e){return n.coerce(s,l,c,t,e)}for(var s,l,u=a.type,c=a.attributes,h=a.handleDefaults,f=a.partition||\"x\",d=i.findSubplotIds(r,u),p=d.length,m=0;m<p;m++){var g=d[m];s=t[g]?t[g]:t[g]={},e[g]=l={},o(\"domain.\"+f,[m/p,(m+1)/p]),o(\"domain.\"+{x:\"y\",y:\"x\"}[f]),a.id=g,h(s,l,o,a)}}},{\"../lib\":681,\"./plots\":779}],787:[function(t,e,r){\"use strict\";var n=t(\"./ternary\"),i=t(\"../../plots/plots\");r.name=\"ternary\",r.attr=\"subplot\",r.idRoot=\"ternary\",r.idRegex=/^ternary([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^ternary([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=i.getSubplotIds(e,\"ternary\"),o=0;o<a.length;o++){var s=a[o],l=i.getSubplotCalcData(r,\"ternary\",s),u=e[s]._subplot;u||(u=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=u),u.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\"ternary\"),o=0;o<a.length;o++){var s=a[o],l=n[s]._subplot;!e[s]&&l&&(l.plotContainer.remove(),l.clipDef.remove())}}},{\"../../plots/plots\":779,\"./layout/attributes\":788,\"./layout/defaults\":791,\"./layout/layout_attributes\":792,\"./ternary\":793}],788:[function(t,e,r){\"use strict\";e.exports={subplot:{valType:\"subplotid\",dflt:\"ternary\"}}},{}],789:[function(t,e,r){\"use strict\";var n=t(\"../../cartesian/layout_attributes\"),i=t(\"../../../lib/extend\").extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,min:{valType:\"number\",dflt:0,min:0}}},{\"../../../lib/extend\":673,\"../../cartesian/layout_attributes\":729}],790:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../../lib\"),a=t(\"./axis_attributes\"),o=t(\"../../cartesian/tick_label_defaults\"),s=t(\"../../cartesian/tick_mark_defaults\"),l=t(\"../../cartesian/tick_value_defaults\");e.exports=function(t,e,r){function u(r,n){return i.coerce(t,e,a,r,n)}e.type=\"linear\";var c=u(\"color\"),h=c===t.color?c:r.font.color,f=e._name,d=f.charAt(0).toUpperCase(),p=\"Component \"+d,m=u(\"title\",p);e._hovertitle=m===p?m:d,i.coerceFont(u,\"titlefont\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:h}),u(\"min\"),l(t,e,u,\"linear\"),o(t,e,u,\"linear\",{noHover:!1}),s(t,e,u,{outerTicks:!0}),u(\"showticklabels\")&&(i.coerceFont(u,\"tickfont\",{family:r.font.family,size:r.font.size,color:h}),u(\"tickangle\"),u(\"tickformat\")),u(\"hoverformat\"),u(\"showline\")&&(u(\"linecolor\",c),u(\"linewidth\")),u(\"showgrid\")&&(u(\"gridcolor\",n(c,r.bgColor,60).toRgbString()),u(\"gridwidth\"))}},{\"../../../lib\":681,\"../../cartesian/tick_label_defaults\":735,\"../../cartesian/tick_mark_defaults\":736,\"../../cartesian/tick_value_defaults\":737,\"./axis_attributes\":789,tinycolor2:512}],791:[function(t,e,r){\"use strict\";function n(t,e,r,n){var a=r(\"bgcolor\"),o=r(\"sum\");n.bgColor=i.combine(a,n.paper_bgcolor);for(var u,c,h,f=0;f<l.length;f++)u=l[f],c=t[u]||{},h=e[u]={_name:u},s(c,h,n);var d=e.aaxis,p=e.baxis,m=e.caxis;d.min+p.min+m.min>=o&&(d.min=0,p.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}var i=t(\"../../../components/color\"),a=t(\"../../subplot_defaults\"),o=t(\"./layout_attributes\"),s=t(\"./axis_defaults\"),l=[\"aaxis\",\"baxis\",\"caxis\"];e.exports=function(t,e,r){a(t,e,r,{type:\"ternary\",attributes:o,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\"../../../components/color\":576,\"../../subplot_defaults\":786,\"./axis_defaults\":790,\"./layout_attributes\":792}],792:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color/attributes\"),i=t(\"./axis_attributes\");e.exports={domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},bgcolor:{valType:\"color\",dflt:n.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:i,baxis:i,caxis:i}},{\"../../../components/color/attributes\":575,\"./axis_attributes\":789}],793:[function(t,e,r){\"use strict\";function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework()}function i(t){a.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}var a=t(\"d3\"),o=t(\"tinycolor2\"),s=t(\"../../plotly\"),l=t(\"../../lib\"),u=t(\"../../components/color\"),c=t(\"../../components/drawing\"),h=t(\"../cartesian/set_convert\"),f=t(\"../../lib/extend\").extendFlat,d=t(\"../plots\"),p=t(\"../cartesian/axes\"),m=t(\"../../components/dragelement\"),g=t(\"../../components/titles\"),v=t(\"../cartesian/select\"),y=t(\"../cartesian/constants\"),b=t(\"../cartesian/graph_interact\");e.exports=n;var x=n.prototype;x.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={}},x.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r.adjustLayout(n,i),d.generalUpdatePerTraceModule(r,t,n),r.layers.plotbg.select(\"path\").call(u.fill,n.bgcolor)},x.makeFramework=function(){var t=this,e=t.defs.selectAll(\"g.clips\").data([0]);e.enter().append(\"g\").classed(\"clips\",!0);var r=\"clip\"+t.layoutId+t.id;t.clipDef=e.selectAll(\"#\"+r).data([0]),t.clipDef.enter().append(\"clipPath\").attr(\"id\",r).append(\"path\").attr(\"d\",\"M0,0Z\"),t.plotContainer=t.container.selectAll(\"g.\"+t.id).data([0]),t.plotContainer.enter().append(\"g\").classed(t.id,!0),t.layers={};var n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\",\"frontplot\",\"zoom\",\"aaxis\",\"baxis\",\"caxis\",\"axlines\"];t.plotContainer.selectAll(\"g.toplevel\").data(n).enter().append(\"g\").attr(\"class\",function(t){return\"toplevel \"+t}).each(function(e){var r=a.select(this);t.layers[e]=r,\"frontplot\"===e?r.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===e?r.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===e?r.append(\"path\").attr(\"d\",\"M0,0Z\"):\"axlines\"===e&&r.selectAll(\"path\").data([\"aline\",\"bline\",\"cline\"]).enter().append(\"path\").each(function(t){a.select(this).classed(t,!0)})}),t.plotContainer.select(\".grids\").selectAll(\"g.grid\").data([\"agrid\",\"bgrid\",\"cgrid\"]).enter().append(\"g\").attr(\"class\",function(t){return\"grid \"+t}).each(function(e){t.layers[e]=a.select(this)}),t.plotContainer.selectAll(\".backplot,.frontplot,.grids\").call(c.setClipUrl,r),t.graphDiv._context.staticPlot||t.initInteractions()};var _=Math.sqrt(4/3);x.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,c=t.domain,d=(c.x[0]+c.x[1])/2,p=(c.y[0]+c.y[1])/2,m=c.x[1]-c.x[0],g=c.y[1]-c.y[0],v=m*e.w,y=g*e.h,b=t.sum,x=t.aaxis.min,w=t.baxis.min,M=t.caxis.min;v>_*y?(a=y,i=a*_):(i=v,a=i/_),o=m*i/v,s=g*a/y,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-p)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=b,l.xaxis={type:\"linear\",range:[x+2*M-b,b-x-2*w],domain:[d-o/2,d+o/2],_id:\"x\"},h(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.yaxis={type:\"linear\",range:[x,b-w-M],domain:[p-s/2,p+s/2],_id:\"y\"},h(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale();var A=l.yaxis.domain[0],k=l.aaxis=f({},t.aaxis,{range:[x,b-w-M],side:\"left\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*_],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l\"+a+\",-\"+i/2});h(k,l.graphDiv._fullLayout),k.setScale();var T=l.baxis=f({},t.baxis,{range:[b-x-M,w],side:\"bottom\",_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:\"x\",_length:i,_gridpath:\"M0,0l-\"+i/2+\",-\"+a});h(T,l.graphDiv._fullLayout),T.setScale(),k._counteraxis=T;var E=l.caxis=f({},t.caxis,{range:[b-x-w,M],side:\"right\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*_],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l-\"+a+\",\"+i/2});h(E,l.graphDiv._fullLayout),E.setScale();var S=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";l.clipDef.select(\"path\").attr(\"d\",S),l.layers.plotbg.select(\"path\").attr(\"d\",S);var L=\"translate(\"+r+\",\"+n+\")\";l.plotContainer.selectAll(\".scatterlayer,.maplayer,.zoom\").attr(\"transform\",L);var C=\"translate(\"+r+\",\"+(n+a)+\")\";l.layers.baxis.attr(\"transform\",C),l.layers.bgrid.attr(\"transform\",C);var D=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(30)\";l.layers.aaxis.attr(\"transform\",D),l.layers.agrid.attr(\"transform\",D);var I=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(-30)\";l.layers.caxis.attr(\"transform\",I),l.layers.cgrid.attr(\"transform\",I),l.drawAxes(!0),l.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1);var z=l.layers.axlines;z.select(\".aline\").attr(\"d\",k.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(u.stroke,k.linecolor||\"#000\").style(\"stroke-width\",(k.linewidth||0)+\"px\"),z.select(\".bline\").attr(\"d\",T.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(u.stroke,T.linecolor||\"#000\").style(\"stroke-width\",(T.linewidth||0)+\"px\"),z.select(\".cline\").attr(\"d\",E.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(u.stroke,E.linecolor||\"#000\").style(\"stroke-width\",(E.linewidth||0)+\"px\")},x.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+\"title\",i=e.aaxis,a=e.baxis,o=e.caxis;if(p.doTicks(r,i,!0),p.doTicks(r,a,!0),p.doTicks(r,o,!0),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+(\"outside\"===o.ticks?.87*o.ticklen:0));g.draw(r,\"a\"+n,{propContainer:i,propName:e.id+\".aaxis.title\",dfltName:\"Component A\",attributes:{x:e.x0+e.w/2,y:e.y0-i.titlefont.size/3-s,\"text-anchor\":\"middle\"}});var l=(a.showticklabels?a.tickfont.size:0)+(\"outside\"===a.ticks?a.ticklen:0)+3;g.draw(r,\"b\"+n,{propContainer:a,propName:e.id+\".baxis.title\",dfltName:\"Component B\",attributes:{x:e.x0-l,y:e.y0+e.h+.83*a.titlefont.size+l,\"text-anchor\":\"middle\"}}),g.draw(r,\"c\"+n,{propContainer:o,propName:e.id+\".caxis.title\",dfltName:\"Component C\",attributes:{x:e.x0+e.w+l,y:e.y0+e.h+.83*o.titlefont.size+l,\"text-anchor\":\"middle\"}})}};var w=y.MINZOOM/2+.87,M=\"m-0.87,.5h\"+w+\"v3h-\"+(w+5.2)+\"l\"+(w/2+2.6)+\",-\"+(.87*w+4.5)+\"l2.6,1.5l-\"+w/2+\",\"+.87*w+\"Z\",A=\"m0.87,.5h-\"+w+\"v3h\"+(w+5.2)+\"l-\"+(w/2+2.6)+\",-\"+(.87*w+4.5)+\"l-2.6,1.5l\"+w/2+\",\"+.87*w+\"Z\",k=\"m0,1l\"+w/2+\",\"+.87*w+\"l2.6,-1.5l-\"+(w/2+2.6)+\",-\"+(.87*w+4.5)+\"l-\"+(w/2+2.6)+\",\"+(.87*w+4.5)+\"l2.6,1.5l\"+w/2+\",-\"+.87*w+\"Z\",T=!0;x.initInteractions=function(){function t(t,e,r){var n=R.getBoundingClientRect();x=e-n.left,w=r-n.top,E={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=E,S=O.aaxis.range[1]-E.a,C=o(O.graphDiv._fullLayout[O.id].bgcolor).getLuminance(),D=\"M0,\"+O.h+\"L\"+O.w/2+\", 0L\"+O.w+\",\"+O.h+\"Z\",I=!1,z=j.append(\"path\").attr(\"class\",\"zoombox\").style({fill:C>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",D),P=j.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:u.background,stroke:u.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),p()}function e(t,e){return 1-e/O.h}function r(t,e){return 1-(t+(O.h-e)/Math.sqrt(3))/O.w}function n(t,e){return(t-(O.h-e)/Math.sqrt(3))/O.w}function a(t,i){var a=x+t,o=w+i,s=Math.max(0,Math.min(1,e(x,w),e(a,o))),l=Math.max(0,Math.min(1,r(x,w),r(a,o))),u=Math.max(0,Math.min(1,n(x,w),n(a,o))),c=(s/2+u)*O.w,h=(1-s/2-l)*O.w,f=(c+h)/2,d=h-c,p=(1-s)*O.h,m=p-d/_;d<y.MINZOOM?(L=E,z.attr(\"d\",D),P.attr(\"d\",\"M0,0Z\")):(L={a:E.a+s*S,b:E.b+l*S,c:E.c+u*S},z.attr(\"d\",D+\"M\"+c+\",\"+p+\"H\"+h+\"L\"+f+\",\"+m+\"L\"+c+\",\"+p+\"Z\"),P.attr(\"d\",\"M\"+x+\",\"+w+\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM\"+c+\",\"+p+M+\"M\"+h+\",\"+p+A+\"M\"+f+\",\"+m+k)),I||(z.transition().style(\"fill\",C>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),P.transition().style(\"opacity\",1).duration(200),I=!0)}function c(t,e){if(L===E)return 2===e&&g(),i(F);i(F);var r={};r[O.id+\".aaxis.min\"]=L.a,r[O.id+\".baxis.min\"]=L.b,r[O.id+\".caxis.min\"]=L.c,s.relayout(F,r),T&&F.data&&F._context.showTips&&(l.notifier(\"Double-click to<br>zoom back out\",\"long\"),T=!1)}function h(){E={a:O.aaxis.range[0],b:O.baxis.range[1],c:O.caxis.range[1]},L=E}function f(t,e){var r=t/O.xaxis._m,n=e/O.yaxis._m;L={a:E.a-n,b:E.b+(r+n)/2,c:E.c-(r-n)/2};var i=[L.a,L.b,L.c].sort(),a={a:i.indexOf(L.a),b:i.indexOf(L.b),c:i.indexOf(L.c)};i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),L={a:i[a.a],b:i[a.b],c:i[a.c]},e=(E.a-L.a)*O.yaxis._m,t=(E.c-L.c-E.b+L.b)*O.xaxis._m);var o=\"translate(\"+(O.x0+t)+\",\"+(O.y0+e)+\")\";O.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",o),O.aaxis.range=[L.a,O.sum-L.b-L.c],O.baxis.range=[O.sum-L.a-L.c,L.b],O.caxis.range=[O.sum-L.a-L.b,L.c],O.drawAxes(!1),O.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1)}function d(t,e){if(t){var r={};r[O.id+\".aaxis.min\"]=L.a,r[O.id+\".baxis.min\"]=L.b,r[O.id+\".caxis.min\"]=L.c,s.relayout(F,r)}else 2===e&&g()}function p(){O.plotContainer.selectAll(\".select-outline\").remove()}function g(){var t={};t[O.id+\".aaxis.min\"]=0,t[O.id+\".baxis.min\"]=0,t[O.id+\".caxis.min\"]=0,F.emit(\"plotly_doubleclick\",null),s.relayout(F,t)}var x,w,E,S,L,C,D,I,z,P,O=this,R=O.layers.plotbg.select(\"path\").node(),F=O.graphDiv,j=O.layers.zoom,N={element:R,gd:F,plotinfo:{plot:j},doubleclick:g,subplot:O.id,prepFn:function(e,r,n){N.xaxes=[O.xaxis],N.yaxes=[O.yaxis];var i=F._fullLayout.dragmode;e.shiftKey&&(i=\"pan\"===i?\"zoom\":\"pan\"),N.minDrag=\"lasso\"===i?1:void 0,\"zoom\"===i?(N.moveFn=a,N.doneFn=c,t(e,r,n)):\"pan\"===i?(N.moveFn=f,N.doneFn=d,h(),p()):\"select\"!==i&&\"lasso\"!==i||v(e,r,n,N,i)}};R.onmousemove=function(t){b.hover(F,t,O.id),F._fullLayout._lasthover=R,F._fullLayout._hoversubplot=O.id},R.onmouseout=function(t){F._dragging||m.unhover(F,t)},R.onclick=function(t){b.click(F,t)},m.init(N)}},{\"../../components/color\":576,\"../../components/dragelement\":597,\"../../components/drawing\":599,\"../../components/titles\":652,\"../../lib\":681,\"../../lib/extend\":673,\"../../plotly\":715,\"../cartesian/axes\":720,\"../cartesian/constants\":725,\"../cartesian/graph_interact\":727,\"../cartesian/select\":733,\"../cartesian/set_convert\":734,\"../plots\":779,d3:104,tinycolor2:512}],794:[function(t,e,r){\"use strict\";function n(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)s(r.layoutArrayRegexes,e[n])}}function i(t){return\"object\"==typeof t&&(t=t.type),t}var a=t(\"./lib/loggers\"),o=t(\"./lib/noop\"),s=t(\"./lib/push_unique\"),l=t(\"./plots/attributes\");r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.register=function(t,e,n,i){if(r.modules[e])return void a.log(\"Type \"+e+\" already registered\");for(var o={},s=0;s<n.length;s++)o[n[s]]=!0,r.allCategories[n[s]]=!0;r.modules[e]={_module:t,categories:o},i&&Object.keys(i).length&&(r.modules[e].meta=i),r.allTypes.push(e)},r.registerSubplot=function(t){var e=t.name;if(r.subplotsRegistry[e])return void a.log(\"Plot type \"+e+\" already registered.\");n(t),r.subplotsRegistry[e]=t},r.registerComponent=function(t){var e=t.name;r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&s(r.layoutArrayContainers,e),n(t))},r.getModule=function(t){if(void 0!==t.r)return a.warn(\"Tried to put a polar trace on an incompatible graph of cartesian data. Ignoring this dataset.\",t),!1;var e=r.modules[i(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\"various\"===(t=i(t)))return!1;var n=r.modules[t];return n||(t&&\"area\"!==t&&a.log(\"Unrecognized trace type \"+t+\".\"),n=r.modules[l.type.dflt]),!!n.categories[e]},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n?n[e]||o:o}},{\"./lib/loggers\":684,\"./lib/noop\":688,\"./lib/push_unique\":692,\"./plots/attributes\":718}],795:[function(t,e,r){\"use strict\";function n(t){var e;switch(t){case\"themes__thumb\":e={autosize:!0,width:150,height:150,title:\"\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":e={title:\"\",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}function i(t){return[\"xaxis\",\"yaxis\",\"zaxis\"].indexOf(t.slice(0,5))>-1}var a=t(\"../lib\"),o=t(\"../plots/plots\"),s=a.extendFlat,l=a.extendDeep;e.exports=function(t,e){t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var r,a=t.data,u=t.layout,c=l([],a),h=l({},u,n(e.tileClass));if(e.width&&(h.width=e.width),e.height&&(h.height=e.height),\"thumbnail\"===e.tileClass||\"themes__thumb\"===e.tileClass){h.annotations=[];var f=Object.keys(h);for(r=0;r<f.length;r++)i(f[r])&&(h[f[r]].title=\"\");for(r=0;r<c.length;r++){var d=c[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),\"pie\"===d.type&&(d.textposition=\"none\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)h.annotations.push(e.annotations[r]);var p=o.getSubplotIds(h,\"gl3d\");if(p.length){var m={};for(\"thumbnail\"===e.tileClass&&(m={title:\"\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<p.length;r++){var g=h[p[r]];g.xaxis||(g.xaxis={}),g.yaxis||(g.yaxis={}),g.zaxis||(g.zaxis={}),s(g.xaxis,m),s(g.yaxis,m),s(g.zaxis,m),g._scene=null}}var v=document.createElement(\"div\");e.tileClass&&(v.className=e.tileClass);var y={gd:v,td:v,layout:h,data:c,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1}};return\"transparent\"!==e.setBackground&&(y.config.setBackground=e.setBackground||\"opaque\"),y.gd.defaultLayout=n(e.tileClass),y}},{\"../lib\":681,\"../plots/plots\":779}],796:[function(t,e,r){\"use strict\";function n(t,e){return e=e||{},e.format=e.format||\"png\",new Promise(function(r,n){t._snapshotInProgress&&n(new Error(\"Snapshotting already in progress.\")),a.isIE()&&\"svg\"!==e.format&&n(new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\")),t._snapshotInProgress=!0;var s=i(t,e),l=e.filename||t.fn||\"newplot\";l+=\".\"+e.format,s.then(function(e){return t._snapshotInProgress=!1,o(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,n(e)})})}var i=t(\"../plot_api/to_image\"),a=t(\"../lib\"),o=t(\"./filesaver\");e.exports=n},{\"../lib\":681,\"../plot_api/to_image\":713,\"./filesaver\":797}],797:[function(t,e,r){\"use strict\";var n=function(t,e){var r=document.createElement(\"a\"),n=\"download\"in r,i=/Version\\/[\\d\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){\"undefined\"!=typeof navigator&&/MSIE [1-9]\\./.test(navigator.userAgent)&&o(new Error(\"IE < 10 unsupported\")),i&&(document.location.href=\"data:application/octet-stream\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\"download\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\"undefined\"!=typeof navigator&&navigator.msSaveBlob&&(navigator.msSaveBlob(new Blob([t]),e),a(e)),o(new Error(\"download error\"))})};e.exports=n},{}],798:[function(t,e,r){\"use strict\";r.getDelay=function(t){return t._has&&(t._has(\"gl3d\")||t._has(\"gl2d\"))?500:0},r.getRedrawFunc=function(t){if(!(t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],799:[function(t,e,r){\"use strict\";var n=t(\"./helpers\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\"./cloneplot\"),toSVG:t(\"./tosvg\"),svgToImg:t(\"./svgtoimg\"),toImage:t(\"./toimage\"),downloadImage:t(\"./download\")};e.exports=i},{\"./cloneplot\":795,\"./download\":796,\"./helpers\":798,\"./svgtoimg\":800,\"./toimage\":801,\"./tosvg\":802}],800:[function(t,e,r){\"use strict\";function n(t){var e=t.emitter||new a,r=new Promise(function(n,a){var o=window.Image,s=t.svg,l=t.format||\"png\";if(i.isIE()&&(s=s.replace(/\"/gi,\"'\"),s=s.replace(/(\\('#)(.*)('\\))/gi,'(\"$2\")'),s=s.replace(/(\\\\')/gi,'\"'),\"svg\"!==l)){var u=new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\");return a(u),t.promise?r:e.emit(\"error\",u)}var c=t.canvas,h=c.getContext(\"2d\"),f=new o,d=\"data:image/svg+xml,\"+encodeURIComponent(s);c.height=t.height||150,c.width=t.width||300,f.onload=function(){var r;switch(\"svg\"!==l&&h.drawImage(f,0,0),l){case\"jpeg\":r=c.toDataURL(\"image/jpeg\");break;case\"png\":r=c.toDataURL(\"image/png\");break;case\"webp\":r=c.toDataURL(\"image/webp\");break;case\"svg\":r=d;break;default:if(a(new Error(\"Image format is not jpeg, png or svg\")),!t.promise)return e.emit(\"error\",\"Image format is not jpeg, png or svg\")}n(r),t.promise||e.emit(\"success\",r)},f.onerror=function(r){if(a(r),!t.promise)return e.emit(\"error\",r)},f.src=d});return t.promise?r:e}var i=t(\"../lib\"),a=t(\"events\").EventEmitter;e.exports=n},{\"../lib\":681,events:111}],801:[function(t,e,r){\"use strict\";function n(t,e){function r(){var t=s.getDelay(f._fullLayout);setTimeout(function(){var t=u(f),r=document.createElement(\"canvas\");r.id=o.randstr(),n=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:r,emitter:n,svg:t}),n.clean=function(){f&&document.body.removeChild(f)}},t)}var n=new i,h=l(t,{format:\"png\"}),f=h.gd;f.style.position=\"absolute\",f.style.left=\"-5000px\",document.body.appendChild(f);var d=s.getRedrawFunc(f);return a.plot(f,h.data,h.layout,h.config).then(d).then(r).catch(function(t){n.emit(\"error\",t)}),n}var i=t(\"events\").EventEmitter,a=t(\"../plotly\"),o=t(\"../lib\"),s=t(\"./helpers\"),l=t(\"./cloneplot\"),u=t(\"./tosvg\"),c=t(\"./svgtoimg\");e.exports=n},{\"../lib\":681,\"../plotly\":715,\"./cloneplot\":795,\"./helpers\":798,\"./svgtoimg\":800,\"./tosvg\":802,events:111}],802:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../lib/svg_text_utils\"),a=t(\"../components/drawing\"),o=t(\"../components/color\"),s=t(\"../constants/xmlns_namespaces\");e.exports=function(t,e){var r,l=t._fullLayout,u=l._paper,c=l._toppaper;u.insert(\"rect\",\":first-child\").call(a.setRect,0,0,l.width,l.height).call(o.fill,l.paper_bgcolor);var h=l._basePlotModules||[];for(r=0;r<h.length;r++){var f=h[r];f.toSVG&&f.toSVG(t)}if(c){var d=c.node().childNodes,p=Array.prototype.slice.call(d);for(r=0;r<p.length;r++){var m=p[r];m.childNodes.length&&u.node().appendChild(m)}}l._draggers&&l._draggers.remove(),u.node().style.background=\"\",u.selectAll(\"text\").attr(\"data-unformatted\",null).each(function(){var t=n.select(this);if(\"hidden\"===t.style(\"visibility\"))return void t.remove();t.style(\"visibility\",\"visible\");var e=t.style(\"font-family\");e&&e.indexOf('\"')!==-1&&t.style(\"font-family\",e.replace(/\"/g,\"TOBESTRIPPED\"))}),\"pdf\"!==e&&\"eps\"!==e||u.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),u.node().setAttributeNS(s.xmlns,\"xmlns\",s.svg),u.node().setAttributeNS(s.xmlns,\"xmlns:xlink\",s.xlink);var g=(new window.XMLSerializer).serializeToString(u.node());return g=i.html_entity_decode(g),g=i.xml_entity_encode(g),g=g.replace(/(\"TOBESTRIPPED)|(TOBESTRIPPED\")/g,\"'\")}},{\"../components/color\":576,\"../components/drawing\":599,\"../constants/xmlns_namespaces\":665,\"../lib/svg_text_utils\":700,d3:104}],803:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").mergeArray;e.exports=function(t,e){n(e.text,t,\"tx\");var r=e.marker;if(r){n(r.opacity,t,\"mo\"),n(r.color,t,\"mc\");var i=r.line;i&&(n(i.color,t,\"mlc\"),n(i.width,t,\"mlw\"))}}},{\"../../lib\":681}],804:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/color_attributes\"),a=t(\"../../components/errorbars/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../plots/font_attributes\"),l=t(\"../../lib/extend\").extendFlat,u=t(\"../../lib/extend\").extendDeep,c=u({},s);c.family.arrayOk=!0,c.size.arrayOk=!0,c.color.arrayOk=!0;var h=n.marker,f=h.line,d=l({},f.width,{dflt:0}),p=l({},{width:d},i(\"marker.line\")),m=l({},{line:p},i(\"marker\"),{showscale:h.showscale,colorbar:o});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"none\",arrayOk:!0},textfont:l({},c,{}),insidetextfont:l({},c,{}),outsidetextfont:l({},c,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"]},base:{valType:\"any\",dflt:null,arrayOk:!0},offset:{valType:\"number\",dflt:null,arrayOk:!0},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0},marker:m,r:n.r,t:n.t,error_y:a,error_x:a,_deprecated:{bardir:{valType:\"enumerated\",values:[\"v\",\"h\"]}}}},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/color_attributes\":583,\"../../components/errorbars/attributes\":601,\"../../lib/extend\":673,\"../../plots/font_attributes\":740,\"../scatter/attributes\":924}],805:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../components/colorscale/has_colorscale\"),o=t(\"../../components/colorscale/calc\"),s=t(\"./arrays_to_calcdata\");e.exports=function(t,e){var r,l,u,c,h,f=i.getFromId(t,e.xaxis||\"x\"),d=i.getFromId(t,e.yaxis||\"y\"),p=e.orientation||(e.x&&!e.y?\"h\":\"v\");\"h\"===p?(r=f,u=f.makeCalcdata(e,\"x\"),l=d.makeCalcdata(e,\"y\"),h=e.xcalendar):(r=d,u=d.makeCalcdata(e,\"y\"),l=f.makeCalcdata(e,\"x\"),h=e.ycalendar);var m=Math.min(l.length,u.length),g=[];for(c=0;c<m;c++)n(l[c])&&g.push({p:l[c]});var v,y=e.base;if(Array.isArray(y)){for(c=0;c<Math.min(y.length,g.length);c++)v=r.d2c(y[c],0,h),g[c].b=n(v)?v:0;for(;c<g.length;c++)g[c].b=0}else for(v=r.d2c(y,0,h),v=n(v)?v:0,c=0;c<g.length;c++)g[c].b=v;for(c=0;c<g.length;c++)n(u[c])&&(g[c].s=u[c]);return a(e,\"marker\")&&o(e,e.marker.color,\"marker\",\"c\"),a(e,\"marker.line\")&&o(e,e.marker.line.color,\"marker.line\",\"c\"),s(g,e),g}},{\"../../components/colorscale/calc\":582,\"../../components/colorscale/has_colorscale\":589,\"../../plots/cartesian/axes\":720,\"./arrays_to_calcdata\":803,\"fast-isnumeric\":113}],806:[function(t,e,r){\"use strict\"\n;var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../scatter/xy_defaults\"),o=t(\"../bar/style_defaults\"),s=t(\"../../components/errorbars/defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}var h=n.coerceFont;if(!a(t,e,u,c))return void(e.visible=!1);c(\"orientation\",e.x&&!e.y?\"h\":\"v\"),c(\"base\"),c(\"offset\"),c(\"width\"),c(\"text\");var f=c(\"textposition\"),d=Array.isArray(f)||\"auto\"===f,p=d||\"inside\"===f,m=d||\"outside\"===f;if(p||m){var g=h(c,\"textfont\",u.font);p&&h(c,\"insidetextfont\",g),m&&h(c,\"outsidetextfont\",g)}o(t,e,c,r,u),s(t,e,i.defaultLine,{axis:\"y\"}),s(t,e,i.defaultLine,{axis:\"x\",inherit:\"y\"})}},{\"../../components/color\":576,\"../../components/errorbars/defaults\":604,\"../../lib\":681,\"../bar/style_defaults\":815,\"../scatter/xy_defaults\":946,\"./attributes\":804}],807:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/graph_interact\"),i=t(\"../../components/errorbars\"),a=t(\"../../components/color\");e.exports=function(t,e,r,o){var s,l=t.cd,u=l[0].trace,c=l[0].t,h=t.xa,f=t.ya,d=\"closest\"===o?c.barwidth/2:c.bargroupwidth/2;s=\"closest\"!==o?function(t){return t.p}:\"h\"===u.orientation?function(t){return t.y}:function(t){return t.x};var p,m;\"h\"===u.orientation?(p=function(t){return n.inbox(t.b-e,t.x-e)+(t.x-e)/(t.x-t.b)},m=function(t){var e=s(t)-r;return n.inbox(e-d,e+d)}):(m=function(t){return n.inbox(t.b-r,t.y-r)+(t.y-r)/(t.y-t.b)},p=function(t){var r=s(t)-e;return n.inbox(r-d,r+d)});var g=n.getDistanceFunction(o,p,m);if(n.getClosest(l,g,t),t.index!==!1){var v=l[t.index],y=v.mcc||u.marker.color,b=v.mlcc||u.marker.line.color,x=v.mlw||u.marker.line.width;a.opacity(y)?t.color=y:a.opacity(b)&&x&&(t.color=b);var _=u.base?v.b+v.s:v.s;return\"h\"===u.orientation?(t.x0=t.x1=h.c2p(v.x,!0),t.xLabelVal=_,t.y0=f.c2p(s(v)-d,!0),t.y1=f.c2p(s(v)+d,!0),t.yLabelVal=v.p):(t.y0=t.y1=f.c2p(v.y,!0),t.yLabelVal=_,t.x0=h.c2p(s(v)-d,!0),t.x1=h.c2p(s(v)+d,!0),t.xLabelVal=v.p),v.tx&&(t.text=v.tx),i.hoverInfo(v,u,t),[t]}}},{\"../../components/color\":576,\"../../components/errorbars\":605,\"../../plots/cartesian/graph_interact\":727}],808:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"./layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.calc=t(\"./calc\"),n.setPositions=t(\"./set_positions\"),n.colorbar=t(\"../scatter/colorbar\"),n.arraysToCalcdata=t(\"./arrays_to_calcdata\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"bar\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"bar\",\"oriented\",\"markerColorscale\",\"errorBarsOK\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":728,\"../scatter/colorbar\":927,\"./arrays_to_calcdata\":803,\"./attributes\":804,\"./calc\":805,\"./defaults\":806,\"./hover\":807,\"./layout_attributes\":809,\"./layout_defaults\":810,\"./plot\":811,\"./set_positions\":812,\"./style\":814}],809:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\"},bargap:{valType:\"number\",min:0,max:1},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0}}},{}],810:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"./layout_attributes\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,u=!1,c=!1,h={},f=0;f<r.length;f++){var d=r[f];if(n.traceIs(d,\"bar\")){if(l=!0,\"overlay\"!==t.barmode&&\"stack\"!==t.barmode){var p=d.xaxis+d.yaxis;h[p]&&(c=!0),h[p]=!0}if(d.visible&&\"histogram\"===d.type){\"category\"!==i.getFromId({_fullLayout:e},d[\"v\"===d.orientation?\"xaxis\":\"yaxis\"]).type&&(u=!0)}}}if(l){\"overlay\"!==s(\"barmode\")&&s(\"barnorm\"),s(\"bargap\",u&&!c?0:.2),s(\"bargroupgap\")}}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../../registry\":794,\"./layout_attributes\":809}],811:[function(t,e,r){\"use strict\";function n(t,e,r,n,o,f,d,p){function m(t,e,r){var n=t.append(\"text\").attr(\"data-notex\",1).text(e).attr({class:\"bartext\",transform:\"\",\"data-bb\":\"\",\"text-anchor\":\"middle\",x:0,y:0}).call(A.font,r);return n.call(w.convertToTspans),n.selectAll(\"tspan.line\").attr({x:0,y:0}),n}var g=r[0].trace,v=g.orientation,y=s(g,n);if(y){var b=l(g,n);if(\"none\"!==b){var x,_,M,k,T=u(g,n,t._fullLayout.font),E=c(g,n,T),S=h(g,n,T),L=t._fullLayout.barmode,C=\"stack\"===L,D=\"relative\"===L,z=C||D,P=r[n],O=!z||P._outmost,R=Math.abs(f-o)-2*I,F=Math.abs(p-d)-2*I;if(\"outside\"===b&&(O||(b=\"inside\")),\"auto\"===b)if(O){x=m(e,y,E),_=A.bBox(x.node()),M=_.width,k=_.height;var j=M>0&&k>0,N=M<=R&&k<=F,B=M<=F&&k<=R,U=\"h\"===v?R>=M*(F/k):F>=k*(R/M);j&&(N||B||U)?b=\"inside\":(b=\"outside\",x.remove(),x=null)}else b=\"inside\";if(!x&&(x=m(e,y,\"outside\"===b?S:E),_=A.bBox(x.node()),M=_.width,k=_.height,M<=0||k<=0))return void x.remove();var V;V=\"outside\"===b?a(o,f,d,p,_,v):i(o,f,d,p,_,v),x.attr(\"transform\",V)}}}function i(t,e,r,n,i,a){var s,l,u,c,h,f=i.width,d=i.height,p=(i.left+i.right)/2,m=(i.top+i.bottom)/2,g=Math.abs(e-t),v=Math.abs(n-r);g>2*I&&v>2*I?(h=I,g-=2*h,v-=2*h):h=0;var y,b;return f<=g&&d<=v?(y=!1,b=1):f<=v&&d<=g?(y=!0,b=1):f<d==g<v?(y=!1,b=Math.min(g/f,v/d)):(y=!0,b=Math.min(v/f,g/d)),y&&(y=90),y?(s=b*d,l=b*f):(s=b*f,l=b*d),\"h\"===a?e<t?(u=e+h+s/2,c=(r+n)/2):(u=e-h-s/2,c=(r+n)/2):n>r?(u=(t+e)/2,c=n-h-l/2):(u=(t+e)/2,c=n+h+l/2),o(p,m,u,c,b,y)}function a(t,e,r,n,i,a){var s,l=\"h\"===a?Math.abs(n-r):Math.abs(e-t);l>2*I&&(s=I,l-=2*s);var u,c,h,f,d=\"h\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width),p=(i.left+i.right)/2,m=(i.top+i.bottom)/2;return u=d*i.width,c=d*i.height,\"h\"===a?e<t?(h=e-s-u/2,f=(r+n)/2):(h=e+s+u/2,f=(r+n)/2):n>r?(h=(t+e)/2,f=n+s+c/2):(h=(t+e)/2,f=n-s-c/2),o(p,m,h,f,d,!1)}function o(t,e,r,n,i,a){var o,s;return i<1?o=\"scale(\"+i+\") \":(i=1,o=\"\"),s=a?\"rotate(\"+a+\" \"+t+\" \"+e+\") \":\"\",\"translate(\"+(r-i*t)+\" \"+(n-i*e)+\")\"+o+s}function s(t,e){return p(E,d(t.text,e))}function l(t,e){return m(S,d(t.textposition,e))}function u(t,e,r){return f(L,t.textfont,e,r)}function c(t,e,r){return f(C,t.insidetextfont,e,r)}function h(t,e,r){return f(D,t.outsidetextfont,e,r)}function f(t,e,r,n){e=e||{};var i=d(e.family,r),a=d(e.size,r),o=d(e.color,r);return{family:p(t.family,i,n.family),size:g(t.size,a,n.size),color:v(t.color,o,n.color)}}function d(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function p(t,e,r){if(\"string\"==typeof e){if(e||!t.noBlank)return e}else if(\"number\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}function m(t,e,r){return t.coerceNumber&&(e=+e),t.values.indexOf(e)!==-1?e:void 0!==r?r:t.dflt}function g(t,e,r){if(b(e)){e=+e;var n=t.min,i=t.max;if(!(void 0!==n&&e<n||void 0!==i&&e>i))return e}return void 0!==r?r:t.dflt}function v(t,e,r){return x(e).isValid()?e:void 0!==r?r:t.dflt}var y=t(\"d3\"),b=t(\"fast-isnumeric\"),x=t(\"tinycolor2\"),_=t(\"../../lib\"),w=t(\"../../lib/svg_text_utils\"),M=t(\"../../components/color\"),A=t(\"../../components/drawing\"),k=t(\"../../components/errorbars\"),T=t(\"./attributes\"),E=T.text,S=T.textposition,L=T.textfont,C=T.insidetextfont,D=T.outsidetextfont,I=3;e.exports=function(t,e,r){var i=e.xaxis,a=e.yaxis,o=t._fullLayout,s=e.plot.select(\".barlayer\").selectAll(\"g.trace.bars\").data(r);s.enter().append(\"g\").attr(\"class\",\"trace bars\"),s.append(\"g\").attr(\"class\",\"points\").each(function(e){var r=e[0].t,s=e[0].trace,l=r.poffset,u=Array.isArray(l),c=r.barwidth,h=Array.isArray(c);y.select(this).selectAll(\"g.point\").data(_.identity).enter().append(\"g\").classed(\"point\",!0).each(function(r,f){function d(t){return 0===o.bargap&&0===o.bargroupgap?y.round(Math.round(t)-E,2):t}function p(t,e){return Math.abs(t-e)>=2?d(t):t>e?Math.ceil(t):Math.floor(t)}var m,g,v,x,_=r.p+(u?l[f]:l),w=_+(h?c[f]:c),A=r.b,k=A+r.s;if(\"h\"===s.orientation?(v=a.c2p(_,!0),x=a.c2p(w,!0),m=i.c2p(A,!0),g=i.c2p(k,!0)):(m=i.c2p(_,!0),g=i.c2p(w,!0),v=a.c2p(A,!0),x=a.c2p(k,!0)),!(b(m)&&b(g)&&b(v)&&b(x)&&m!==g&&v!==x))return void y.select(this).remove();var T=(r.mlw+1||s.marker.line.width+1||(r.trace?r.trace.marker.line.width:0)+1)-1,E=y.round(T/2%1,2);if(!t._context.staticPlot){var S=M.opacity(r.mc||s.marker.color),L=S<1||T>.01?d:p;m=L(m,g),g=L(g,m),v=L(v,x),x=L(x,v)}var C=y.select(this);C.append(\"path\").attr(\"d\",\"M\"+m+\",\"+v+\"V\"+x+\"H\"+g+\"V\"+v+\"Z\"),n(t,C,e,f,m,g,v,x)})}),s.call(k.plot,e)}},{\"../../components/color\":576,\"../../components/drawing\":599,\"../../components/errorbars\":605,\"../../lib\":681,\"../../lib/svg_text_utils\":700,\"./attributes\":804,d3:104,\"fast-isnumeric\":113,tinycolor2:512}],812:[function(t,e,r){\"use strict\";function n(t,e,r,n){if(n.length){var s,l,u,c,h,f=t._fullLayout.barmode,d=\"overlay\"===f,p=\"group\"===f;if(d)i(t,e,r,n);else if(p){for(s=[],l=[],u=0;u<n.length;u++)c=n[u],h=c[0].trace,void 0===h.offset?l.push(c):s.push(c);l.length&&a(t,e,r,l),s.length&&i(t,e,r,s)}else{for(s=[],l=[],u=0;u<n.length;u++)c=n[u],h=c[0].trace,void 0===h.base?l.push(c):s.push(c);l.length&&o(t,e,r,l),s.length&&i(t,e,r,s)}}}function i(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var l=n[o],u=new _([l],!1,a);s(t,e,u),i?(m(t,r,u),g(t,r,u)):d(t,r,u)}}function a(t,e,r,n){var i=t._fullLayout,a=i.barnorm,o=!a,s=new _(n,!1,o);l(t,e,s),a?(m(t,r,s),g(t,r,s)):d(t,r,s)}function o(t,e,r,n){var i=t._fullLayout,a=i.barmode,o=\"stack\"===a,l=\"relative\"===a,u=t._fullLayout.barnorm,c=l,h=!(u||o||l),f=new _(n,c,h);s(t,e,f),p(t,r,f);for(var d=0;d<n.length;d++)for(var m=n[d],v=0;v<m.length;v++){var b=m[v];if(y(b.s)){var x=b.b+b.s===f.get(b.p,b.s);x&&(b._outmost=!0)}}u&&g(t,r,f)}function s(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,f=s.bargroupgap,d=r.minDiff,p=r.traces,m=d*(1-l),g=m,v=g*(1-f),y=-v/2;for(n=0;n<p.length;n++)i=p[n],a=i[0],o=a.t,o.barwidth=v,o.poffset=y,o.bargroupwidth=m;r.binWidth=p[0][0].t.barwidth/100,u(r),c(t,e,r),h(t,e,r)}function l(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,f=s.bargroupgap,d=r.positions,p=r.distinctPositions,m=r.minDiff,g=r.traces,v=d.length!==p.length,y=g.length,b=m*(1-l),x=v?b/y:b,_=x*(1-f);for(n=0;n<y;n++){i=g[n],a=i[0];var w=v?((2*n+1-y)*x-_)/2:-_/2;o=a.t,o.barwidth=_,o.poffset=w,o.bargroupwidth=b}r.binWidth=g[0][0].t.barwidth/100,u(r),c(t,e,r),h(t,e,r,v)}function u(t){var e,r,n,i,a,o,s=t.traces;for(e=0;e<s.length;e++){r=s[e],n=r[0],i=n.trace,o=n.t;var l,u=i.offset,c=o.poffset;if(Array.isArray(u)){for(l=u.slice(0,r.length),a=0;a<l.length;a++)y(l[a])||(l[a]=c);for(a=l.length;a<r.length;a++)l.push(c);o.poffset=l}else void 0!==u&&(o.poffset=u);var h=i.width,f=o.barwidth;if(Array.isArray(h)){var d=h.slice(0,r.length);for(a=0;a<d.length;a++)y(d[a])||(d[a]=f);for(a=d.length;a<r.length;a++)d.push(f);if(o.barwidth=d,void 0===u){for(l=[],a=0;a<r.length;a++)l.push(c+(f-d[a])/2);o.poffset=l}}else void 0!==h&&(o.barwidth=h,void 0===u&&(o.poffset=c+(f-h)/2))}}function c(t,e,r){for(var n=r.traces,i=v(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,u=Array.isArray(l),c=s.barwidth,h=Array.isArray(c),f=0;f<o.length;f++){var d=o[f];d[i]=d.p+(u?l[f]:l)+(h?c[f]:c)/2}}function h(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;x.minDtick(e,s,o,n);for(var u=Math.min.apply(Math,a)-l,c=Math.max.apply(Math,a)+l,h=0;h<i.length;h++){var f=i[h],d=f[0],p=d.trace;if(void 0!==p.width||void 0!==p.offset)for(var m=d.t,g=m.poffset,v=m.barwidth,y=Array.isArray(g),b=Array.isArray(v),_=0;_<f.length;_++){var w=f[_],M=y?g[_]:g,A=b?v[_]:v,k=w.p,T=k+M,E=T+A;u=Math.min(u,T),c=Math.max(c,E)}}x.expand(e,[u,c],{padded:!1})}function f(t,e){y(t[0])?t[0]=Math.min(t[0],e):t[0]=e,y(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function d(t,e,r){for(var n=r.traces,i=v(e),a=e.l2c(e.c2l(0)),o=[a,a],s=0;s<n.length;s++)for(var l=n[s],u=0;u<l.length;u++){var c=l[u],h=c.b,d=h+c.s;c[i]=d,y(e.c2l(d))&&f(o,d),y(e.c2l(h))&&f(o,h)}x.expand(e,o,{tozero:!0,padded:!0})}function p(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.barnorm,u=v(e),c=r.traces,h=e.l2c(e.c2l(0)),d=[h,h];for(n=0;n<c.length;n++)for(i=c[n],a=0;a<i.length;a++)if(o=i[a],y(o.s)){var p=r.put(o.p,o.b+o.s),m=p+o.b+o.s;o.b=p,o[u]=m,l||(y(e.c2l(m))&&f(d,m),y(e.c2l(p))&&f(d,p))}l||x.expand(e,d,{tozero:!0,padded:!0})}function m(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var a=n[i],o=0;o<a.length;o++){var s=a[o];y(s.s)&&r.put(s.p,s.b+s.s)}}function g(t,e,r){function n(t){y(e.c2l(t))&&(t<l-s||t>u+s||!y(l))&&(h=!0,f(c,t))}for(var i=r.traces,a=v(e),o=\"fraction\"===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=\"stack\"===t._fullLayout.barmode?o:l,c=[l,u],h=!1,d=0;d<i.length;d++)for(var p=i[d],m=0;m<p.length;m++){var g=p[m];if(y(g.s)){var b=Math.abs(o/r.get(g.p,g.s));g.b*=b,g.s*=b;var _=g.b,w=_+g.s;g[a]=w,n(w),n(_)}}x.expand(e,c,{tozero:!0,padded:h})}function v(t){return t._id.charAt(0)}var y=t(\"fast-isnumeric\"),b=t(\"../../registry\"),x=t(\"../../plots/cartesian/axes\"),_=t(\"./sieve.js\");e.exports=function(t,e){var r,i=e.xaxis,a=e.yaxis,o=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<o.length;r++){var c=o[r];c.visible===!0&&b.traceIs(c,\"bar\")&&c.xaxis===i._id&&c.yaxis===a._id&&!s[r][0].placeholder&&(\"h\"===c.orientation?l.push(s[r]):u.push(s[r]))}n(t,i,a,u),n(t,a,i,l)}},{\"../../plots/cartesian/axes\":720,\"../../registry\":794,\"./sieve.js\":813,\"fast-isnumeric\":113}],813:[function(t,e,r){\"use strict\";function n(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=[],a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];n.push(l.p)}this.positions=n;var u=i.distinctVals(this.positions);this.distinctPositions=u.vals,this.minDiff=u.minDiff,this.binWidth=this.minDiff,this.bins={}}e.exports=n;var i=t(\"../../lib\");n.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},n.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},n.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\"v\":\"^\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{\"../../lib\":681}],814:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\"),o=t(\"../../components/errorbars\");e.exports=function(t){var e=n.select(t).selectAll(\"g.trace.bars\"),r=e.size(),s=t._fullLayout;e.style(\"opacity\",function(t){return t[0].trace.opacity}).each(function(t){(\"stack\"===s.barmode&&r>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")}),e.selectAll(\"g.points\").each(function(t){var e=t[0].trace,r=e.marker,o=r.line,s=a.tryColorscale(r,\"\"),l=a.tryColorscale(r,\"line\");n.select(this).selectAll(\"path\").each(function(t){var e,a,u=(t.mlw+1||o.width+1)-1,c=n.select(this);e=\"mc\"in t?t.mcc=s(t.mc):Array.isArray(r.color)?i.defaultLine:r.color,c.style(\"stroke-width\",u+\"px\").call(i.fill,e),u&&(a=\"mlc\"in t?t.mlcc=l(t.mlc):Array.isArray(o.color)?i.defaultLine:o.color,c.call(i.stroke,a))})}),e.call(o.style)}},{\"../../components/color\":576,\"../../components/drawing\":599,\"../../components/errorbars\":605,d3:104}],815:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s){r(\"marker.color\",o),i(t,\"marker\")&&a(t,e,s,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\")}},{\"../../components/color\":576,\"../../components/colorscale/defaults\":585,\"../../components/colorscale/has_colorscale\":589}],816:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:\"data_array\"},x:{valType:\"data_array\"},x0:{valType:\"any\"},y0:{valType:\"any\"},xcalendar:n.xcalendar,ycalendar:n.ycalendar,whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],dflt:\"outliers\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],dflt:!1},jitter:{valType:\"number\",min:0,max:1},pointpos:{valType:\"number\",min:-2,max:2},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"]},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\"},symbol:a({},o.symbol,{arrayOk:!1}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1}),size:a({},o.size,{arrayOk:!1}),color:a({},o.color,{arrayOk:!1}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine}),width:a({},s.width,{arrayOk:!1,dflt:0}),outliercolor:{valType:\"color\"},outlierwidth:{valType:\"number\",min:0,dflt:1}}},line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:2}},fillcolor:n.fillcolor}},{\"../../components/color/attributes\":575,\"../../lib/extend\":673,\"../scatter/attributes\":924}],817:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\");e.exports=function(t,e){var r,o,s,l,u,c,h,f,d,p=a.getFromId(t,e.xaxis||\"x\"),m=a.getFromId(t,e.yaxis||\"y\"),g=e.orientation,v=[];\"h\"===g?(r=p,o=\"x\",u=m,c=\"y\"):(r=m,o=\"y\",u=p,c=\"x\"),s=r.makeCalcdata(e,o),a.expand(r,s,{padded:!0}),h=function(t,e,r,a,o){var s;return r in e?h=a.makeCalcdata(e,r):(s=r+\"0\"in e?e[r+\"0\"]:\"name\"in e&&(\"category\"===a.type||n(e.name)&&[\"linear\",\"log\"].indexOf(a.type)!==-1||i.isDateTime(e.name)&&\"date\"===a.type)?e.name:t.numboxes,s=a.d2c(s,0,e[r+\"calendar\"]),h=o.map(function(){return s})),h}(t,e,c,u,s);var y=i.distinctVals(h);return f=y.vals,d=y.minDiff/2,l=function(t,e,r,a,o){var s,l,u,c,h=a.length,f=e.length,d=[],p=[];for(s=0;s<h;++s)l=a[s],t[s]={pos:l},p[s]=l-o,d[s]=[];for(p.push(a[h-1]+o),s=0;s<f;++s)c=e[s],n(c)&&(u=i.findBin(r[s],p))>=0&&u<f&&d[u].push(c);return d}(v,s,h,f,d),function(t,e){var r,n,a,o;for(o=0;o<e.length;++o)r=e[o].sort(i.sorterAsc),n=r.length,a=t[o],a.val=r,a.min=r[0],a.max=r[n-1],a.mean=i.mean(r,n),a.sd=i.stdev(r,n,a.mean),a.q1=i.interp(r,.25),a.med=i.interp(r,.5),a.q3=i.interp(r,.75),a.lf=Math.min(a.q1,r[Math.min(i.findBin(2.5*a.q1-1.5*a.q3,r,!0)+1,n-1)]),a.uf=Math.max(a.q3,r[Math.max(i.findBin(2.5*a.q3-1.5*a.q1,r),0)]),a.lo=4*a.q1-3*a.q3,a.uo=4*a.q3-3*a.q1}(v,l),v=v.filter(function(t){return t.val&&t.val.length}),v.length?(v[0].t={boxnum:t.numboxes,dPos:d},t.numboxes++,v):[{t:{emptybox:!0}}]}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"fast-isnumeric\":113}],818:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}var u,c=l(\"y\"),h=l(\"x\");if(c&&c.length)u=\"v\",h||l(\"x0\");else{if(!h||!h.length)return void(e.visible=!1);u=\"h\",l(\"y0\")}i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],s),l(\"orientation\",u),l(\"line.color\",(t.marker||{}).color||r),l(\"line.width\",2),l(\"fillcolor\",a.addOpacity(e.line.color,.5)),l(\"whiskerwidth\"),l(\"boxmean\");var f=n.coerce2(t,e,o,\"marker.outliercolor\"),d=l(\"marker.line.outliercolor\"),p=f||d?l(\"boxpoints\",\"suspectedoutliers\"):l(\"boxpoints\");p&&(l(\"jitter\",\"all\"===p?.3:0),l(\"pointpos\",\"all\"===p?-1.5:0),l(\"marker.symbol\"),l(\"marker.opacity\"),l(\"marker.size\"),l(\"marker.color\",e.line.color),l(\"marker.line.color\"),l(\"marker.line.width\"),\"suspectedoutliers\"===p&&(l(\"marker.line.outliercolor\",e.marker.color),l(\"marker.line.outlierwidth\")))}},{\"../../components/color\":576,\"../../lib\":681,\"../../registry\":794,\"./attributes\":816}],819:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/cartesian/graph_interact\"),a=t(\"../../lib\"),o=t(\"../../components/color\");e.exports=function(t,e,r,s){var l,u,c,h,f,d,p,m,g,v=t.cd,y=v[0].trace,b=v[0].t,x=t.xa,_=t.ya,w=[];if(h=\"closest\"===s?2.5*b.bdPos:b.bdPos,\"h\"===y.orientation?(l=function(t){return i.inbox(t.min-e,t.max-e)},u=function(t){var e=t.pos+b.bPos-r;return i.inbox(e-h,e+h)},f=\"y\",d=_,m=\"x\",g=x):(l=function(t){var r=t.pos+b.bPos-e;return i.inbox(r-h,r+h)},u=function(t){return i.inbox(t.min-r,t.max-r)},f=\"x\",d=x,m=\"y\",g=_),c=i.getDistanceFunction(s,l,u),i.getClosest(v,c,t),t.index!==!1){var M=v[t.index],A=y.line.color,k=(y.marker||{}).color;o.opacity(A)&&y.line.width?t.color=A:o.opacity(k)&&y.boxpoints?t.color=k:t.color=y.fillcolor,t[f+\"0\"]=d.c2p(M.pos+b.bPos-b.bdPos,!0),t[f+\"1\"]=d.c2p(M.pos+b.bPos+b.bdPos,!0),n.tickText(d,d.c2l(M.pos),\"hover\").text,t[f+\"LabelVal\"]=M.pos;var T,E,S={},L=[\"med\",\"min\",\"q1\",\"q3\",\"max\"];y.boxmean&&L.push(\"mean\"),y.boxpoints&&[].push.apply(L,[\"lf\",\"uf\"]);for(var C=0;C<L.length;C++)(T=L[C])in M&&!(M[T]in S)&&(S[M[T]]=!0,p=g.c2p(M[T],!0),E=a.extendFlat({},t),E[m+\"0\"]=E[m+\"1\"]=p,E[m+\"LabelVal\"]=M[T],E.attr=T,\"mean\"===T&&\"sd\"in M&&\"sd\"===y.boxmean&&(E[m+\"err\"]=M.sd),t.name=\"\",w.push(E));return w}}},{\"../../components/color\":576,\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../../plots/cartesian/graph_interact\":727}],820:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"./layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.calc=t(\"./calc\"),n.setPositions=t(\"./set_positions\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"box\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"symbols\",\"oriented\",\"box\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":728,\"./attributes\":816,\"./calc\":817,\"./defaults\":818,\"./hover\":819,\"./layout_attributes\":821,\"./layout_defaults\":822,\"./plot\":823,\"./set_positions\":824,\"./style\":825}],821:[function(t,e,r){\"use strict\";e.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3}}},{}],822:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./layout_attributes\");e.exports=function(t,e,r){function o(r,n){return i.coerce(t,e,a,r,n)}for(var s,l=0;l<r.length;l++)if(n.traceIs(r[l],\"box\")){s=!0;break}s&&(o(\"boxmode\"),o(\"boxgap\"),o(\"boxgroupgap\"))}},{\"../../lib\":681,\"../../registry\":794,\"./layout_attributes\":821}],823:[function(t,e,r){\"use strict\";function n(){l=2e9}function i(){var t=l;return l=(69069*l+1)%4294967296,Math.abs(l-t)<429496729?i():l/4294967296}var a=t(\"d3\"),o=t(\"../../lib\"),s=t(\"../../components/drawing\"),l=2e9;e.exports=function(t,e,r){var l,u,c=t._fullLayout,h=e.xaxis,f=e.yaxis;e.plot.select(\".boxlayer\").selectAll(\"g.trace.boxes\").data(r).enter().append(\"g\").attr(\"class\",\"trace boxes\").each(function(e){var r=e[0].t,d=e[0].trace,p=\"group\"===c.boxmode&&t.numboxes>1,m=r.dPos*(1-c.boxgap)*(1-c.boxgroupgap)/(p?t.numboxes:1),g=p?2*r.dPos*(-.5+(r.boxnum+.5)/t.numboxes)*(1-c.boxgap):0,v=m*d.whiskerwidth;if(d.visible!==!0||r.emptybox)return void a.select(this).remove();\"h\"===d.orientation?(l=f,u=h):(l=h,u=f),r.bPos=g,r.bdPos=m,n(),a.select(this).selectAll(\"path.box\").data(o.identity).enter().append(\"path\").attr(\"class\",\"box\").each(function(t){var e=l.c2p(t.pos+g,!0),r=l.c2p(t.pos+g-m,!0),n=l.c2p(t.pos+g+m,!0),i=l.c2p(t.pos+g-v,!0),s=l.c2p(t.pos+g+v,!0),c=u.c2p(t.q1,!0),h=u.c2p(t.q3,!0),f=o.constrain(u.c2p(t.med,!0),Math.min(c,h)+1,Math.max(c,h)-1),p=u.c2p(d.boxpoints===!1?t.min:t.lf,!0),y=u.c2p(d.boxpoints===!1?t.max:t.uf,!0);\"h\"===d.orientation?a.select(this).attr(\"d\",\"M\"+f+\",\"+r+\"V\"+n+\"M\"+c+\",\"+r+\"V\"+n+\"H\"+h+\"V\"+r+\"ZM\"+c+\",\"+e+\"H\"+p+\"M\"+h+\",\"+e+\"H\"+y+(0===d.whiskerwidth?\"\":\"M\"+p+\",\"+i+\"V\"+s+\"M\"+y+\",\"+i+\"V\"+s)):a.select(this).attr(\"d\",\"M\"+r+\",\"+f+\"H\"+n+\"M\"+r+\",\"+c+\"H\"+n+\"V\"+h+\"H\"+r+\"ZM\"+e+\",\"+c+\"V\"+p+\"M\"+e+\",\"+h+\"V\"+y+(0===d.whiskerwidth?\"\":\"M\"+i+\",\"+p+\"H\"+s+\"M\"+i+\",\"+y+\"H\"+s))}),d.boxpoints&&a.select(this).selectAll(\"g.points\").data(function(t){return t.forEach(function(t){t.t=r,t.trace=d}),t}).enter().append(\"g\").attr(\"class\",\"points\").selectAll(\"path\").data(function(t){var e,r,n,a,s,l,u,c=\"all\"===d.boxpoints?t.val:t.val.filter(function(e){return e<t.lf||e>t.uf}),h=Math.max((t.max-t.min)/10,t.q3-t.q1),f=1e-9*h,p=.01*h,v=[],y=0;if(d.jitter){if(0===h)for(y=1,v=new Array(c.length),e=0;e<c.length;e++)v[e]=1;else for(e=0;e<c.length;e++)r=Math.max(0,e-5),a=c[r],n=Math.min(c.length-1,e+5),s=c[n],\"all\"!==d.boxpoints&&(c[e]<t.lf?s=Math.min(s,t.lf):a=Math.max(a,t.uf)),l=Math.sqrt(p*(n-r)/(s-a+f))||0,l=o.constrain(Math.abs(l),0,1),v.push(l),y=Math.max(l,y);u=2*d.jitter/y}return c.map(function(e,r){var n,a=d.pointpos;return d.jitter&&(a+=u*v[r]*(i()-.5)),n=\"h\"===d.orientation?{y:t.pos+a*m+g,x:e}:{x:t.pos+a*m+g,y:e},\"suspectedoutliers\"===d.boxpoints&&e<t.uo&&e>t.lo&&(n.so=!0),n})}).enter().append(\"path\").call(s.translatePoints,h,f),d.boxmean&&a.select(this).selectAll(\"path.mean\").data(o.identity).enter().append(\"path\").attr(\"class\",\"mean\").style(\"fill\",\"none\").each(function(t){var e=l.c2p(t.pos+g,!0),r=l.c2p(t.pos+g-m,!0),n=l.c2p(t.pos+g+m,!0),i=u.c2p(t.mean,!0),o=u.c2p(t.mean-t.sd,!0),s=u.c2p(t.mean+t.sd,!0);\"h\"===d.orientation?a.select(this).attr(\"d\",\"M\"+i+\",\"+r+\"V\"+n+(\"sd\"!==d.boxmean?\"\":\"m0,0L\"+o+\",\"+e+\"L\"+i+\",\"+r+\"L\"+s+\",\"+e+\"Z\")):a.select(this).attr(\"d\",\"M\"+r+\",\"+i+\"H\"+n+(\"sd\"!==d.boxmean?\"\":\"m0,0L\"+e+\",\"+o+\"L\"+r+\",\"+i+\"L\"+e+\",\"+s+\"Z\"))})})}},{\"../../components/drawing\":599,\"../../lib\":681,d3:104}],824:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\");e.exports=function(t,e){var r,o,s,l,u=t._fullLayout,c=e.xaxis,h=e.yaxis,f=[\"v\",\"h\"];for(o=0;o<f.length;++o){var d,p,m,g=f[o],v=[],y=[],b=0,x=0;for(r=\"h\"===g?h:c,s=0;s<t.calcdata.length;++s)d=t.calcdata[s],p=d[0].t,m=d[0].trace,m.visible===!0&&n.traceIs(m,\"box\")&&!p.emptybox&&m.orientation===g&&m.xaxis===c._id&&m.yaxis===h._id&&(v.push(s),m.boxpoints!==!1&&(b=Math.max(b,m.jitter-m.pointpos-1),x=Math.max(x,m.jitter+m.pointpos-1)));for(s=0;s<v.length;s++)for(d=t.calcdata[v[s]],l=0;l<d.length;l++)y.push(d[l].pos);if(y.length){var _=a.distinctVals(y),w=_.minDiff/2;for(y.length===_.vals.length&&(t.numboxes=1),i.minDtick(r,_.minDiff,_.vals[0],!0),o=0;o<v.length;o++){var M=v[o];t.calcdata[M][0].t.dPos=w}var A=(1-u.boxgap)*(1-u.boxgroupgap)*w/t.numboxes;i.expand(r,_.vals,{vpadminus:w+b*A,vpadplus:w+x*A})}}}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../../registry\":794}],825:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\");e.exports=function(t){n.select(t).selectAll(\"g.trace.boxes\").style(\"opacity\",function(t){return t[0].trace.opacity}).each(function(t){var e=t[0].trace,r=e.line.width;n.select(this).selectAll(\"path.box\").style(\"stroke-width\",r+\"px\").call(i.stroke,e.line.color).call(i.fill,e.fillcolor),n.select(this).selectAll(\"path.mean\").style({\"stroke-width\":r,\"stroke-dasharray\":2*r+\"px,\"+r+\"px\"}).call(i.stroke,e.line.color),n.select(this).selectAll(\"g.points path\").call(a.pointStyle,e)})}},{\"../../components/color\":576,\"../../components/drawing\":599,d3:104}],826:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../ohlc/attributes\"),a=t(\"../box/attributes\"),o={name:i.increasing.name,showlegend:i.increasing.showlegend,line:{color:n.extendFlat({},a.line.color),width:n.extendFlat({},a.line.width)},fillcolor:n.extendFlat({},a.fillcolor)};e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n.extendFlat({},a.line.width,{})},increasing:n.extendDeep({},o,{line:{color:{dflt:i.increasing.line.color.dflt}}}),decreasing:n.extendDeep({},o,{line:{color:{dflt:i.decreasing.line.color.dflt}}}),text:i.text,whiskerwidth:n.extendFlat({},a.whiskerwidth,{dflt:0})}},{\"../../lib\":681,\"../box/attributes\":816,\"../ohlc/attributes\":891}],827:[function(t,e,r){\"use strict\";function n(t,e,r,n){o(t,e,r,n),r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".fillcolor\")}var i=t(\"../../lib\"),a=t(\"../ohlc/ohlc_defaults\"),o=t(\"../ohlc/direction_defaults\"),s=t(\"../ohlc/helpers\"),l=t(\"./attributes\");e.exports=function(t,e,r,o){function u(r,n){return i.coerce(t,e,l,r,n)}if(s.pushDummyTransformOpts(t,e),0===a(t,e,u,o))return void(e.visible=!1);u(\"line.width\"),n(t,e,u,\"increasing\"),n(t,e,u,\"decreasing\"),u(\"text\"),u(\"whiskerwidth\")}},{\"../../lib\":681,\"../ohlc/direction_defaults\":893,\"../ohlc/helpers\":894,\"../ohlc/ohlc_defaults\":896,\"./attributes\":826}],828:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/register\");e.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"showLegend\",\"candlestick\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\")},n(t(\"../box\")),n(t(\"./transform\"))},{\"../../plot_api/register\":710,\"../../plots/cartesian\":728,\"../box\":820,\"./attributes\":826,\"./defaults\":827,\"./transform\":829}],829:[function(t,e,r){\"use strict\";function n(t,e,r){var n={type:\"box\",boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:a.makeTransform(t,e,r)},o=t[r];return o&&i.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:o.name,showlegend:o.showlegend,line:o.line,fillcolor:o.fillcolor}),n}var i=t(\"../../lib\"),a=t(\"../ohlc/helpers\");r.moduleType=\"transform\",r.name=\"candlestick\",r.attributes={},r.supplyDefaults=function(t,e,r,n){return a.clearEphemeralTransformOpts(n),a.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i<t.length;i++){var o=t[i];\"candlestick\"===o.type?r.push(n(o,e,\"increasing\"),n(o,e,\"decreasing\")):r.push(o)}return a.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){for(var n=r.direction,i=a.getFilterFn(n),o=e.open,s=e.high,l=e.low,u=e.close,c=o.length,h=[],f=[],d=e._fullInput.x?function(t){var r=e.x[t];h.push(r,r,r,r,r,r)}:function(t){h.push(t,t,t,t,t,t)},p=0;p<c;p++)i(o[p],u[p])&&(d(p),function(t,e,r,n){f.push(r,t,n,n,n,e)}(o[p],s[p],l[p],u[p]));e.x=h,e.y=f}},{\"../../lib\":681,\"../ohlc/helpers\":894}],830:[function(t,e,r){\"use strict\";var n=t(\"../scattergeo/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker.line;e.exports=s({},{locations:{valType:\"data_array\"},locationmode:n.locationmode,z:{valType:\"data_array\"},text:{valType:\"data_array\"},marker:{line:{color:l.color,width:s({},l.width,{dflt:1})}},hoverinfo:s({},o.hoverinfo,{flags:[\"location\",\"z\",\"text\",\"name\"]})},i,{colorbar:a})},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/attributes\":581,\"../../lib/extend\":673,\"../../plots/attributes\":718,\"../scattergeo/attributes\":953}],831:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){n(e,e.z,\"\",\"z\")}},{\"../../components/colorscale/calc\":582}],832:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l,u=s(\"locations\");if(u&&(l=u.length),!u||!l)return void(e.visible=!1);var c=s(\"z\");if(!Array.isArray(c))return void(e.visible=!1);c.length>l&&(e.z=c.slice(0,l)),s(\"locationmode\"),s(\"text\"),s(\"marker.line.color\"),s(\"marker.line.width\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"}),s(\"hoverinfo\",1===o._dataLength?\"location+z+text\":void 0)}},{\"../../components/colorscale/defaults\":585,\"../../lib\":681,\"./attributes\":830}],833:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],834:[function(t,e,r){\"use strict\";function n(t,e,r,n){var o=e.hoverinfo,s=\"all\"===o?a.hoverinfo.flags:o.split(\"+\"),l=s.indexOf(\"name\")!==-1,u=s.indexOf(\"location\")!==-1,c=s.indexOf(\"z\")!==-1,h=s.indexOf(\"text\")!==-1,f=!l&&u,d=[];f?t.nameOverride=r.id:(l&&(t.nameOverride=e.name),u&&d.push(r.id)),c&&d.push(function(t){return i.tickText(n,n.c2l(t),\"hover\").text}(r.z)),h&&d.push(r.tx),t.extraText=d.join(\"<br>\")}var i=t(\"../../plots/cartesian/axes\"),a=t(\"./attributes\");e.exports=function(t){var e=t.cd,r=e[0].trace,i=t.subplot,a=i.choroplethHoverPt;if(a){var o=i.projection(a.properties.ct);return t.x0=t.x1=o[0],t.y0=t.y1=o[1],t.index=a.index,t.location=a.id,t.z=a.z,n(t,r,a,i.mockAxis),[t]}}},{\"../../plots/cartesian/axes\":720,\"./attributes\":830}],835:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),\nn.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"choropleth\",n.basePlotModule=t(\"../../plots/geo\"),n.categories=[\"geo\",\"noOpacity\"],n.meta={},e.exports=n},{\"../../plots/geo\":744,\"../heatmap/colorbar\":854,\"./attributes\":830,\"./calc\":831,\"./defaults\":832,\"./event_data\":833,\"./hover\":834,\"./plot\":836}],836:[function(t,e,r){\"use strict\";function n(t,e){for(var r,n=[],i=t.locations,a=i.length,o=u(t,e),s=(t.marker||{}).line||{},l=0;l<a;l++)(r=c(t.locationmode,i[l],o))&&(r.z=t.z[l],void 0!==t.text&&(r.tx=t.text[l]),h(s.color,r,\"mlc\",l),h(s.width,r,\"mlw\",l),r.index=l,n.push(r));return n.length>0&&(n[0].trace=t),n}function i(t){t.framework.selectAll(\"g.trace.choropleth\").each(function(t){var e=t[0].trace,r=a.select(this),n=e.marker||{},i=n.line||{},u=l.makeColorScaleFunc(l.extractScale(e.colorscale,e.zmin,e.zmax));r.selectAll(\"path.choroplethlocation\").each(function(t){a.select(this).attr(\"fill\",function(t){return u(t.z)}).call(o.stroke,t.mlc||i.color).call(s.dashLine,\"\",t.mlw||i.width||0)})})}var a=t(\"d3\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"../../components/colorscale\"),u=t(\"../../lib/topojson_utils\").getTopojsonFeatures,c=t(\"../../lib/geo_location_utils\").locationToFeature,h=t(\"../../lib/array_to_calc_item\"),f=t(\"../../plots/geo/constants\");e.exports=function(t,e,r){function o(t){return t[0].trace.uid}var s,l=t.framework,u=l.select(\"g.choroplethlayer\"),c=l.select(\"g.baselayer\"),h=l.select(\"g.baselayeroverchoropleth\"),d=f.baseLayersOverChoropleth,p=u.selectAll(\"g.trace.choropleth\").data(e,o);p.enter().append(\"g\").attr(\"class\",\"trace choropleth\"),p.exit().remove(),p.each(function(e){var r=e[0].trace,i=n(r,t.topojson),o=a.select(this).selectAll(\"path.choroplethlocation\").data(i);o.enter().append(\"path\").classed(\"choroplethlocation\",!0).on(\"mouseover\",function(e){t.choroplethHoverPt=e}).on(\"mouseout\",function(){t.choroplethHoverPt=null}),o.exit().remove()}),h.selectAll(\"*\").remove();for(var m=0;m<d.length;m++)s=d[m],c.select(\"g.\"+s).remove(),t.drawTopo(h,s,r),t.styleLayer(h,s,r);i(t)}},{\"../../components/color\":576,\"../../components/colorscale\":590,\"../../components/drawing\":599,\"../../lib/array_to_calc_item\":668,\"../../lib/geo_location_utils\":676,\"../../lib/topojson_utils\":702,\"../../plots/geo/constants\":742,d3:104}],837:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=i.line;e.exports=s({},{z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,connectgaps:n.connectgaps,autocontour:{valType:\"boolean\",dflt:!0},ncontours:{valType:\"integer\",dflt:15,min:1},contours:{start:{valType:\"number\",dflt:null},end:{valType:\"number\",dflt:null},size:{valType:\"number\",dflt:null,min:0},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\"},showlines:{valType:\"boolean\",dflt:!0}},line:{color:s({},l.color,{}),width:l.width,dash:l.dash,smoothing:s({},l.smoothing,{})}},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/attributes\":581,\"../../lib/extend\":673,\"../heatmap/attributes\":851,\"../scatter/attributes\":924}],838:[function(t,e,r){\"use strict\";function n(t,e,r){var n={type:\"linear\",range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\").extendFlat,o=t(\"../heatmap/calc\");e.exports=function(t,e){var r=o(t,e),s=e.contours;if(e.autocontour!==!1){var l=n(e.zmin,e.zmax,e.ncontours);s.size=l.dtick,s.start=i.tickFirst(l),l.range.reverse(),s.end=i.tickFirst(l),s.start===e.zmin&&(s.start+=s.size),s.end===e.zmax&&(s.end-=s.size),s.start>s.end&&(s.start=s.end=(s.start+s.end)/2),e._input.contours||(e._input.contours={}),a(e._input.contours,{start:s.start,end:s.end,size:s.size}),e._input.autocontour=!0}else{var u=s.start,c=s.end,h=e._input.contours;if(u>c&&(s.start=h.start=c,c=s.end=h.end=u,u=s.start),!(s.size>0)){var f;f=u===c?1:n(u,c,e.ncontours).dtick,h.size=s.size=f}}return r}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../heatmap/calc\":852}],839:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\"),i=t(\"../../components/colorbar/draw\"),a=t(\"./make_color_map\"),o=t(\"./end_plus\");e.exports=function(t,e){var r=e[0].trace,s=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+s).remove(),r.showscale===!1)return void n.autoMargin(t,s);var l=i(t,s);e[0].t.cb=l;var u=r.contours,c=r.line,h=u.size||1,f=u.coloring,d=a(r,{isColorbar:!0});\"heatmap\"===f&&l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(\"fill\"===f||\"heatmap\"===f?d:\"\").line({color:\"lines\"===f?d:c.color,width:u.showlines!==!1?c.width:0,dash:c.dash}).levels({start:u.start,end:o(u),size:h}).options(r.colorbar)()}},{\"../../components/colorbar/draw\":579,\"../../plots/plots\":779,\"./end_plus\":842,\"./make_color_map\":846}],840:[function(t,e,r){\"use strict\";e.exports.BOTTOMSTART=[1,9,13,104,713],e.exports.TOPSTART=[4,6,7,104,713],e.exports.LEFTSTART=[8,12,14,208,1114],e.exports.RIGHTSTART=[2,3,11,208,1114],e.exports.NEWDELTA=[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],e.exports.CHOOSESADDLE={104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},e.exports.SADDLEREMAINDER={1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11}},{}],841:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/has_columns\"),a=t(\"../heatmap/xyz_defaults\"),o=t(\"../contour/style_defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,s,r,i)}if(!a(t,e,u,l))return void(e.visible=!1);u(\"text\"),u(\"connectgaps\",i(e));var c,h=n.coerce2(t,e,s,\"contours.start\"),f=n.coerce2(t,e,s,\"contours.end\"),d=h===!1||f===!1,p=u(\"contours.size\");c=d?e.autocontour=!0:u(\"autocontour\",!1),!c&&p||u(\"ncontours\"),o(t,e,u,l)}},{\"../../lib\":681,\"../contour/style_defaults\":850,\"../heatmap/has_columns\":858,\"../heatmap/xyz_defaults\":866,\"./attributes\":837}],842:[function(t,e,r){\"use strict\";e.exports=function(t){return t.end+t.size/1e6}},{}],843:[function(t,e,r){\"use strict\";function n(t,e){return Math.abs(t[0]-e[0])<.01&&Math.abs(t[1]-e[1])<.01}function i(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}function a(t,e,r){function a(t){return m[t%m.length]}var c,h=e.join(\",\"),f=h,d=t.crossings[f],p=o(d,r,e),m=[s(t,e,[-p[0],-p[1]])],g=p.join(\",\"),v=t.z.length,y=t.z[0].length;for(c=0;c<1e4;c++){if(d>20?(d=u.CHOOSESADDLE[d][(p[0]||p[1])<0?0:1],t.crossings[f]=u.SADDLEREMAINDER[d]):delete t.crossings[f],!(p=u.NEWDELTA[d])){l.log(\"Found bad marching index:\",d,e,t.level);break}m.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],n(m[m.length-1],m[m.length-2])&&m.pop(),f=e.join(\",\");var b=p[0]&&(e[0]<0||e[0]>y-2)||p[1]&&(e[1]<0||e[1]>v-2);if(f===h&&p.join(\",\")===g||r&&b)break;d=t.crossings[f]}1e4===c&&l.log(\"Infinite loop in contour?\");var x,_,w,M,A,k,T,E=n(m[0],m[m.length-1]),S=0,L=.2*t.smoothing,C=[],D=0;for(c=1;c<m.length;c++)T=i(m[c],m[c-1]),S+=T,C.push(T);var I=S/C.length*L;for(c=m.length-2;c>=D;c--)if((x=C[c])<I){for(w=0,_=c-1;_>=D&&x+C[_]<I;_--)x+=C[_];if(E&&c===m.length-2)for(w=0;w<_&&x+C[w]<I;w++)x+=C[w];A=c-_+w+1,k=Math.floor((c+_+w+2)/2),M=E||c!==m.length-2?E||_!==-1?A%2?a(k):[(a(k)[0]+a(k+1)[0])/2,(a(k)[1]+a(k+1)[1])/2]:m[0]:m[m.length-1],m.splice(_+1,c-_+1,M),c=_+1,w&&(D=w),E&&(c===m.length-2?m[w]=m[m.length-1]:0===c&&(m[m.length-1]=m[0]))}if(m.splice(0,D),!(m.length<2))if(E)m.pop(),t.paths.push(m);else{r||l.log(\"Unclosed interior contour?\",t.level,h,m.join(\"L\"));var z=!1;t.edgepaths.forEach(function(e,r){if(!z&&n(e[0],m[m.length-1])){m.pop(),z=!0;var i=!1;t.edgepaths.forEach(function(e,a){!i&&n(e[e.length-1],m[0])&&(i=!0,m.splice(0,1),t.edgepaths.splice(r,1),a===r?t.paths.push(m.concat(e)):t.edgepaths[a]=t.edgepaths[a].concat(m,e))}),i||(t.edgepaths[r]=m.concat(e))}}),t.edgepaths.forEach(function(e,r){!z&&n(e[e.length-1],m[0])&&(m.splice(0,1),t.edgepaths[r]=e.concat(m),z=!0)}),z||t.edgepaths.push(m)}}function o(t,e,r){var n=0,i=0;return t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:u.BOTTOMSTART.indexOf(t)!==-1?i=1:u.LEFTSTART.indexOf(t)!==-1?n=1:u.TOPSTART.indexOf(t)!==-1?i=-1:n=-1,[n,i]}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0)]}var u=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-u)*t.y[i]+u*t.y[i+1],!0)]}var l=t(\"../../lib\"),u=t(\"./constants\");e.exports=function(t){var e,r,n,i,o;for(n=0;n<t.length;n++){for(i=t[n],o=0;o<i.starts.length;o++)r=i.starts[o],a(i,r,\"edge\");for(e=0;Object.keys(i.crossings).length&&e<1e4;)e++,r=Object.keys(i.crossings)[0].split(\",\").map(Number),a(i,r);1e4===e&&l.log(\"Infinite loop in contour?\")}}},{\"../../lib\":681,\"./constants\":840}],844:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/hover\");e.exports=function(t,e,r,i){return n(t,e,r,i,!0)}},{\"../heatmap/hover\":859}],845:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.colorbar=t(\"./colorbar\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"contour\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"2dMap\",\"contour\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":728,\"./attributes\":837,\"./calc\":838,\"./colorbar\":839,\"./defaults\":841,\"./hover\":844,\"./plot\":848,\"./style\":849}],846:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/colorscale\"),a=t(\"./end_plus\");e.exports=function(t){var e,r,o=t.contours,s=o.start,l=a(o),u=o.size||1,c=Math.floor((l-s)/u)+1,h=\"lines\"===o.coloring?0:1,f=t.colorscale,d=f.length,p=new Array(d),m=new Array(d);if(\"heatmap\"===o.coloring){for(t.zauto&&t.autocontour===!1&&(t.zmin=s-u/2,t.zmax=t.zmin+c*u),r=0;r<d;r++)e=f[r],p[r]=e[0]*(t.zmax-t.zmin)+t.zmin,m[r]=e[1];var g=n.extent([t.zmin,t.zmax,o.start,o.start+u*(c-1)]),v=g[t.zmin<t.zmax?0:1],y=g[t.zmin<t.zmax?1:0];v!==t.zmin&&(p.splice(0,0,v),m.splice(0,0,Range[0])),y!==t.zmax&&(p.push(y),m.push(m[m.length-1]))}else for(r=0;r<d;r++)e=f[r],p[r]=(e[0]*(c+h-1)-h/2)*u+s,m[r]=e[1];return i.makeColorScaleFunc({domain:p,range:m},{noNumericCheck:!0})}},{\"../../components/colorscale\":590,\"./end_plus\":842,d3:104}],847:[function(t,e,r){\"use strict\";function n(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);if(5===r||10===r){return t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208}return 15===r?0:r}var i=t(\"./constants\");e.exports=function(t){var e,r,a,o,s,l,u,c,h,f=t[0].z,d=f.length,p=f[0].length,m=2===d||2===p;for(r=0;r<d-1;r++)for(o=[],0===r&&(o=o.concat(i.BOTTOMSTART)),r===d-2&&(o=o.concat(i.TOPSTART)),e=0;e<p-1;e++)for(a=o.slice(),0===e&&(a=a.concat(i.LEFTSTART)),e===p-2&&(a=a.concat(i.RIGHTSTART)),s=e+\",\"+r,l=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],h=0;h<t.length;h++)c=t[h],(u=n(c.level,l))&&(c.crossings[s]=u,a.indexOf(u)!==-1&&(c.starts.push([e,r]),m&&a.indexOf(u,a.indexOf(u)+1)!==-1&&c.starts.push([e,r])))}},{\"./constants\":840}],848:[function(t,e,r){\"use strict\";function n(t,e,r){var n=r[0].trace,l=r[0].x,h=r[0].y,f=n.contours,d=n.uid,p=e.xaxis,y=e.yaxis,b=t._fullLayout,x=\"contour\"+d,_=i(f,e,r[0]);if(n.visible!==!0)return b._paper.selectAll(\".\"+x+\",.hm\"+d).remove(),void b._infolayer.selectAll(\".cb\"+d).remove();\"heatmap\"===f.coloring?(n.zauto&&n.autocontour===!1&&(n._input.zmin=n.zmin=f.start-f.size/2,n._input.zmax=n.zmax=n.zmin+_.length*f.size),m(t,e,[r])):(b._paper.selectAll(\".hm\"+d).remove(),b._infolayer.selectAll(\"g.rangeslider-container\").selectAll(\".hm\"+d).remove()),g(_),v(_);var w=p.c2p(l[0],!0),M=p.c2p(l[l.length-1],!0),A=y.c2p(h[0],!0),k=y.c2p(h[h.length-1],!0),T=[[w,k],[M,k],[M,A],[w,A]],E=a(e,r,x);o(E,T,f),s(E,_,T,f),u(E,_,f),c(E,e,r[0],T)}function i(t,e,r){for(var n=t.size,i=[],a=y(t),o=t.start;o<a;o+=n)if(i.push({level:o,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:r.z,smoothing:r.trace.line.smoothing}),i.length>1e3){d.warn(\"Too many contours, clipping at 1000\",t);break}return i}function a(t,e,r){var n=t.plot.select(\".maplayer\").selectAll(\"g.contour.\"+r).data(e);return n.enter().append(\"g\").classed(\"contour\",!0).classed(r,!0),n.exit().remove(),n}function o(t,e,r){var n=t.selectAll(\"g.contourbg\").data([0]);n.enter().append(\"g\").classed(\"contourbg\",!0);var i=n.selectAll(\"path\").data(\"fill\"===r.coloring?[0]:[]);i.enter().append(\"path\"),i.exit().remove(),i.attr(\"d\",\"M\"+e.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function s(t,e,r,n){var i=t.selectAll(\"g.contourfill\").data([0]);i.enter().append(\"g\").classed(\"contourfill\",!0);var a=i.selectAll(\"path\").data(\"fill\"===n.coloring?e:[]);a.enter().append(\"path\"),a.exit().remove(),a.each(function(t){var e=l(t,r);e?f.select(this).attr(\"d\",e).style(\"stroke\",\"none\"):f.select(this).remove()})}function l(t,e){function r(t){return Math.abs(t[0]-e[2][0])<.01}for(var n,i,a,o,s,l,u=Math.min(t.z[0][0],t.z[0][1]),c=t.edgepaths.length||u<=t.level?\"\":\"M\"+e.join(\"L\")+\"Z\",h=0,f=t.edgepaths.map(function(t,e){return e}),m=!0;f.length;){for(l=p.smoothopen(t.edgepaths[h],t.smoothing),c+=m?l:l.replace(/^M/,\"L\"),f.splice(f.indexOf(h),1),n=t.edgepaths[h][t.edgepaths[h].length-1],o=-1,a=0;a<4;a++){if(!n){d.log(\"Missing end?\",h,t);break}for(!function(t){return Math.abs(t[1]-e[0][1])<.01}(n)||r(n)?function(t){return Math.abs(t[0]-e[0][0])<.01}(n)?i=e[0]:function(t){return Math.abs(t[1]-e[2][1])<.01}(n)?i=e[3]:r(n)&&(i=e[2]):i=e[1],s=0;s<t.edgepaths.length;s++){var g=t.edgepaths[s][0];Math.abs(n[0]-i[0])<.01?Math.abs(n[0]-g[0])<.01&&(g[1]-n[1])*(i[1]-g[1])>=0&&(i=g,o=s):Math.abs(n[1]-i[1])<.01?Math.abs(n[1]-g[1])<.01&&(g[0]-n[0])*(i[0]-g[0])>=0&&(i=g,o=s):d.log(\"endpt to newendpt is not vert. or horz.\",n,i,g)}if(n=i,o>=0)break;c+=\"L\"+i}if(o===t.edgepaths.length){d.log(\"unclosed perimeter path\");break}h=o,m=f.indexOf(h)===-1,m&&(h=f[0],c+=\"Z\")}for(h=0;h<t.paths.length;h++)c+=p.smoothclosed(t.paths[h],t.smoothing);return c}function u(t,e,r){var n=e[0].smoothing,i=t.selectAll(\"g.contourlevel\").data(r.showlines===!1?[]:e);i.enter().append(\"g\").classed(\"contourlevel\",!0),i.exit().remove();var a=i.selectAll(\"path.openline\").data(function(t){return t.edgepaths});a.enter().append(\"path\").classed(\"openline\",!0),a.exit().remove(),a.attr(\"d\",function(t){return p.smoothopen(t,n)}).style(\"stroke-miterlimit\",1);var o=i.selectAll(\"path.closedline\").data(function(t){return t.paths});o.enter().append(\"path\").classed(\"closedline\",!0),o.exit().remove(),o.attr(\"d\",function(t){return p.smoothclosed(t,n)}).style(\"stroke-miterlimit\",1)}function c(t,e,r,n){var i=\"clip\"+r.trace.uid,a=e.plot.selectAll(\"defs\").data([0]);a.enter().append(\"defs\");var o=a.selectAll(\"#\"+i).data(r.trace.connectgaps?[]:[0]);if(o.enter().append(\"clipPath\").attr(\"id\",i),o.exit().remove(),r.trace.connectgaps===!1){var s={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:h(r),smoothing:0};g([s]),v([s]);var u=l(s,n),c=o.selectAll(\"path\").data([0]);c.enter().append(\"path\"),c.attr(\"d\",u)}else i=null;t.call(p.setClipUrl,i),e.plot.selectAll(\".hm\"+r.trace.uid).call(p.setClipUrl,i)}function h(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}var f=t(\"d3\"),d=t(\"../../lib\"),p=t(\"../../components/drawing\"),m=t(\"../heatmap/plot\"),g=t(\"./make_crossings\"),v=t(\"./find_all_paths\"),y=t(\"./end_plus\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])}},{\"../../components/drawing\":599,\"../../lib\":681,\"../heatmap/plot\":864,\"./end_plus\":842,\"./find_all_paths\":843,\"./make_crossings\":847,d3:104}],849:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../heatmap/style\"),o=t(\"./make_color_map\");e.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",function(t){return t.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c=o(r);e.selectAll(\"g.contourlevel\").each(function(t){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,\"lines\"===a.coloring?c(t.level):s.color,s.dash)});var h;e.selectAll(\"g.contourfill path\").style(\"fill\",function(t){return void 0===h&&(h=t.level),c(t.level+.5*l)}),void 0===h&&(h=u),e.selectAll(\"g.contourbg path\").style(\"fill\",c(h-.5*l))}),a(t)}},{\"../../components/drawing\":599,\"../heatmap/style\":865,\"./make_color_map\":846,d3:104}],850:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,i){var a,o=r(\"contours.coloring\");\"fill\"===o&&(a=r(\"contours.showlines\")),a!==!1&&(\"lines\"!==o&&r(\"line.color\",\"#000\"),r(\"line.width\",.5),r(\"line.dash\")),r(\"line.smoothing\"),\"none\"!==(e.contours||{}).coloring&&n(t,e,i,r,{prefix:\"\",cLetter:\"z\"})}},{\"../../components/colorscale/defaults\":585}],851:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports=o({},{z:{valType:\"data_array\"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:{valType:\"data_array\"},transpose:{valType:\"boolean\",dflt:!1},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"]},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"]},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1},connectgaps:{valType:\"boolean\",dflt:!1},xgap:{valType:\"number\",dflt:0,min:0},ygap:{valType:\"number\",dflt:0,min:0}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/attributes\":581,\"../../lib/extend\":673,\"../scatter/attributes\":924}],852:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../histogram2d/calc\"),s=t(\"../../components/colorscale/calc\"),l=t(\"./has_columns\"),u=t(\"./convert_column_xyz\"),c=t(\"./max_row_length\"),h=t(\"./clean_2d_array\"),f=t(\"./interp2d\"),d=t(\"./find_empties\"),p=t(\"./make_bound_array\");e.exports=function(t,e){function r(t){S=e._input.zsmooth=e.zsmooth=!1,i.notifier(\"cannot fast-zsmooth: \"+t)}var m,g,v,y,b,x,_,w,M=a.getFromId(t,e.xaxis||\"x\"),A=a.getFromId(t,e.yaxis||\"y\"),k=n.traceIs(e,\"contour\"),T=n.traceIs(e,\"histogram\"),E=n.traceIs(e,\"gl2d\"),S=k?\"best\":e.zsmooth;if(M._minDtick=0,A._minDtick=0,T){var L=o(t,e);m=L.x,g=L.x0,v=L.dx,y=L.y,b=L.y0,x=L.dy,_=L.z}else l(e)&&u(e,M,A),m=e.x?M.makeCalcdata(e,\"x\"):[],y=e.y?A.makeCalcdata(e,\"y\"):[],g=e.x0||0,v=e.dx||1,b=e.y0||0,x=e.dy||1,_=h(e.z,e.transpose),(k||e.connectgaps)&&(e._emptypoints=d(_),e._interpz=f(_,e._emptypoints,e._interpz));if(\"fast\"===S)if(\"log\"===M.type||\"log\"===A.type)r(\"log axis found\");else if(!T){if(m.length){var C=(m[m.length-1]-m[0])/(m.length-1),D=Math.abs(C/100);for(w=0;w<m.length-1;w++)if(Math.abs(m[w+1]-m[w]-C)>D){r(\"x scale is not linear\");break}}if(y.length&&\"fast\"===S){var I=(y[y.length-1]-y[0])/(y.length-1),z=Math.abs(I/100);for(w=0;w<y.length-1;w++)if(Math.abs(y[w+1]-y[w]-I)>z){r(\"y scale is not linear\");break}}}var P=c(_),O=\"scaled\"===e.xtype?\"\":m,R=p(e,O,g,v,P,M),F=\"scaled\"===e.ytype?\"\":y,j=p(e,F,b,x,_.length,A);E||(a.expand(M,R),a.expand(A,j));var N={x:R,y:j,z:_,text:e.text};if(s(e,_,\"\",\"z\"),k&&e.contours&&\"heatmap\"===e.contours.coloring){var B={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(B,O,g,v,P,M),N.yfill=p(B,F,b,x,_.length,A)}return[N]}},{\"../../components/colorscale/calc\":582,\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../../registry\":794,\"../histogram2d/calc\":880,\"./clean_2d_array\":853,\"./convert_column_xyz\":855,\"./find_empties\":857,\"./has_columns\":858,\"./interp2d\":861,\"./make_bound_array\":862,\"./max_row_length\":863}],853:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){var r,i,a,o,s,l;if(e){for(r=0,s=0;s<t.length;s++)r=Math.max(r,t[s].length);if(0===r)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else r=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var u=new Array(r);for(s=0;s<r;s++)for(i=a(t,s),u[s]=new Array(i),l=0;l<i;l++)u[s][l]=function(t){if(n(t))return+t}(o(t,s,l));return u}},{\"fast-isnumeric\":113}],854:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../components/colorscale\"),s=t(\"../../components/colorbar/draw\");e.exports=function(t,e){var r=e[0].trace,l=\"cb\"+r.uid,u=r.zmin,c=r.zmax;if(n(u)||(u=i.aggNums(Math.min,null,r.z)),n(c)||(c=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(\".\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var h=e[0].t.cb=s(t,l),f=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});h.fillcolor(f).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\"../../components/colorbar/draw\":579,\"../../components/colorscale\":590,\"../../lib\":681,\"../../plots/plots\":779,\"fast-isnumeric\":113}],855:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){var a,o=t.x.slice(),s=t.y.slice(),l=t.z,u=t.text,c=Math.min(o.length,s.length,l.length),h=void 0!==u&&!Array.isArray(u[0]),f=t.xcalendar,d=t.ycalendar;for(c<o.length&&(o=o.slice(0,c)),c<s.length&&(s=s.slice(0,c)),a=0;a<c;a++)o[a]=e.d2c(o[a],0,f),s[a]=r.d2c(s[a],0,d);var p,m=n.distinctVals(o),g=m.vals,v=n.distinctVals(s),y=v.vals,b=n.init2dArray(y.length,g.length);for(h&&(p=n.init2dArray(y.length,g.length)),a=0;a<c;a++)if(o[a]!==i&&s[a]!==i){var x=n.findBin(o[a]+m.minDiff/2,g),_=n.findBin(s[a]+v.minDiff/2,y);b[_][x]=l[a],h&&(p[_][x]=u[a])}t.x=g,t.y=y,t.z=b,h&&(t.text=p)}},{\"../../constants/numerical\":663,\"../../lib\":681}],856:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./has_columns\"),a=t(\"./xyz_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,s,r,i)}if(!a(t,e,u,l))return void(e.visible=!1);u(\"text\"),u(\"zsmooth\")===!1&&(u(\"xgap\"),u(\"ygap\")),u(\"connectgaps\",i(e)&&e.zsmooth!==!1),o(t,e,l,u,{prefix:\"\",cLetter:\"z\"})}},{\"../../components/colorscale/defaults\":585,\"../../lib\":681,\"./attributes\":851,\"./has_columns\":858,\"./xyz_defaults\":866}],857:[function(t,e,r){\"use strict\";var n=t(\"./max_row_length\");e.exports=function(t){var e,r,i,a,o,s,l,u,c=[],h={},f=[],d=t[0],p=[],m=[0,0,0],g=n(t);for(r=0;r<t.length;r++)for(e=p,p=d,d=t[r+1]||[],i=0;i<g;i++)void 0===p[i]&&(s=(void 0!==p[i-1]?1:0)+(void 0!==p[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==d[i]?1:0),s?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===p.length-1&&s++,s<4&&(h[[r,i]]=[r,i,s]),c.push([r,i,s])):f.push([r,i]));for(;f.length;){for(l={},u=!1,o=f.length-1;o>=0;o--)a=f[o],r=a[0],i=a[1],(s=((h[[r-1,i]]||m)[2]+(h[[r+1,i]]||m)[2]+(h[[r,i-1]]||m)[2]+(h[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],f.splice(o,1),u=!0);if(!u)throw\"findEmpties iterated with no new neighbors\";for(a in l)h[a]=l[a],c.push(l[a])}return c.sort(function(t,e){return e[2]-t[2]})}},{\"./max_row_length\":863}],858:[function(t,e,r){\"use strict\";e.exports=function(t){return!Array.isArray(t.z[0])}},{}],859:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/graph_interact\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/constants\").MAXDIST;e.exports=function(t,e,r,o,s){if(!(t.distance<a)){var l,u,c,h,f=t.cd[0],d=f.trace,p=t.xa,m=t.ya,g=f.x,v=f.y,y=f.z,b=f.zmask,x=g,_=v;if(t.index!==!1){try{c=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(c<0||c>=y[0].length||h<0||h>y.length)return}else{if(n.inbox(e-g[0],e-g[g.length-1])>a||n.inbox(r-v[0],r-v[v.length-1])>a)return;if(s){var w;for(x=[2*g[0]-g[1]],w=1;w<g.length;w++)x.push((g[w]+g[w-1])/2);for(x.push([2*g[g.length-1]-g[g.length-2]]),_=[2*v[0]-v[1]],w=1;w<v.length;w++)_.push((v[w]+v[w-1])/2);_.push([2*v[v.length-1]-v[v.length-2]])}c=Math.max(0,Math.min(x.length-2,i.findBin(e,x))),h=Math.max(0,Math.min(_.length-2,i.findBin(r,_)))}var M=p.c2p(g[c]),A=p.c2p(g[c+1]),k=m.c2p(v[h]),T=m.c2p(v[h+1]);s?(A=M,l=g[c],T=k,u=v[h]):(l=(g[c]+g[c+1])/2,u=(v[h]+v[h+1])/2,d.zsmooth&&(M=A=(M+A)/2,k=T=(k+T)/2));var E=y[h][c];b&&!b[h][c]&&(E=void 0);var S;return Array.isArray(f.text)&&Array.isArray(f.text[h])&&(S=f.text[h][c]),[i.extendFlat(t,{index:[h,c],distance:a+10,x0:M,x1:A,y0:k,y1:T,xLabelVal:l,yLabelVal:u,zLabelVal:E,text:S})]}}},{\"../../lib\":681,\"../../plots/cartesian/constants\":725,\"../../plots/cartesian/graph_interact\":727}],860:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./colorbar\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"heatmap\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"2dMap\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":728,\"./attributes\":851,\"./calc\":852,\"./colorbar\":854,\"./defaults\":856,\"./hover\":859,\"./plot\":864,\"./style\":865}],861:[function(t,e,r){\"use strict\";function n(t){return.5-.25*Math.min(1,.5*t)}function i(t,e,r){var n,i,a,s,l,u,c,h,f,d,p,m,g,v=0;for(s=0;s<e.length;s++){for(n=e[s],i=n[0],a=n[1],p=t[i][a],d=0,f=0,l=0;l<4;l++)u=o[l],(c=t[i+u[0]])&&void 0!==(h=c[a+u[1]])&&(0===d?m=g=h:(m=Math.min(m,h),g=Math.max(g,h)),f++,d+=h);if(0===f)throw\"iterateInterp2d order is wrong: no defined neighbors\";t[i][a]=d/f,void 0===p?f<4&&(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g>m&&(v=Math.max(v,Math.abs(t[i][a]-p)/(g-m))))}return v}var a=t(\"../../lib\"),o=[[-1,0],[1,0],[0,-1],[0,1]];e.exports=function(t,e,r){var o,s,l=1;if(Array.isArray(r))for(o=0;o<e.length;o++)s=e[o],t[s[0]][s[1]]=r[s[0]][s[1]];else i(t,e);for(o=0;o<e.length&&!(e[o][2]<4);o++);for(e=e.slice(o),o=0;o<100&&l>.01;o++)l=i(t,e,n(l));return l>.01&&a.log(\"interp2d didn't converge quickly\",l),t}},{\"../../lib\":681}],862:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");e.exports=function(t,e,r,i,a,o){var s,l,u,c=[],h=n.traceIs(t,\"contour\"),f=n.traceIs(t,\"histogram\"),d=n.traceIs(t,\"gl2d\");if(Array.isArray(e)&&e.length>1&&!f&&\"category\"!==o.type){var p=e.length;if(!(p<=a))return h?e.slice(0,a):e.slice(0,a+1);if(h||d)c=e.slice(0,a);else if(1===a)c=[e[0]-.5,e[0]+.5];else{for(c=[1.5*e[0]-.5*e[1]],u=1;u<p;u++)c.push(.5*(e[u-1]+e[u]));c.push(1.5*e[p-1]-.5*e[p-2])}if(p<a){var m=c[c.length-1],g=m-c[c.length-2];for(u=p;u<a;u++)m+=g,c.push(m)}}else{l=i||1;var v=t[o._id.charAt(0)+\"calendar\"];for(s=f||\"category\"===o.type?o.r2c(r,0,v)||0:Array.isArray(e)&&1===e.length?e[0]:void 0===r?0:o.d2c(r,0,v),u=h||d?0:-.5;u<a;u++)c.push(s+l*u)}return c}},{\"../../registry\":794}],863:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],864:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),u=Math.abs(s-l);return s&&s!==r&&u?{bin0:l,frac:u,bin1:Math.round(l+u/(s-l))}:{bin0:l,bin1:l,frac:0}}function c(t,e){if(void 0!==t){var r=q(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),rt+=e,nt+=r[0]*e,it+=r[1]*e,at+=r[2]*e,r}return[0,0,0,0]}function h(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}var f=r[0].trace,d=f.uid,p=e.xaxis,m=e.yaxis,g=t._fullLayout,v=\"hm\"+d;if(g._paper.selectAll(\".contour\"+d).remove(),g._infolayer.selectAll(\"g.rangeslider-container\").selectAll(\".contour\"+d).remove(),f.visible!==!0)return g._paper.selectAll(\".\"+v).remove(),void g._infolayer.selectAll(\".cb\"+d).remove();var y,b,x,_,w,M,A=r[0].z,k=r[0].x,T=r[0].y,E=a.traceIs(f,\"contour\"),S=E?\"best\":f.zsmooth,L=A.length,C=u(A),D=!1,I=!1;for(M=0;void 0===y&&M<k.length-1;)y=p.c2p(k[M]),M++;for(M=k.length-1;void 0===b&&M>0;)b=p.c2p(k[M]),M--;for(b<y&&(x=b,b=y,y=x,D=!0),M=0;void 0===_&&M<T.length-1;)_=m.c2p(T[M]),M++;for(M=T.length-1;void 0===w&&M>0;)w=m.c2p(T[M]),M--;if(w<_&&(x=_,_=w,w=x,I=!0),E&&(k=r[0].xfill,T=r[0].yfill),\"fast\"!==S){var z=\"best\"===S?0:.5;y=Math.max(-z*p._length,y),b=Math.min((1+z)*p._length,b),_=Math.max(-z*m._length,_),w=Math.min((1+z)*m._length,w)}var P=Math.round(b-y),O=Math.round(w-_),R=P<=0||O<=0,F=e.plot.select(\".imagelayer\").selectAll(\"g.hm.\"+v).data(R?[]:[0]);if(F.enter().append(\"g\").classed(\"hm\",!0).classed(v,!0),F.exit().remove(),!R){var j,N;\"fast\"===S?(j=C,N=L):(j=P,N=O);var B=document.createElement(\"canvas\");B.width=j,B.height=N;var U,V,H=B.getContext(\"2d\"),q=s.makeColorScaleFunc(s.extractScale(f.colorscale,f.zmin,f.zmax),{noNumericCheck:!0,returnArray:!0});\"fast\"===S?(U=D?function(t){return C-1-t}:o.identity,V=I?function(t){return L-1-t}:o.identity):(U=function(t){return o.constrain(Math.round(p.c2p(k[t])-y),0,P)},V=function(t){return o.constrain(Math.round(m.c2p(T[t])-_),0,O)});var G,Y,X,W,Z,J,K,Q=V(0),$=[Q,Q],tt=D?0:1,et=I?0:1,rt=0,nt=0,it=0,at=0;if(S){var ot,st=0;try{ot=new Uint8Array(P*O*4)}catch(t){ot=new Array(P*O*4)}if(\"best\"===S){var lt,ut,ct,ht=new Array(k.length),ft=new Array(T.length),dt=new Array(P);for(M=0;M<k.length;M++)ht[M]=Math.round(p.c2p(k[M])-y);for(M=0;M<T.length;M++)ft[M]=Math.round(m.c2p(T[M])-_);for(M=0;M<P;M++)dt[M]=n(M,ht);for(X=0;X<O;X++)for(lt=n(X,ft),ut=A[lt.bin0],ct=A[lt.bin1],M=0;M<P;M++,st+=4)K=function(t,e,r,n){var i=t[r.bin0];if(void 0===i)return c(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,h=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,c(i+r.frac*u+n.frac*(h+r.frac*a))}(ut,ct,dt[M],lt),h(ot,st,K)}else for(X=0;X<L;X++)for(J=A[X],$=V(X),M=0;M<P;M++)K=c(J[M],1),st=4*($*P+U(M)),h(ot,st,K);var pt=H.createImageData(P,O);try{pt.data.set(ot)}catch(t){var mt=pt.data,gt=mt.length;for(X=0;X<gt;X++)mt[X]=ot[X]}H.putImageData(pt,0,0)}else for(X=0;X<L;X++)if(J=A[X],$.reverse(),$[et]=V(X+1),$[0]!==$[1]&&void 0!==$[0]&&void 0!==$[1])for(W=U(0),Y=[W,W],M=0;M<C;M++)Y.reverse(),Y[tt]=U(M+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1]&&(Z=J[M],K=c(Z,(Y[1]-Y[0])*($[1]-$[0])),H.fillStyle=\"rgba(\"+K.join(\",\")+\")\",G=function(t,e,r,n,i,a,o,s,l){var u={x0:e,x1:r,y0:n,y1:i},c=2*t.xgap/3,h=2*t.ygap/3,f=t.xgap/3,d=t.ygap/3;return s===l-1&&(u.y1=i-h),a===o-1&&(u.x0=e+c),0===s&&(u.y0=n+h),0===a&&(u.x1=r-c),a>0&&a<o-1&&(u.x0=e+f,u.x1=r-f),s>0&&s<l-1&&(u.y0=n+d,u.y1=i-d),u}(f,Y[0],Y[1],$[0],$[1],M,C,X,L),H.fillRect(G.x0,G.y0,G.x1-G.x0,G.y1-G.y0));nt=Math.round(nt/rt),it=Math.round(it/rt),at=Math.round(at/rt);var vt=i(\"rgb(\"+nt+\",\"+it+\",\"+at+\")\");t._hmpixcount=(t._hmpixcount||0)+rt,t._hmlumcount=(t._hmlumcount||0)+rt*vt.getLuminance();var yt=F.selectAll(\"image\").data(r);yt.enter().append(\"svg:image\").attr({xmlns:l.svg,preserveAspectRatio:\"none\"}),yt.attr({height:O,width:P,x:y,y:_,\"xlink:href\":B.toDataURL(\"image/png\")}),yt.exit().remove()}}var i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../components/colorscale\"),l=t(\"../../constants/xmlns_namespaces\"),u=t(\"./max_row_length\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])}},{\"../../components/colorscale\":590,\"../../constants/xmlns_namespaces\":665,\"../../lib\":681,\"../../registry\":794,\"./max_row_length\":863,tinycolor2:512}],865:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t){n.select(t).selectAll(\".hm image\").style(\"opacity\",function(t){return t.trace.opacity})}},{d3:104}],866:[function(t,e,r){\"use strict\";function n(t,e){var r=e(t);return\"scaled\"===(r?e(t+\"type\",\"array\"):\"scaled\")&&(e(t+\"0\"),e(\"d\"+t)),r}function i(t){for(var e,r=!0,n=!1,i=!1,o=0;o<t.length;o++){if(e=t[o],!Array.isArray(e)){r=!1;break}e.length>0&&(n=!0);for(var s=0;s<e.length;s++)if(a(e[s])){i=!0;break}}return r&&n&&i}var a=t(\"fast-isnumeric\"),o=t(\"../../registry\"),s=t(\"./has_columns\")\n;e.exports=function(t,e,r,a){var l,u,c=r(\"z\");if(void 0===c||!c.length)return 0;if(s(t)){if(l=r(\"x\"),u=r(\"y\"),!l||!u)return 0}else{if(l=n(\"x\",r),u=n(\"y\",r),!i(c))return 0;r(\"transpose\")}return o.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a),e.z.length}},{\"../../registry\":794,\"./has_columns\":858,\"fast-isnumeric\":113}],867:[function(t,e,r){\"use strict\";for(var n=t(\"../heatmap/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=[\"z\",\"x\",\"x0\",\"dx\",\"y\",\"y0\",\"dy\",\"text\",\"transpose\",\"xtype\",\"ytype\"],l={},u=0;u<s.length;u++){var c=s[u];l[c]=n[c]}o(l,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=l},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/attributes\":581,\"../../lib/extend\":673,\"../heatmap/attributes\":851}],868:[function(t,e,r){\"use strict\";function n(t,e){this.scene=t,this.uid=e,this.type=\"heatmapgl\",this.name=\"\",this.hoverinfo=\"all\",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=o(t.glplot,this.options),this.heatmap._trace=this}function i(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),o=new Array(4*i),s=0;s<i;s++){var u=e[s],c=l(u[1]);a[s]=r+u[0]*(n-r);for(var h=0;h<4;h++)o[4*s+h]=c[h]}return{colorLevels:a,colorValues:o}}function a(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}var o=t(\"gl-heatmap2d\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../../lib/str2rgbarray\"),u=n.prototype;u.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[i,a],hoverinfo:this.hoverinfo}},u.update=function(t,e){var r=e[0];this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var a=n[0].length,o=n.length;this.options.shape=[a,o],this.options.x=r.x,this.options.y=r.y;var l=i(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),s.expand(this.scene.xaxis,r.x),s.expand(this.scene.yaxis,r.y)},u.dispose=function(){this.heatmap.dispose()},e.exports=a},{\"../../lib/str2rgbarray\":699,\"../../plots/cartesian/axes\":720,\"gl-heatmap2d\":147}],869:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"../heatmap/defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),n.calc=t(\"../heatmap/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"heatmapgl\",n.basePlotModule=t(\"../../plots/gl2d\"),n.categories=[\"gl2d\",\"2dMap\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":756,\"../heatmap/calc\":852,\"../heatmap/colorbar\":854,\"../heatmap/defaults\":856,\"./attributes\":867,\"./convert\":868}],870:[function(t,e,r){\"use strict\";function n(t){return{start:{valType:\"any\",dflt:null},end:{valType:\"any\",dflt:null},size:{valType:\"any\",dflt:null}}}var i=t(\"../bar/attributes\");e.exports={x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:i.text,orientation:i.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\"}},autobinx:{valType:\"boolean\",dflt:null},nbinsx:{valType:\"integer\",min:0,dflt:0},xbins:n(\"x\"),autobiny:{valType:\"boolean\",dflt:null},nbinsy:{valType:\"integer\",min:0,dflt:0},ybins:n(\"y\"),marker:i.marker,error_y:i.error_y,error_x:i.error_x,_deprecated:{bardir:i._deprecated.bardir}}},{\"../bar/attributes\":804}],871:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],872:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){return r(\"histnorm\"),n.forEach(function(t){r(t+\"bins.start\"),r(t+\"bins.end\"),r(t+\"bins.size\"),r(\"autobin\"+t),r(\"nbins\"+t)}),e}},{}],873:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{\"fast-isnumeric\":113}],874:[function(t,e,r){\"use strict\";function n(t,e,r){function n(e){s=t[e],t[e]/=2}function i(e){o=t[e],t[e]=s+o/2,s+=o}var a,o,s;if(\"half\"===r)if(\"increasing\"===e)for(n(0),a=1;a<t.length;a++)i(a);else for(n(t.length-1),a=t.length-2;a>=0;a--)i(a);else if(\"increasing\"===e){for(a=1;a<t.length;a++)t[a]+=t[a-1];\"exclude\"===r&&(t.unshift(0),t.pop())}else{for(a=t.length-2;a>=0;a--)t[a]+=t[a+1];\"exclude\"===r&&(t.push(0),t.shift())}}var i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../bar/arrays_to_calcdata\"),l=t(\"./bin_functions\"),u=t(\"./norm_functions\"),c=t(\"./average\"),h=t(\"./clean_bins\");e.exports=function(t,e){if(e.visible===!0){var r,f=[],d=[],p=o.getFromId(t,\"h\"===e.orientation?e.yaxis||\"y\":e.xaxis||\"x\"),m=\"h\"===e.orientation?\"y\":\"x\",g={x:\"y\",y:\"x\"}[m],v=e[m+\"calendar\"],y=e.cumulative;h(e,p,m);var b,x=p.makeCalcdata(e,m),_=m+\"bins\";e[\"autobin\"+m]===!1&&_ in e?b=e[_]:(b=o.autoBin(x,p,e[\"nbins\"+m],!1,v),y.enabled&&\"include\"!==y.currentbin&&(\"decreasing\"===y.direction?b.start=p.c2r(p.r2c(b.start)-b.size):b.end=p.c2r(p.r2c(b.end)+b.size)),e._input[_]=e[_]=b);var w,M,A,k=\"string\"==typeof b.size,T=k?[]:b,E=[],S=[],L=0,C=e.histnorm,D=e.histfunc,I=C.indexOf(\"density\")!==-1;y.enabled&&I&&(C=C.replace(/ ?density$/,\"\"),I=!1);var z,P=\"max\"===D||\"min\"===D,O=P?null:0,R=l.count,F=u[C],j=!1,N=function(t){return p.r2c(t,0,v)};for(Array.isArray(e[g])&&\"count\"!==D&&(z=e[g],j=\"avg\"===D,R=l[D]),r=N(b.start),M=N(b.end)+(r-o.tickIncrement(r,b.size,!1,v))/1e6;r<M&&f.length<5e3;)w=o.tickIncrement(r,b.size,!1,v),f.push((r+w)/2),d.push(O),k&&T.push(r),I&&E.push(1/(w-r)),j&&S.push(0),r=w;k||\"date\"!==p.type||(T={start:N(T.start),end:N(T.end),size:T.size});var B=d.length;for(r=0;r<x.length;r++)(A=a.findBin(x[r],T))>=0&&A<B&&(L+=R(A,r,d,z,S));j&&(L=c(d,S)),F&&F(d,L,E),y.enabled&&n(d,y.direction,y.currentbin);var U=Math.min(f.length,d.length),V=[],H=0,q=U-1;for(r=0;r<U;r++)if(d[r]){H=r;break}for(r=U-1;r>H;r--)if(d[r]){q=r;break}for(r=H;r<=q;r++)i(f[r])&&i(d[r])&&V.push({p:f[r],s:d[r],b:0});return s(V,e),V}}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../bar/arrays_to_calcdata\":803,\"./average\":871,\"./bin_functions\":873,\"./clean_bins\":875,\"./norm_functions\":878,\"fast-isnumeric\":113}],875:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").cleanDate,a=t(\"../../constants/numerical\"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+\"bins\",u=t[l];u||(u=t[l]={});var c=\"date\"===a?function(t){return t||0===t?i(t,s,u.calendar):null}:function(t){return n(t)?Number(t):null};u.start=c(u.start),u.end=c(u.end);var h=\"date\"===a?o:1,f=u.size;if(n(f))u.size=f>0?Number(f):h;else if(\"string\"!=typeof f)u.size=h;else{var d=f.charAt(0),p=f.substr(1);p=n(p)?Number(p):0,(p<=0||\"date\"!==a||\"M\"!==d||p!==Math.round(p))&&(u.size=h)}var m=\"autobin\"+r;\"boolean\"!=typeof t[m]&&(t[m]=!((u.start||0===u.start)&&(u.end||0===u.end))),t[m]||delete t[\"nbins\"+r]}},{\"../../constants/numerical\":663,\"../../lib\":681,\"fast-isnumeric\":113}],876:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"./bin_defaults\"),s=t(\"../bar/style_defaults\"),l=t(\"../../components/errorbars/defaults\"),u=t(\"./attributes\");e.exports=function(t,e,r,c){function h(r,n){return i.coerce(t,e,u,r,n)}var f=h(\"x\"),d=h(\"y\");h(\"cumulative.enabled\")&&(h(\"cumulative.direction\"),h(\"cumulative.currentbin\")),h(\"text\");var p=h(\"orientation\",d&&!f?\"h\":\"v\"),m=e[\"v\"===p?\"x\":\"y\"];if(!m||!m.length)return void(e.visible=!1);n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],c),e[\"h\"===p?\"x\":\"y\"]&&h(\"histfunc\"),o(t,e,h,\"h\"===p?[\"y\"]:[\"x\"]),s(t,e,h,r,c),l(t,e,a.defaultLine,{axis:\"y\"}),l(t,e,a.defaultLine,{axis:\"x\",inherit:\"y\"})}},{\"../../components/color\":576,\"../../components/errorbars/defaults\":604,\"../../lib\":681,\"../../registry\":794,\"../bar/style_defaults\":815,\"./attributes\":870,\"./bin_defaults\":872}],877:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"../bar/layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"../bar/layout_defaults\"),n.calc=t(\"./calc\"),n.setPositions=t(\"../bar/set_positions\"),n.plot=t(\"../bar/plot\"),n.style=t(\"../bar/style\"),n.colorbar=t(\"../scatter/colorbar\"),n.hoverPoints=t(\"../bar/hover\"),n.moduleType=\"trace\",n.name=\"histogram\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":728,\"../bar/hover\":807,\"../bar/layout_attributes\":809,\"../bar/layout_defaults\":810,\"../bar/plot\":811,\"../bar/set_positions\":812,\"../bar/style\":814,\"../scatter/colorbar\":927,\"./attributes\":870,\"./calc\":874,\"./defaults\":876}],878:[function(t,e,r){\"use strict\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\"probability density\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],879:[function(t,e,r){\"use strict\";var n=t(\"../histogram/attributes\"),i=t(\"../heatmap/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({},{x:n.x,y:n.y,z:{valType:\"data_array\"},marker:{color:{valType:\"data_array\"}},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/attributes\":581,\"../../lib/extend\":673,\"../heatmap/attributes\":851,\"../histogram/attributes\":870}],880:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../histogram/bin_functions\"),o=t(\"../histogram/norm_functions\"),s=t(\"../histogram/average\"),l=t(\"../histogram/clean_bins\");e.exports=function(t,e){var r,u,c,h,f,d,p=i.getFromId(t,e.xaxis||\"x\"),m=e.x?p.makeCalcdata(e,\"x\"):[],g=i.getFromId(t,e.yaxis||\"y\"),v=e.y?g.makeCalcdata(e,\"y\"):[],y=e.xcalendar,b=e.ycalendar,x=function(t){return p.r2c(t,0,y)},_=function(t){return g.r2c(t,0,b)},w=function(t){return p.c2r(t,0,y)},M=function(t){return g.c2r(t,0,b)};l(e,p,\"x\"),l(e,g,\"y\");var A=Math.min(m.length,v.length);m.length>A&&m.splice(A,m.length-A),v.length>A&&v.splice(A,v.length-A),!e.autobinx&&\"xbins\"in e||(e.xbins=i.autoBin(m,p,e.nbinsx,\"2d\",y),\"histogram2dcontour\"===e.type&&(e.xbins.start=w(i.tickIncrement(x(e.xbins.start),e.xbins.size,!0,y)),e.xbins.end=w(i.tickIncrement(x(e.xbins.end),e.xbins.size,!1,y))),e._input.xbins=e.xbins),!e.autobiny&&\"ybins\"in e||(e.ybins=i.autoBin(v,g,e.nbinsy,\"2d\",b),\"histogram2dcontour\"===e.type&&(e.ybins.start=M(i.tickIncrement(_(e.ybins.start),e.ybins.size,!0,b)),e.ybins.end=M(i.tickIncrement(_(e.ybins.end),e.ybins.size,!1,b))),e._input.ybins=e.ybins),f=[];var k,T,E=[],S=[],L=\"string\"==typeof e.xbins.size,C=\"string\"==typeof e.ybins.size,D=L?[]:e.xbins,I=C?[]:e.ybins,z=0,P=[],O=e.histnorm,R=e.histfunc,F=O.indexOf(\"density\")!==-1,j=\"max\"===R||\"min\"===R,N=j?null:0,B=a.count,U=o[O],V=!1,H=[],q=[],G=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";G&&\"count\"!==R&&(V=\"avg\"===R,B=a[R]);var Y=e.xbins,X=x(Y.start),W=x(Y.end)+(X-i.tickIncrement(X,Y.size,!1,y))/1e6;for(d=X;d<W;d=i.tickIncrement(d,Y.size,!1,y))E.push(N),L&&D.push(d),V&&S.push(0);L&&D.push(d);var Z=E.length;r=e.xbins.start;var J=x(r);for(u=(d-J)/Z,r=w(J+u/2),Y=e.ybins,X=_(Y.start),W=_(Y.end)+(X-i.tickIncrement(X,Y.size,!1,b))/1e6,d=X;d<W;d=i.tickIncrement(d,Y.size,!1,b))f.push(E.concat()),C&&I.push(d),V&&P.push(S.concat());C&&I.push(d);var K=f.length;c=e.ybins.start;var Q=_(c);for(h=(d-Q)/K,c=M(Q+h/2),F&&(H=E.map(function(t,e){return L?1/(D[e+1]-D[e]):1/u}),q=f.map(function(t,e){return C?1/(I[e+1]-I[e]):1/h})),L||\"date\"!==p.type||(D={start:x(D.start),end:x(D.end),size:D.size}),C||\"date\"!==g.type||(I={start:_(I.start),end:_(I.end),size:I.size}),d=0;d<A;d++)k=n.findBin(m[d],D),T=n.findBin(v[d],I),k>=0&&k<Z&&T>=0&&T<K&&(z+=B(k,d,f[T],G,P[T]));if(V)for(T=0;T<K;T++)z+=s(f[T],P[T]);if(U)for(T=0;T<K;T++)U(f[T],z,H,q[T]);return{x:m,x0:r,dx:u,y:v,y0:c,dy:h,z:f}}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../histogram/average\":871,\"../histogram/bin_functions\":873,\"../histogram/clean_bins\":875,\"../histogram/norm_functions\":878}],881:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./sample_defaults\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l,s),l(\"zsmooth\")===!1&&(l(\"xgap\"),l(\"ygap\")),a(t,e,s,l,{prefix:\"\",cLetter:\"z\"})}},{\"../../components/colorscale/defaults\":585,\"../../lib\":681,\"./attributes\":879,\"./sample_defaults\":883}],882:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../heatmap/calc\"),n.plot=t(\"../heatmap/plot\"),n.colorbar=t(\"../heatmap/colorbar\"),n.style=t(\"../heatmap/style\"),n.hoverPoints=t(\"../heatmap/hover\"),n.moduleType=\"trace\",n.name=\"histogram2d\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"2dMap\",\"histogram\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":728,\"../heatmap/calc\":852,\"../heatmap/colorbar\":854,\"../heatmap/hover\":859,\"../heatmap/plot\":864,\"../heatmap/style\":865,\"./attributes\":879,\"./defaults\":881}],883:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../histogram/bin_defaults\");e.exports=function(t,e,r,a){var o=r(\"x\"),s=r(\"y\");if(!(o&&o.length&&s&&s.length))return void(e.visible=!1);n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a),(r(\"z\")||r(\"marker.color\"))&&r(\"histfunc\"),i(t,e,r,[\"x\",\"y\"])}},{\"../../registry\":794,\"../histogram/bin_defaults\":872}],884:[function(t,e,r){\"use strict\";var n=t(\"../histogram2d/attributes\"),i=t(\"../contour/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({},{x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line},a,{colorbar:o})},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/attributes\":581,\"../../lib/extend\":673,\"../contour/attributes\":837,\"../histogram2d/attributes\":879}],885:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../histogram2d/sample_defaults\"),a=t(\"../contour/style_defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l,s);var u=n.coerce2(t,e,o,\"contours.start\"),c=n.coerce2(t,e,o,\"contours.end\");l(l(\"autocontour\",!(u&&c))?\"ncontours\":\"contours.size\"),a(t,e,l,s)}},{\"../../lib\":681,\"../contour/style_defaults\":850,\"../histogram2d/sample_defaults\":883,\"./attributes\":884}],886:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../contour/calc\"),n.plot=t(\"../contour/plot\"),n.style=t(\"../contour/style\"),n.colorbar=t(\"../contour/colorbar\"),n.hoverPoints=t(\"../contour/hover\"),n.moduleType=\"trace\",n.name=\"histogram2dcontour\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"2dMap\",\"contour\",\"histogram\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":728,\"../contour/calc\":838,\"../contour/colorbar\":839,\"../contour/hover\":844,\"../contour/plot\":848,\"../contour/style\":849,\"./attributes\":884,\"./defaults\":885}],887:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../surface/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports={x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},i:{valType:\"data_array\"},j:{valType:\"data_array\"},k:{valType:\"data_array\"},delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\"},alphahull:{valType:\"number\",dflt:-1},intensity:{valType:\"data_array\"},color:{valType:\"color\"},vertexcolor:{valType:\"data_array\"},facecolor:{valType:\"data_array\"},opacity:o({},a.opacity),flatshading:{valType:\"boolean\",dflt:!1},contour:{show:o({},a.contours.x.show,{}),color:o({},a.contours.x.color),width:o({},a.contours.x.width)},colorscale:n.colorscale,reversescale:n.reversescale,showscale:n.showscale,colorbar:i,lightposition:{x:o({},a.lightposition.x,{dflt:1e5}),y:o({},a.lightposition.y,{dflt:1e5}),z:o({},a.lightposition.z,{dflt:0})},lighting:o({},{vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6}},a.lighting)}},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/attributes\":581,\"../../lib/extend\":673,\"../surface/attributes\":980}],888:[function(t,e,r){\"use strict\";function n(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}function i(t){return t.map(function(t){var e=t[0],r=u(t[1]),n=r.toRgb();return{index:e,rgb:[n.r,n.g,n.b,1]}})}function a(t){return t.map(d)}function o(t,e,r){for(var n=new Array(t.length),i=0;i<t.length;++i)n[i]=[t[i],e[i],r[i]];return n}function s(t,e){var r=t.glplot.gl,i=l({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}var l=t(\"gl-mesh3d\"),u=t(\"tinycolor2\"),c=t(\"delaunay-triangulate\"),h=t(\"alpha-shape\"),f=t(\"convex-hull\"),d=t(\"../../lib/str2rgbarray\"),p=n.prototype;p.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},p.update=function(t){function e(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}var r=this.scene,n=r.fullSceneLayout;this.data=t;var s,l=o(e(n.xaxis,t.x,r.dataScale[0],t.xcalendar),e(n.yaxis,t.y,r.dataScale[1],t.ycalendar),e(n.zaxis,t.z,r.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)s=o(t.i,t.j,t.k);else if(0===t.alphahull)s=f(l);else if(t.alphahull>0)s=h(t.alphahull,l);else{var u=[\"x\",\"y\",\"z\"].indexOf(t.delaunayaxis);s=c(l.map(function(t){return[t[(u+1)%3],t[(u+2)%3]]}))}var p={positions:l,cells:s,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:d(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\"#fff\",p.vertexIntensity=t.intensity,p.colormap=i(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolors[0],p.vertexColors=a(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],p.cellColors=a(t.facecolor)):(this.color=t.color,p.meshColor=d(t.color)),this.mesh.update(p)},p.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=s},{\"../../lib/str2rgbarray\":699,\"alpha-shape\":35,\"convex-hull\":93,\"delaunay-triangulate\":105,\"gl-mesh3d\":186,tinycolor2:512}],889:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/colorbar/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function u(t){var e=t.map(function(t){var e=l(t);return e&&Array.isArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var c=u([\"x\",\"y\",\"z\"]),h=u([\"i\",\"j\",\"k\"]);if(!c)return void(e.visible=!1);h&&h.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],s),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"contour.show\",\"contour.color\",\"contour.width\",\"colorscale\",\"reversescale\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(t){l(t)}),\"intensity\"in t?(l(\"intensity\"),l(\"showscale\",!0)):(e.showscale=!1,\"vertexcolor\"in t?l(\"vertexcolor\"):\"facecolor\"in t?l(\"facecolor\"):l(\"color\",r)),e.reversescale&&(e.colorscale=e.colorscale.map(function(t){return[1-t[0],t[1]]}).reverse()),e.showscale&&a(t,e,s)}},{\"../../components/colorbar/defaults\":578,\"../../lib\":681,\"../../registry\":794,\"./attributes\":887}],890:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"mesh3d\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\"],n.meta={},e.exports=n},{\"../../plots/gl3d\":759,\"../heatmap/colorbar\":854,\"./attributes\":887,\"./convert\":888,\"./defaults\":889}],891:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/attributes\"),a=i.line,o={name:{valType:\"string\"},showlegend:{valType:\"boolean\",dflt:!0},line:{color:n.extendFlat({},a.color),width:n.extendFlat({},a.width),dash:n.extendFlat({},a.dash)}};e.exports={x:{valType:\"data_array\"},open:{valType:\"data_array\",dflt:[]},high:{valType:\"data_array\",dflt:[]},low:{valType:\"data_array\",dflt:[]},close:{valType:\"data_array\",dflt:[]},line:{width:n.extendFlat({},a.width,{}),dash:n.extendFlat({},a.dash,{})},increasing:n.extendDeep({},o,{line:{color:{dflt:\"#3D9970\"}}}),decreasing:n.extendDeep({},o,{line:{color:{dflt:\"#FF4136\"}}}),text:{valType:\"string\",dflt:\"\",arrayOk:!0},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3}}},{\"../../lib\":681,\"../scatter/attributes\":924}],892:[function(t,e,r){\"use strict\";function n(t,e,r,n){o(t,e,r,n),r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".line.dash\",e.line.dash)}var i=t(\"../../lib\"),a=t(\"./ohlc_defaults\"),o=t(\"./direction_defaults\"),s=t(\"./attributes\"),l=t(\"./helpers\");e.exports=function(t,e,r,o){function u(r,n){return i.coerce(t,e,s,r,n)}if(l.pushDummyTransformOpts(t,e),0===a(t,e,u,o))return void(e.visible=!1);u(\"line.width\"),u(\"line.dash\"),n(t,e,u,\"increasing\"),n(t,e,u,\"decreasing\"),u(\"text\"),u(\"tickwidth\")}},{\"../../lib\":681,\"./attributes\":891,\"./direction_defaults\":893,\"./helpers\":894,\"./ohlc_defaults\":896}],893:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){r(n+\".showlegend\"),t.showlegend===!1&&(e[n].showlegend=!1),r(n+\".name\",e.name+\" - \"+n)}},{}],894:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},r.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r<e.length;r++)e[r]._ephemeral&&e.splice(r,1);0===e.length&&delete t.transforms}},r.copyOHLC=function(t,e){t.open&&(e.open=t.open),t.high&&(e.high=t.high),t.low&&(e.low=t.low),t.close&&(e.close=t.close)},r.makeTransform=function(t,e,r){var i=n.extendFlat([],t.transforms);return i[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},i},r.getFilterFn=function(t){switch(t){case\"increasing\":return function(t,e){return t<=e};case\"decreasing\":return function(t,e){return t>e}}},r.addRangeSlider=function(t,e){for(var r=!1,n=0;n<t.length;n++)if(t[n].visible===!0){r=!0;break}r&&(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))}},{\"../../lib\":681}],895:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/register\");e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\")},n(t(\"../scatter\")),n(t(\"./transform\"))},{\"../../plot_api/register\":710,\"../../plots/cartesian\":728,\"../scatter\":934,\"./attributes\":891,\"./defaults\":892,\"./transform\":897}],896:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");e.exports=function(t,e,r,i){var a,o=r(\"x\"),s=r(\"open\"),l=r(\"high\"),u=r(\"low\"),c=r(\"close\");return n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],i),a=Math.min(s.length,l.length,u.length,c.length),o&&(a=Math.min(a,o.length))<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.open=s.slice(0,a)),a<l.length&&(e.high=l.slice(0,a)),a<u.length&&(e.low=u.slice(0,a)),a<c.length&&(e.close=c.slice(0,a)),a}},{\"../../registry\":794}],897:[function(t,e,r){\"use strict\";function n(t,e,r){var n={type:\"scatter\",mode:\"lines\",connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:i(t),transforms:s.makeTransform(t,e,r)},a=t[r];return a&&o.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:a.name,showlegend:a.showlegend,line:a.line}),n}function i(t){var e=t.hoverinfo;if(\"all\"===e)return\"x+text+name\";var r=e.split(\"+\"),n=r.indexOf(\"y\"),i=r.indexOf(\"text\");return n!==-1&&(r.splice(n,1),i===-1&&r.push(\"text\")),r.join(\"+\")}function a(t,e,r){var n=r._fullInput,i=n.tickwidth,a=n._minDiff;if(!a){var s=t._fullData,l=[];a=1/0;var u;for(u=0;u<s.length;u++){var c=s[u]._fullInput;if(\"ohlc\"===c.type&&c.visible===!0&&c.xaxis===e._id&&(l.push(c),c.x&&c.x.length>1)){var h=o.simpleMap(c.x,e.d2c,0,r.xcalendar),f=o.distinctVals(h).minDiff;a=Math.min(a,f)}}for(a===1/0&&(a=1),u=0;u<l.length;u++)l[u]._minDiff=a}return a*i}var o=t(\"../../lib\"),s=t(\"./helpers\"),l=t(\"../../plots/cartesian/axes\"),u=t(\"../../plots/cartesian/axis_ids\");r.moduleType=\"transform\",r.name=\"ohlc\",r.attributes={},r.supplyDefaults=function(t,e,r,n){return s.clearEphemeralTransformOpts(n),s.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i<t.length;i++){var a=t[i];\"ohlc\"===a.type?r.push(n(a,e,\"increasing\"),n(a,e,\"decreasing\")):r.push(a)}return s.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){var n,i=r.direction,o=s.getFilterFn(i),c=u.getFromTrace(t,e,\"x\"),h=u.getFromTrace(t,e,\"y\"),f=a(t,c,e),d=e.open,p=e.high,m=e.low,g=e.close,v=e.text,y=d.length,b=[],x=[],_=[];n=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=c.d2c(r,0,n);b.push(c.c2d(i-f,0,n),r,r,r,r,c.c2d(i+f,0,n),null)}:function(t){b.push(t-f,t,t,t,t,t+f,null)};for(var w=function(t,e){return l.tickText(t,t.c2l(e),\"hover\").text},M=e._fullInput.hoverinfo,A=M.split(\"+\"),k=\"all\"===M,T=k||A.indexOf(\"y\")!==-1,E=k||A.indexOf(\"text\")!==-1,S=Array.isArray(v)?function(t){return v[t]||\"\"}:function(){return v},L=0;L<y;L++)o(d[L],g[L])&&(n(L),function(t,e,r,n){x.push(t,t,e,r,n,n,null)}(d[L],p[L],m[L],g[L]),function(t,e,r,n,i){var a=[];T&&(a.push(\"Open: \"+w(h,e)),a.push(\"High: \"+w(h,r)),a.push(\"Low: \"+w(h,n)),a.push(\"Close: \"+w(h,i))),E&&a.push(S(t));var o=a.join(\"<br>\");_.push(o,o,o,o,o,o,null)}(L,d[L],p[L],m[L],g[L]));e.x=b,e.y=x,e.text=_}},{\"../../lib\":681,\"../../plots/cartesian/axes\":720,\"../../plots/cartesian/axis_ids\":723,\"./helpers\":894}],898:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/color_attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../../components/colorscale/scales\"),o=t(\"../../plots/cartesian/layout_attributes\"),s=t(\"../../lib/extend\").extendDeep,l=t(\"../../lib/extend\").extendFlat;e.exports={domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\"},tickvals:o.tickvals,ticktext:o.ticktext,tickformat:{valType:\"string\",dflt:\"3s\"},visible:{valType:\"boolean\",dflt:!0},range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},constraintrange:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},values:{valType:\"data_array\",dflt:[]}},line:l({},s({},n(\"line\"),{colorscale:s({},n(\"line\").colorscale,{dflt:a.Viridis}),autocolorscale:s({},n(\"line\").autocolorscale,{dflt:!1})}),{showscale:{valType:\"boolean\",dflt:!1},colorbar:i})}},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/color_attributes\":583,\"../../components/colorscale/scales\":594,\"../../lib/extend\":673,\"../../plots/cartesian/layout_attributes\":729}],899:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plots/plots\"),a=t(\"./plot\"),o=t(\"../../constants/xmlns_namespaces\"),s=t(\"./constants\");r.name=\"parcoords\",r.attr=\"type\",r.plot=function(t){var e=i.getSubplotCalcData(t.calcdata,\"parcoords\",\"parcoords\");e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords-line-layers\").remove(),n._paperdiv.selectAll(\".parcoords-line-layers\").remove(),n._paperdiv.selectAll(\".parcoords\").remove(),n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},r.toSVG=function(t){function e(e){var n=this,i=n.toDataURL(\"image/png\"),a=r.append(\"svg:image\"),l=t._fullLayout._size,u=t._fullData[e.model.key].domain;a.attr({xmlns:o.svg,\"xlink:href\":i,x:l.l+l.w*u.x[0]-s.overdrag,y:l.t+l.h*(1-u.y[1]),width:(u.x[1]-u.x[0])*l.w+2*s.overdrag,height:(u.y[1]-u.y[0])*l.h,preserveAspectRatio:\"none\"})}var r=t._fullLayout._glimages,i=n.selectAll(\".svg-container\");i.filter(function(t,e){return e===i.size()-1}).selectAll(\".parcoords-lines.context, .parcoords-lines.focus\").each(e),window.setTimeout(function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}},{\"../../constants/xmlns_namespaces\":665,\"../../plots/plots\":779,\"./constants\":902,\"./plot\":907,d3:104}],900:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"../../lib\");e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArray(e.line.color),o=r?e.line.color:Array.apply(0,Array(e.dimensions.reduce(function(t,e){return Math.max(t,e.values.length)},0))).map(function(){return.5}),s=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return e.line.color=o,e.line.colorscale=s,n(e,\"line\")&&i(e,e.line.color,\"line\",\"c\"),[{}]}},{\"../../components/colorscale/calc\":582,\"../../components/colorscale/has_colorscale\":589,\"../../lib\":681}],901:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../components/colorscale\"),s=t(\"../../components/colorbar/draw\");e.exports=function(t,e){var r=e[0].trace,l=r.line,u=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+u).remove(),void 0===l||!l.showscale)return void a.autoMargin(t,u);var c=l.color,h=l.cmin,f=l.cmax;n(h)||(h=i.aggNums(Math.min,null,c)),n(f)||(f=i.aggNums(Math.max,null,c));var d=e[0].t.cb=s(t,u),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,h,f),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:h,end:f,size:(f-h)/254}).options(l.colorbar)()}},{\"../../components/colorbar/draw\":579,\"../../components/colorscale\":590,\"../../lib\":681,\"../../plots/plots\":779,\"fast-isnumeric\":113}],902:[function(t,e,r){\"use strict\";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,\ncapturewidth:10,fillcolor:\"magenta\",fillopacity:1,strokecolor:\"white\",strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0}}},{}],903:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){i(\"line.color\",r),i(\"line.colorscale\"),s(t,\"line\")?l(t,e,n,i,{prefix:\"line.\",cLetter:\"c\"}):i(\"line.color\",r)}function i(t,e){function r(t,e){return a.coerce(n,i,o.dimensions,t,e)}var n,i,s,l=t.dimensions||[],c=e.dimensions=[],h=1/0;for(l.length>u&&(a.log(\"parcoords traces support up to \"+u+\" dimensions at the moment\"),l.splice(u)),s=0;s<l.length;s++)if(n=l[s],i={},a.isPlainObject(n)){var f=r(\"values\"),d=r(\"visible\",f.length>0);d&&(r(\"label\"),r(\"tickvals\"),r(\"ticktext\"),r(\"tickformat\"),r(\"range\"),r(\"constraintrange\"),h=Math.min(h,i.values.length)),i._index=s,c.push(i)}if(isFinite(h))for(s=0;s<c.length;s++)i=c[s],i.visible&&i.values.length>h&&(i.values=i.values.slice(0,h));return c}var a=t(\"../../lib\"),o=t(\"./attributes\"),s=t(\"../../components/colorscale/has_colorscale\"),l=t(\"../../components/colorscale/defaults\"),u=t(\"./constants\").maxDimensionCount;e.exports=function(t,e,r,s){function l(r,n){return a.coerce(t,e,o,r,n)}var u=i(t,e);n(t,e,r,s,l),l(\"domain.x\"),l(\"domain.y\"),Array.isArray(u)&&u.length||(e.visible=!1)}},{\"../../components/colorscale/defaults\":585,\"../../components/colorscale/has_colorscale\":589,\"../../lib\":681,\"./attributes\":898,\"./constants\":902}],904:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./colorbar\"),n.moduleType=\"trace\",n.name=\"parcoords\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"gl\"],n.meta={},e.exports=n},{\"./attributes\":898,\"./base_plot\":899,\"./calc\":900,\"./colorbar\":901,\"./defaults\":903,\"./plot\":907}],905:[function(t,e,r){\"use strict\";function n(t){t.read({x:0,y:0,width:1,height:1,data:x})}function i(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function a(t,e,r,a,o,s){function l(n){var c;c=Math.min(a,o-n*a),s.offset=v*n*a,s.count=v*c,0===n&&(window.cancelAnimationFrame(r.currentRafs[u]),delete r.currentRafs[u],i(t,s.scissorX,s.scissorY,s.scissorWidth,s.viewBoxSize[1])),r.clearOnly||(e(s),n*a+c<o&&(r.currentRafs[u]=window.requestAnimationFrame(function(){l(n+1)})),r.drawCompleted=!1)}var u=s.key;r.drawCompleted||(n(t),r.drawCompleted=!0),l(0)}function o(t){return Math.max(m,Math.min(1-m,t))}function s(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?b:a).concat(r))}return n}function l(t,e){return(t>>>8*e)%256/255}function u(t,e,r,n){for(var i=[],a=0;a<t;a++)for(var s=0;s<g;s++)i.push(s<e?r[s].paddedUnitValues[a]:s===g-1?o(n[a]):s>=g-4?l(a,g-2-s):.5);return i}function c(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<v;a++)for(n=0;n<y;n++)o.push(e[i*g+r*y+n]),r*y+n===g-1&&a%2==0&&(o[o.length-1]*=-1);return o}function h(t,e){var r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],n=r.map(function(r){return c(t,e,r)}),i={};return n.forEach(function(t,e){i[\"p\"+e.toString(16)]=t}),i}function f(t,e,r){return t+e<=r}var d=t(\"regl\"),p=t(\"./constants\").verticalPadding,m=1e-6,g=64,v=2,y=4,b=[119,119,119],x=new Uint8Array(4),_=new Uint8Array(4);e.exports=function(t,e,r,n,o,l,c,m,g,v){function y(t){j[0]=t[0],j[1]=t[1]}function b(t,e,i,a,o,s,l,u,c,h,d){var g,v,y,b,x=[t,e],_=p/s,w=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),M=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(g=0;g<2;g++)for(b=x[g],v=0;v<4;v++)for(y=0;y<16;y++){var A=y+16*v;w[g][v][y]=y+16*v===b?1:0,M[g][v][y]=(!m&&f(y,16*v,I)?k[0===A?0:1+(A-1)%(k.length-1)].filter[g]:g)+(2*g-1)*_}return{key:l,resolution:[r,n],viewBoxPosition:[i+D,a],viewBoxSize:[o,s],i:t,ii:e,dim1A:w[0][0],dim1B:w[0][1],dim1C:w[0][2],dim1D:w[0][3],dim2A:w[1][0],dim2B:w[1][1],dim2C:w[1][2],dim2D:w[1][3],loA:M[0][0],loB:M[0][1],loC:M[0][2],loD:M[0][3],hiA:M[1][0],hiB:M[1][1],hiC:M[1][2],hiD:M[1][3],colorClamp:j,scatter:u||0,scissorX:c===h?0:i+D,scissorWidth:(c===d?r-i+D:o+.5)+(c===h?i+D:0),scissorY:a,scissorHeight:s}}function x(t,o,s){var l,u,c,h=1/0,f=-(1/0);for(l=0;l<I;l++)t[l].dim2.canvasX>f&&(f=t[l].dim2.canvasX,c=l),t[l].dim1.canvasX<h&&(h=t[l].dim1.canvasX,u=l);for(0===I&&i(O,0,0,r,n),l=0;l<I;l++){var d=t[l],p=d.dim1,m=p.crossfilterDimensionIndex,g=d.canvasX,y=d.canvasY,x=d.dim2,_=x.crossfilterDimensionIndex,w=d.panelSizeX,M=d.panelSizeY,k=g+w;if(o||!N[m]||N[m][0]!==g||N[m][1]!==k){N[m]=[g,k];var T=b(m,_,g,y,w,M,p.crossfilterDimensionIndex,v||p.scatter?1:0,l,u,c);A.clearOnly=s,a(O,F,A,o?e.blockLineCount:E,E,T)}}}function w(t,e){return O.read({x:t,y:e,width:1,height:1,data:_}),_}function M(t,e,r,n){var i=new Uint8Array(4*r*n);return O.read({x:t,y:e,width:r,height:n,data:i}),i}var A={currentRafs:{},drawCompleted:!0,clearOnly:!1},k=o.slice(),T=k.length,E=k[0]?k[0].values.length:0,S=m,L=g?e.color.map(function(t,r){return r/e.color.length}):e.color,C=Math.max(1/255,Math.pow(1/L.length,1/3)),D=e.canvasOverdrag,I=l.length,z=u(E,T,k,L),P=h(E,z),O=d({canvas:t,attributes:{preserveDrawingBuffer:!0,antialias:!g}}),R=O.texture({shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:s(c,m,Math.round(255*(m?C:1)))}),F=O({profile:!1,blend:{enable:S,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!S,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:O.prop(\"scissorX\"),y:O.prop(\"scissorY\"),width:O.prop(\"scissorWidth\"),height:O.prop(\"scissorHeight\")}},dither:!1,vert:g?\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 p0, p1, p2, p3,\\n               p4, p5, p6, p7,\\n               p8, p9, pa, pb,\\n               pc, pd, pe;\\n\\nattribute vec4 pf;\\n\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution,\\n             viewBoxPosition,\\n             viewBoxSize;\\n\\nuniform sampler2D palette;\\n\\nuniform vec2 colorClamp;\\n\\nuniform float scatter;\\n\\nvarying vec4 fragColor;\\n\\nvec4 zero = vec4(0, 0, 0, 0);\\nvec4 unit = vec4(1, 1, 1, 1);\\nvec2 xyProjection = vec2(1, 1);\\n\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\n                clamp(m[1], lo[1], hi[1]),\\n                clamp(m[2], lo[2], hi[2]),\\n                clamp(m[3], lo[3], hi[3]));\\n}\\n\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\n    return mclamp(p, lo, hi) == p;\\n}\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * unit, unit);\\n}\\n\\nvoid main() {\\n\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\n    float prominence = abs(pf[3]);\\n    float depth = 1.0 - prominence;\\n\\n    mat4 pA = mat4(p0, p1, p2, p3);\\n    mat4 pB = mat4(p4, p5, p6, p7);\\n    mat4 pC = mat4(p8, p9, pa, pb);\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\n\\n    float show = float(mshow(pA, loA, hiA) &&\\n                       mshow(pB, loB, hiB) &&\\n                       mshow(pC, loC, hiC) &&\\n                       mshow(pD, loD, hiD));\\n\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\n\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\n\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\n\\n    float y = dot(yy, dimensionToggle);\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\n\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\n\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\n\\n    gl_Position = vec4(\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\n        depthOrHide,\\n        1.0\\n    );\\n\\n    // pick coloring\\n    fragColor = vec4(pf.rgb, 1.0);\\n}\\n\":\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 p0, p1, p2, p3,\\n               p4, p5, p6, p7,\\n               p8, p9, pa, pb,\\n               pc, pd, pe;\\n\\nattribute vec4 pf;\\n\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution,\\n             viewBoxPosition,\\n             viewBoxSize;\\n\\nuniform sampler2D palette;\\n\\nuniform vec2 colorClamp;\\n\\nuniform float scatter;\\n\\nvarying vec4 fragColor;\\n\\nvec4 zero = vec4(0, 0, 0, 0);\\nvec4 unit = vec4(1, 1, 1, 1);\\nvec2 xyProjection = vec2(1, 1);\\n\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\n                clamp(m[1], lo[1], hi[1]),\\n                clamp(m[2], lo[2], hi[2]),\\n                clamp(m[3], lo[3], hi[3]));\\n}\\n\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\n    return mclamp(p, lo, hi) == p;\\n}\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * unit, unit);\\n}\\n\\nvoid main() {\\n\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\n    float prominence = abs(pf[3]);\\n    float depth = 1.0 - prominence;\\n\\n    mat4 pA = mat4(p0, p1, p2, p3);\\n    mat4 pB = mat4(p4, p5, p6, p7);\\n    mat4 pC = mat4(p8, p9, pa, pb);\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\n\\n    float show = float(mshow(pA, loA, hiA) &&\\n                       mshow(pB, loB, hiB) &&\\n                       mshow(pC, loC, hiC) &&\\n                       mshow(pD, loD, hiD));\\n\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\n\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\n\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\n\\n    float y = dot(yy, dimensionToggle);\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\n\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\n\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\n\\n    gl_Position = vec4(\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\n        depthOrHide,\\n        1.0\\n    );\\n\\n    // visible coloring\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\n}\\n\",frag:\"precision lowp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n    gl_FragColor = fragColor;\\n}\\n\",primitive:\"lines\",lineWidth:1,attributes:P,uniforms:{resolution:O.prop(\"resolution\"),viewBoxPosition:O.prop(\"viewBoxPosition\"),viewBoxSize:O.prop(\"viewBoxSize\"),dim1A:O.prop(\"dim1A\"),dim2A:O.prop(\"dim2A\"),dim1B:O.prop(\"dim1B\"),dim2B:O.prop(\"dim2B\"),dim1C:O.prop(\"dim1C\"),dim2C:O.prop(\"dim2C\"),dim1D:O.prop(\"dim1D\"),dim2D:O.prop(\"dim2D\"),loA:O.prop(\"loA\"),hiA:O.prop(\"hiA\"),loB:O.prop(\"loB\"),hiB:O.prop(\"hiB\"),loC:O.prop(\"loC\"),hiC:O.prop(\"hiC\"),loD:O.prop(\"loD\"),hiD:O.prop(\"hiD\"),palette:R,colorClamp:O.prop(\"colorClamp\"),scatter:O.prop(\"scatter\")},offset:O.prop(\"offset\"),count:O.prop(\"count\")}),j=[0,1],N=[];return{setColorDomain:y,render:x,readPixel:w,readPixels:M,destroy:O.destroy}}},{\"./constants\":902,regl:478}],906:[function(t,e,r){\"use strict\";function n(t){return t.key}function i(t){return[t]}function a(t){return!(\"visible\"in t)||t.visible}function o(t){var e=t.range?t.range[0]:_.min(t.values),r=t.range?t.range[1]:_.max(t.values);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function s(t,e){var r,n,i,a,o;for(r=0,n=t.range(),i=1/0,a=n[0],o;r<n.length;r++){if((o=Math.abs(n[r]-e))>i)return a;i=o,a=n[r]}return n[n.length-1]}function l(t,e,r){var n=o(r);return r.tickvals?_.scale.ordinal().domain(r.tickvals).range(r.tickvals.map(function(t){return(t-n[0])/(n[1]-n[0])}).map(function(r){return t-e+r*(e-(t-e))})):_.scale.linear().domain(n).range([t-e,e])}function u(t,e){return _.scale.linear().range([t-e,e])}function c(t){return _.scale.linear().domain(o(t))}function h(t){var e=o(t);return t.tickvals&&_.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}function f(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return t[1]}),n=r.map(function(t){return _.rgb(t)}),i=function(t){return function(e){return e[t]}},a=\"rgb\".split(\"\").map(function(t){return _.scale.linear().clamp(!0).domain(e).range(n.map(i(t)))});return function(t){return a.map(function(e){return e(t)})}}function d(t){return t[0]}function p(t,e,r){var n=d(e).trace,i=n.line,o=n.domain,s=n.dimensions,l=t.width,u=x.extendDeep({},i,{color:i.color.map(c({values:i.color,range:[i.cmin,i.cmax]})),blockLineCount:b.blockLineCount,canvasOverdrag:b.overdrag*b.canvasPixelRatio}),h=Math.floor(l*(o.x[1]-o.x[0])),p=Math.floor(t.height*(o.y[1]-o.y[0])),m=t.margin||{l:80,r:80,t:100,b:80},g=h,v=p;return{key:r,colCount:s.filter(a).length,dimensions:s,tickDistance:b.tickDistance,unitToColor:f(i.colorscale),lines:u,translateX:o.x[0]*l,translateY:t.height-o.y[1]*t.height,pad:m,canvasWidth:g*b.canvasPixelRatio+2*u.canvasOverdrag,canvasHeight:v*b.canvasPixelRatio,width:g,height:v,canvasPixelRatio:b.canvasPixelRatio}}function m(t){var e=t.width,r=t.height,n=t.dimensions,i=t.canvasPixelRatio,o=function(r){return e*r/Math.max(1,t.colCount-1)},s=b.verticalPadding/(r*i),f=1-2*s,d=function(t){return s+f*t},p={key:t.key,xScale:o,model:t},m={};return p.dimensions=n.filter(a).map(function(e,n){var a=c(e),s=m[e.label];return m[e.label]=(s||0)+1,{key:e.label+(s?\"__\"+s:\"\"),label:e.label,tickFormat:e.tickformat,tickvals:e.tickvals,ticktext:e.ticktext,ordinal:!!e.tickvals,scatter:b.scatter||e.scatter,xIndex:n,crossfilterDimensionIndex:n,visibleIndex:e._index,height:r,values:e.values,paddedUnitValues:e.values.map(a).map(d),xScale:o,x:o(n),canvasX:o(n)*i,unitScale:u(r,b.verticalPadding),domainScale:l(r,b.verticalPadding,e),ordinalScale:h(e),domainToUnitScale:a,filter:e.constraintrange?e.constraintrange.map(a):[0,1],parent:p,model:t}}),p}function g(t){return b.layers.map(function(e){return{key:e,context:\"contextLineLayer\"===e,pick:\"pickLineLayer\"===e,viewModel:t,model:t.model}})}function v(t){t.classed(\"axisExtentText\",!0).attr(\"text-anchor\",\"middle\").style(\"font-weight\",100).style(\"font-size\",\"10px\").style(\"cursor\",\"default\").style(\"user-select\",\"none\")}var y=t(\"./lines\"),b=t(\"./constants\"),x=t(\"../../lib\"),_=t(\"d3\");e.exports=function(t,e,r,a,o){function l(t){var e=t.selectAll(\"defs\").data(i,n);e.enter().append(\"defs\");var r=e.selectAll(\"#filterBarPattern\").data(i,n);r.enter().append(\"pattern\").attr(\"id\",\"filterBarPattern\").attr(\"patternUnits\",\"userSpaceOnUse\"),r.attr(\"x\",-b.bar.width).attr(\"width\",b.bar.capturewidth).attr(\"height\",function(t){return t.model.height});var a=r.selectAll(\"rect\").data(i,n);a.enter().append(\"rect\").attr(\"shape-rendering\",\"crispEdges\"),a.attr(\"height\",function(t){return t.model.height}).attr(\"width\",b.bar.width).attr(\"x\",b.bar.width/2).attr(\"fill\",b.bar.fillcolor).attr(\"fill-opacity\",b.bar.fillopacity).attr(\"stroke\",b.bar.strokecolor).attr(\"stroke-opacity\",b.bar.strokeopacity).attr(\"stroke-width\",b.bar.strokewidth)}function u(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function c(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a<1;a++)for(var o=0;o<i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],u=n[o+1];s.dim1=l,s.dim2=u,s.canvasX=l.canvasX,s.panelSizeX=u.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}}function h(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o<i;o++)for(var s=0;s<i;s++){var l=r[s+o*i]||(r[s+o*i]={}),u=n[s],c=n[s+1];l.dim1=n[o+1],l.dim2=c,l.canvasX=u.canvasX,l.panelSizeX=c.canvasX-u.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}function f(t,e){return(b.scatter?h:c)(t,e)}function x(t){return t.ordinal?function(){return\"\"}:_.format(t.tickFormat)}function w(){Y=!0,k=!0}function M(t){T=!1;var e=t.parent,r=t.brush.extent(),n=e.dimensions,i=n[t.xIndex].filter,a=Y&&r[0]===r[1];a&&(t.brush.clear(),_.select(this).select(\"rect.extent\").attr(\"y\",-100));var o=a?[0,1]:r.slice();if(o[0]!==i[0]||o[1]!==i[1]){n[t.xIndex].filter=o,e.focusLineLayer&&e.focusLineLayer.render(e.panels,!0);var s=u(e);!X&&s?(e.contextLineLayer&&e.contextLineLayer.render(e.panels,!0),X=!0):X&&!s&&(e.contextLineLayer&&e.contextLineLayer.render(e.panels,!0,!0),X=!1)}Y=!1}function A(t){var e=t.parent,r=t.brush.extent(),n=r[0]===r[1],i=e.dimensions,a=i[t.xIndex].filter;if(!n&&t.ordinal&&(a[0]=s(t.ordinalScale,a[0]),a[1]=s(t.ordinalScale,a[1]),a[0]===a[1]&&(a[0]=Math.max(0,a[0]-.05),a[1]=Math.min(1,a[1]+.05)),_.select(this).transition().duration(150).call(t.brush.extent(a)),e.focusLineLayer.render(e.panels,!0)),e.pickLineLayer&&e.pickLineLayer.render(e.panels,!0),T=!0,k=\"ending\",o&&o.filterChanged){var l=t.domainToUnitScale.invert,u=a.map(l);o.filterChanged(e.key,t.visibleIndex,u)}}var k=!1,T=!0,E=r.filter(function(t){return d(t).trace.visible}).map(p.bind(0,a)).map(m);t.selectAll(\".parcoords-line-layers\").remove();var S=t.selectAll(\".parcoords-line-layers\").data(E,n);S.enter().insert(\"div\",\".\"+e.attr(\"class\").split(\" \").join(\" .\")).classed(\"parcoords-line-layers\",!0).style(\"box-sizing\",\"content-box\"),S.style(\"transform\",function(t){return\"translate(\"+(t.model.translateX-b.overdrag)+\"px,\"+t.model.translateY+\"px)\"});var L=S.selectAll(\".parcoords-lines\").data(g,n),C={renderers:[],dimensions:[]},D=null;L.enter().append(\"canvas\").attr(\"class\",function(t){return\"parcoords-lines \"+(t.context?\"context\":t.pick?\"pick\":\"focus\")}).style(\"box-sizing\",\"content-box\").style(\"float\",\"left\").style(\"clear\",\"both\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"position\",function(t,e){return\"absolute\"}).filter(function(t){return t.pick}).on(\"mousemove\",function(t){if(T&&t.lineLayer&&o&&o.hover){var e=_.event,r=this.width,n=this.height,i=_.mouse(this),a=i[0],s=i[1];if(a<0||s<0||a>=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),u=0!==l[3],c=u?l[2]+256*(l[1]+256*l[0]):null,h={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:c};c!==D&&(u?o.hover(h):o.unhover&&o.unhover(h),D=c)}}),L.style(\"margin\",function(t){var e=t.model.pad;return e.t+\"px \"+e.r+\"px \"+e.b+\"px \"+e.l+\"px\"}).attr(\"width\",function(t){return t.model.canvasWidth}).attr(\"height\",function(t){return t.model.canvasHeight}).style(\"width\",function(t){return t.model.width+2*b.overdrag+\"px\"}).style(\"height\",function(t){return t.model.height+\"px\"}).style(\"opacity\",function(t){return t.pick?.01:1}),e.style(\"background\",\"rgba(255, 255, 255, 0)\");var I=e.selectAll(\".parcoords\").data(E,n);I.exit().remove(),I.enter().append(\"g\").classed(\"parcoords\",!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\").call(l),I.attr(\"width\",function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(\"height\",function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(\"transform\",function(t){return\"translate(\"+t.model.translateX+\",\"+t.model.translateY+\")\"});var z=I.selectAll(\".parcoordsControlView\").data(i,n);z.enter().append(\"g\").classed(\"parcoordsControlView\",!0).style(\"box-sizing\",\"content-box\"),z.attr(\"transform\",function(t){return\"translate(\"+t.model.pad.l+\",\"+t.model.pad.t+\")\"});var P=z.selectAll(\".yAxis\").data(function(t){return t.dimensions},n);P.enter().append(\"g\").classed(\"yAxis\",!0).each(function(t){C.dimensions.push(t)}),z.each(function(t){f(P,t)}),L.each(function(t){t.lineLayer=y(this,t.model.lines,t.model.canvasWidth,t.model.canvasHeight,t.viewModel.dimensions,t.viewModel.panels,t.model.unitToColor,t.context,t.pick,b.scatter),t.viewModel[t.key]=t.lineLayer,C.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),P.attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),P.call(_.behavior.drag().origin(function(t){return t}).on(\"drag\",function(t){var e=t.parent;T=!1,k||(t.x=Math.max(-b.overdrag,Math.min(t.model.width+b.overdrag,_.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,P.sort(function(t,e){return t.x-e.x}).each(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio}),f(P,e),P.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),_.select(this).attr(\"transform\",\"translate(\"+t.x+\", 0)\"),P.each(function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)}),e.contextLineLayer&&e.contextLineLayer.render(e.panels,!1,!u(e)),e.focusLineLayer.render&&e.focusLineLayer.render(e.panels))}).on(\"dragend\",function(t){var e=t.parent;if(k)return void(\"ending\"===k&&(k=!1));t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,f(P,e),_.select(this).attr(\"transform\",function(t){return\"translate(\"+t.x+\", 0)\"}),e.contextLineLayer&&e.contextLineLayer.render(e.panels,!1,!u(e)),e.focusLineLayer&&e.focusLineLayer.render(e.panels),e.pickLineLayer&&e.pickLineLayer.render(e.panels,!0),T=!0,o&&o.axesMoved&&o.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),P.exit().remove();var O=P.selectAll(\".axisOverlays\").data(i,n);O.enter().append(\"g\").classed(\"axisOverlays\",!0),O.selectAll(\".axis\").remove();var R=O.selectAll(\".axis\").data(i,n);R.enter().append(\"g\").classed(\"axis\",!0),R.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain(),i=t.ticktext;_.select(this).call(_.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n.map(function(t,e){return i&&i[e]||t}):null).tickFormat(t.ordinal?function(t){return t}:null).scale(r))}),R.selectAll(\".domain, .tick\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),R.selectAll(\"text\").style(\"font-weight\",100).style(\"font-size\",\"10px\").style(\"fill\",\"black\").style(\"fill-opacity\",1).style(\"stroke\",\"none\").style(\"text-shadow\",\"1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff\").style(\"cursor\",\"default\").style(\"user-select\",\"none\");var F=O.selectAll(\".axisHeading\").data(i,n);F.enter().append(\"g\").classed(\"axisHeading\",!0);var j=F.selectAll(\".axisTitle\").data(i,n);j.enter().append(\"text\").classed(\"axisTitle\",!0).attr(\"text-anchor\",\"middle\").style(\"font-family\",\"sans-serif\").style(\"font-size\",\"10px\").style(\"cursor\",\"ew-resize\").style(\"user-select\",\"none\").style(\"pointer-events\",\"auto\"),j.attr(\"transform\",\"translate(0,\"+-b.axisTitleOffset+\")\").text(function(t){return t.label});var N=O.selectAll(\".axisExtent\").data(i,n);N.enter().append(\"g\").classed(\"axisExtent\",!0);var B=N.selectAll(\".axisExtentTop\").data(i,n);B.enter().append(\"g\").classed(\"axisExtentTop\",!0),B.attr(\"transform\",\"translate(0,\"+-b.axisExtentOffset+\")\");var U=B.selectAll(\".axisExtentTopText\").data(i,n);U.enter().append(\"text\").classed(\"axisExtentTopText\",!0).attr(\"alignment-baseline\",\"after-edge\").call(v),U.text(function(t){return x(t)(t.domainScale.domain().slice(-1)[0])});var V=N.selectAll(\".axisExtentBottom\").data(i,n);V.enter().append(\"g\").classed(\"axisExtentBottom\",!0),V.attr(\"transform\",function(t){return\"translate(0,\"+(t.model.height+b.axisExtentOffset)+\")\"});var H=V.selectAll(\".axisExtentBottomText\").data(i,n);H.enter().append(\"text\").classed(\"axisExtentBottomText\",!0).attr(\"alignment-baseline\",\"before-edge\").call(v),H.text(function(t){return x(t)(t.domainScale.domain()[0])});var q=O.selectAll(\".axisBrush\").data(i,n),G=q.enter().append(\"g\").classed(\"axisBrush\",!0);q.each(function(t){t.brush||(t.brush=_.svg.brush().y(t.unitScale).on(\"brushstart\",w).on(\"brush\",M).on(\"brushend\",A),0===t.filter[0]&&1===t.filter[1]||t.brush.extent(t.filter),_.select(this).call(t.brush))}),G.selectAll(\"rect\").attr(\"x\",-b.bar.capturewidth/2).attr(\"width\",b.bar.capturewidth),G.selectAll(\"rect.extent\").attr(\"fill\",\"url(#filterBarPattern)\").style(\"cursor\",\"ns-resize\").filter(function(t){return 0===t.filter[0]&&1===t.filter[1]}).attr(\"y\",-100),G.selectAll(\".resize rect\").attr(\"height\",b.bar.handleheight).attr(\"opacity\",0).style(\"visibility\",\"visible\"),G.selectAll(\".resize.n rect\").style(\"cursor\",\"n-resize\").attr(\"y\",b.bar.handleoverlap-b.bar.handleheight),G.selectAll(\".resize.s rect\").style(\"cursor\",\"s-resize\").attr(\"y\",b.bar.handleoverlap);var Y=!1,X=!1;return C}},{\"../../lib\":681,\"./constants\":902,\"./lines\":905,d3:104}],907:[function(t,e,r){\"use strict\";var n=t(\"./parcoords\");e.exports=function(t,e){var r=t._fullLayout,i=r._paper,a=r._paperdiv,o={},s={},l=r._size;e.forEach(function(e,r){o[r]=t.data[r].dimensions,s[r]=t.data[r].dimensions.slice()});var u=function(e,r,n){var i=s[e][r],a=i.constraintrange;a&&2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],t.emit(\"plotly_restyle\")},c=function(e){t.emit(\"plotly_hover\",e)},h=function(e){t.emit(\"plotly_unhover\",e)},f=function(e,r){function n(t){return!(\"visible\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return i===-1&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(s[e].filter(n));o[e].sort(a),s[e].filter(function(t){return!n(t)}).sort(function(t){return s[e].indexOf(t)}).forEach(function(t){o[e].splice(o[e].indexOf(t),1),o[e].splice(s[e].indexOf(t),0,t)}),t.emit(\"plotly_restyle\")};n(a,i,e,{width:l.w,height:l.h,margin:{t:l.t,r:l.r,b:l.b,l:l.l}},{filterChanged:u,hover:c,unhover:h,axesMoved:f})}},{\"./parcoords\":906}],908:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports={labels:{valType:\"data_array\"},label0:{valType:\"number\",dflt:0},dlabel:{valType:\"number\",dflt:1},values:{valType:\"data_array\"},marker:{colors:{valType:\"data_array\"},line:{color:{valType:\"color\",dflt:n.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}}},text:{valType:\"data_array\"},scalegroup:{valType:\"string\",dflt:\"\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"]},hoverinfo:o({},a.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0},textfont:o({},i,{}),insidetextfont:o({},i,{}),outsidetextfont:o({},i,{}),domain:{x:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]},y:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1},{valType:\"number\",min:0,max:1}],dflt:[0,1]}},hole:{valType:\"number\",min:0,max:1,dflt:0},sort:{valType:\"boolean\",dflt:!0},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\"},rotation:{valType:\"number\",min:-360,max:360,dflt:0},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0}}},{\"../../components/color/attributes\":575,\"../../lib/extend\":673,\"../../plots/attributes\":718,\"../../plots/font_attributes\":740}],909:[function(t,e,r){\"use strict\";function n(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a._module===e&&a.visible===!0&&r.push(i)}return r}var i=t(\"../../registry\");r.name=\"pie\",r.plot=function(t){var e=i.getModule(\"pie\"),r=n(t.calcdata,e);r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"pie\"),a=e._has&&e._has(\"pie\");i&&!a&&n._pielayer.selectAll(\"g.trace\").remove()}},{\"../../registry\":794}],910:[function(t,e,r){\"use strict\";function n(t){if(!l){var e=o.defaults;l=e.slice();var r;for(r=0;r<e.length;r++)l.push(a(e[r]).lighten(20).toHexString());for(r=0;r<o.defaults.length;r++)l.push(a(e[r]).darken(20).toHexString())}return l[t%l.length]}var i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../components/color\"),s=t(\"./helpers\");e.exports=function(t,e){var r,l,u,c,h,f,d=e.values,p=e.labels,m=[],g=t._fullLayout,v=g._piecolormap,y={},b=!1,x=0,_=g.hiddenlabels||[];if(e.dlabel)for(p=new Array(d.length),r=0;r<d.length;r++)p[r]=String(e.label0+r*e.dlabel);for(r=0;r<d.length;r++)l=d[r],i(l)&&((l=+l)<0||(u=p[r],void 0!==u&&\"\"!==u||(u=r),u=String(u),void 0===y[u]&&(y[u]=!0,c=a(e.marker.colors[r]),c.isValid()?(c=o.addOpacity(c,c.getAlpha()),v[u]||(v[u]=c)):v[u]?c=v[u]:(c=!1,b=!0),h=_.indexOf(u)!==-1,h||(x+=l),m.push({v:l,label:u,color:c,i:r,hidden:h}))));if(e.sort&&m.sort(function(t,e){return e.v-t.v}),b)for(r=0;r<m.length;r++)f=m[r],f.color===!1&&(v[f.label]=f.color=n(g._piedefaultcolorcount),g._piedefaultcolorcount++);if(m[0]&&(m[0].vTotal=x),e.textinfo&&\"none\"!==e.textinfo){var w,M=e.textinfo.indexOf(\"label\")!==-1,A=e.textinfo.indexOf(\"text\")!==-1,k=e.textinfo.indexOf(\"value\")!==-1,T=e.textinfo.indexOf(\"percent\")!==-1,E=g.separators;for(r=0;r<m.length;r++)f=m[r],w=M?[f.label]:[],A&&e.text[f.i]&&w.push(e.text[f.i]),k&&w.push(s.formatPieValue(f.v,E)),T&&w.push(s.formatPiePercent(f.v/x,E)),f.text=w.join(\"<br>\")}return m};var l},{\"../../components/color\":576,\"./helpers\":912,\"fast-isnumeric\":113,tinycolor2:512}],911:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}var s=n.coerceFont,l=o(\"values\");if(!Array.isArray(l)||!l.length)return void(e.visible=!1);var u=o(\"labels\");Array.isArray(u)||(o(\"label0\"),o(\"dlabel\")),o(\"marker.line.width\")&&o(\"marker.line.color\");var c=o(\"marker.colors\");Array.isArray(c)||(e.marker.colors=[]),o(\"scalegroup\");var h=o(\"text\"),f=o(\"textinfo\",Array.isArray(h)?\"text+percent\":\"percent\");if(o(\"hoverinfo\",1===a._dataLength?\"label+text+value+percent\":void 0),f&&\"none\"!==f){var d=o(\"textposition\"),p=Array.isArray(d)||\"auto\"===d,m=p||\"inside\"===d,g=p||\"outside\"===d;if(m||g){var v=s(o,\"textfont\",a.font);m&&s(o,\"insidetextfont\",v),g&&s(o,\"outsidetextfont\",v)}}o(\"domain.x\"),o(\"domain.y\"),o(\"hole\"),o(\"sort\"),o(\"direction\"),o(\"rotation\"),o(\"pull\")}},{\"../../lib\":681,\"./attributes\":908}],912:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return r.lastIndexOf(\".\")!==-1&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)+\"%\"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return r.lastIndexOf(\".\")!==-1&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)}},{\"../../lib\":681}],913:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.layoutAttributes=t(\"./layout_attributes\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.styleOne=t(\"./style_one\"),n.moduleType=\"trace\",n.name=\"pie\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"pie\",\"showLegend\"],n.meta={},e.exports=n},{\"./attributes\":908,\"./base_plot\":909,\"./calc\":910,\"./defaults\":911,\"./layout_attributes\":914,\"./layout_defaults\":915,\"./plot\":916,\"./style\":917,\"./style_one\":918}],914:[function(t,e,r){\"use strict\";e.exports={hiddenlabels:{valType:\"data_array\"}}},{}],915:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){!function(r,a){n.coerce(t,e,i,r,a)}(\"hiddenlabels\")}},{\"../../lib\":681,\"./layout_attributes\":914}],916:[function(t,e,r){\"use strict\";function n(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,o=Math.PI*Math.min(e.v/r.vTotal,.5),s=1-r.trace.hole,l=i(e,r),u={scale:l*r.r*2/n,rCenter:1-l,rotate:0};if(u.scale>=1)return u;var c=a+1/(2*Math.tan(o)),h=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),s/(Math.sqrt(a*a+s/2)+a)),f={scale:2*h/t.height,rCenter:Math.cos(h/r.r)-h*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},d=1/a,p=d+1/(2*Math.tan(o)),m=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),s/(Math.sqrt(d*d+s/2)+d)),g={scale:2*m/t.width,rCenter:Math.cos(m/r.r)-m/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale>f.scale?g:f;return u.scale<1&&v.scale>u.scale?v:u}function i(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5)\n;return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function a(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function o(t,e){function r(t,e){return t.pxmid[1]-e.pxmid[1]}function n(t,e){return e.pxmid[1]-t.pxmid[1]}var i,a,o,s,l,u,c,h,f,d,p,m,g;for(a=0;a<2;a++)for(o=a?r:n,l=a?Math.max:Math.min,c=a?1:-1,i=0;i<2;i++){for(s=i?Math.max:Math.min,u=i?1:-1,h=t[a][i],h.sort(o),f=t[1-a][i],d=f.concat(h),m=[],p=0;p<h.length;p++)void 0!==h[p].yLabelMid&&m.push(h[p]);for(g=!1,p=0;a&&p<f.length;p++)if(void 0!==f[p].yLabelMid){g=f[p];break}for(p=0;p<m.length;p++){var v=p&&m[p-1];g&&!p&&(v=g),function(t,r){r||(r={});var n,i,o,h,f,p,m=r.labelExtraY+(a?r.yLabelMax:r.yLabelMin),g=a?t.yLabelMin:t.yLabelMax,v=a?t.yLabelMax:t.yLabelMin,y=t.cyFinal+l(t.px0[1],t.px1[1]),b=m-g;if(b*c>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(i=0;i<d.length;i++)(o=d[i])===t||(e.pull[t.i]||0)>=e.pull[o.i]||((t.pxmid[1]-o.pxmid[1])*c>0?(h=o.cyFinal+l(o.px0[1],o.px1[1]),(b=h-g-t.labelExtraY)*c>0&&(t.labelExtraY+=b)):(v+t.labelExtraY-y)*c>0&&(n=3*u*Math.abs(i-d.indexOf(t)),f=o.cxFinal+s(o.px0[0],o.px1[0]),(p=f+n-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*u>0&&(t.labelExtraX+=p)))}(m[p],v)}}}function s(t,e){var r,n,i,a,o,s,l,c,h,f,d=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.tiltaxis*Math.PI/180,c=s.pull,Array.isArray(c))for(c=0,a=0;a<s.pull.length;a++)s.pull[a]>c&&(c=s.pull[a]);o.r=Math.min(r/u(s.tilt,Math.sin(l),s.depth),n/u(s.tilt,Math.cos(l),s.depth))/(2+2*c),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&d.indexOf(s.scalegroup)===-1&&d.push(s.scalegroup)}for(a=0;a<d.length;a++){for(f=1/0,h=d[a],i=0;i<t.length;i++)o=t[i][0],o.trace.scalegroup===h&&(f=Math.min(f,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)o=t[i][0],o.trace.scalegroup===h&&(o.r=Math.sqrt(f*o.vTotal))}}function l(t){function e(t){var e=h.r*Math.sin(t),r=-h.r*Math.cos(t);return d?[e*(1-s*n*n)+r*o*s,e*o*s+r*(1-s*i*i),Math.sin(a)*(r*i-e*n)]:[e,r]}var r,n,i,a,o,s,l,u,c,h=t[0],f=h.trace,d=f.tilt,p=f.rotation*Math.PI/180,m=2*Math.PI/h.vTotal,g=\"px0\",v=\"px1\";if(\"counterclockwise\"===f.direction){for(l=0;l<t.length&&t[l].hidden;l++);if(l===t.length)return;p+=m*t[l].v,m*=-1,g=\"px1\",v=\"px0\"}for(d&&(a=d*Math.PI/180,r=f.tiltaxis*Math.PI/180,o=Math.sin(r)*Math.cos(r),s=1-Math.cos(a),n=Math.sin(r),i=Math.cos(r)),c=e(p),l=0;l<t.length;l++)u=t[l],u.hidden||(u[g]=c,p+=m*u.v/2,u.pxmid=e(p),u.midangle=p,p+=m*u.v/2,c=e(p),u[v]=c,u.largeArc=u.v>h.vTotal/2?1:0)}function u(t,e,r){if(!t)return 1;var n=Math.sin(t*Math.PI/180);return Math.max(.01,r*n*Math.abs(e)+2*Math.sqrt(1-n*n*e*e))}var c=t(\"d3\"),h=t(\"../../plots/cartesian/graph_interact\"),f=t(\"../../components/color\"),d=t(\"../../components/drawing\"),p=t(\"../../lib/svg_text_utils\"),m=t(\"./helpers\");e.exports=function(t,e){var r=t._fullLayout;s(e,r._size);var u=r._pielayer.selectAll(\"g.trace\").data(e);u.enter().append(\"g\").attr({\"stroke-linejoin\":\"round\",class:\"trace\"}),u.exit().remove(),u.order(),u.each(function(e){var s=c.select(this),u=e[0],g=u.trace,v=(g.depth||0)*u.r*Math.sin(0)/2,y=g.tiltaxis||0,b=y*Math.PI/180,x=[v*Math.sin(b),v*Math.cos(b)],_=u.r*Math.cos(0),w=s.selectAll(\"g.part\").data(g.tilt?[\"top\",\"sides\"]:[\"top\"]);w.enter().append(\"g\").attr(\"class\",function(t){return t+\" part\"}),w.exit().remove(),w.order(),l(e),s.selectAll(\".top\").each(function(){var s=c.select(this).selectAll(\"g.slice\").data(e);s.enter().append(\"g\").classed(\"slice\",!0),s.exit().remove();var l=[[[],[]],[[],[]]],v=!1;s.each(function(o){function s(e){var n=t._fullLayout,a=t._fullData[g.index],s=a.hoverinfo;if(\"all\"===s&&(s=\"label+text+value+percent+name\"),!t._dragging&&n.hovermode!==!1&&\"none\"!==s&&\"skip\"!==s&&s){var l=i(o,u),c=M+o.pxmid[0]*(1-l),f=A+o.pxmid[1]*(1-l),d=r.separators,p=[];s.indexOf(\"label\")!==-1&&p.push(o.label),a.text&&a.text[o.i]&&s.indexOf(\"text\")!==-1&&p.push(a.text[o.i]),s.indexOf(\"value\")!==-1&&p.push(m.formatPieValue(o.v,d)),s.indexOf(\"percent\")!==-1&&p.push(m.formatPiePercent(o.v/u.vTotal,d)),h.loneHover({x0:c-l*u.r,x1:c+l*u.r,y:f,text:p.join(\"<br>\"),name:s.indexOf(\"name\")!==-1?a.name:void 0,color:o.color,idealAlign:o.pxmid[0]<0?\"left\":\"right\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node()}),h.hover(t,e,\"pie\"),E=!0}}function f(e){t.emit(\"plotly_unhover\",{points:[e]}),E&&(h.loneUnhover(r._hoverlayer.node()),E=!1)}function b(){t._hoverdata=[o],t._hoverdata.trace=e.trace,h.click(t,{target:!0})}function w(t,e,r,n){return\"a\"+n*u.r+\",\"+n*_+\" \"+y+\" \"+o.largeArc+(r?\" 1 \":\" 0 \")+n*(e[0]-t[0])+\",\"+n*(e[1]-t[1])}if(o.hidden)return void c.select(this).selectAll(\"path,g\").remove();l[o.pxmid[1]<0?0:1][o.pxmid[0]<0?0:1].push(o);var M=u.cx+x[0],A=u.cy+x[1],k=c.select(this),T=k.selectAll(\"path.surface\").data([o]),E=!1;if(T.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),k.select(\"path.textline\").remove(),k.on(\"mouseover\",s).on(\"mouseout\",f).on(\"click\",b),g.pull){var S=+(Array.isArray(g.pull)?g.pull[o.i]:g.pull)||0;S>0&&(M+=S*o.pxmid[0],A+=S*o.pxmid[1])}o.cxFinal=M,o.cyFinal=A;var L=g.hole;if(o.v===u.vTotal){var C=\"M\"+(M+o.px0[0])+\",\"+(A+o.px0[1])+w(o.px0,o.pxmid,!0,1)+w(o.pxmid,o.px0,!0,1)+\"Z\";L?T.attr(\"d\",\"M\"+(M+L*o.px0[0])+\",\"+(A+L*o.px0[1])+w(o.px0,o.pxmid,!1,L)+w(o.pxmid,o.px0,!1,L)+\"Z\"+C):T.attr(\"d\",C)}else{var D=w(o.px0,o.px1,!0,1);if(L){var I=1-L;T.attr(\"d\",\"M\"+(M+L*o.px1[0])+\",\"+(A+L*o.px1[1])+w(o.px1,o.px0,!1,L)+\"l\"+I*o.px0[0]+\",\"+I*o.px0[1]+D+\"Z\")}else T.attr(\"d\",\"M\"+M+\",\"+A+\"l\"+o.px0[0]+\",\"+o.px0[1]+D+\"Z\")}var z=Array.isArray(g.textposition)?g.textposition[o.i]:g.textposition,P=k.selectAll(\"g.slicetext\").data(o.text&&\"none\"!==z?[0]:[]);P.enter().append(\"g\").classed(\"slicetext\",!0),P.exit().remove(),P.each(function(){var t=c.select(this).selectAll(\"text\").data([0]);t.enter().append(\"text\").attr(\"data-notex\",1),t.exit().remove(),t.text(o.text).attr({class:\"slicetext\",transform:\"\",\"data-bb\":\"\",\"text-anchor\":\"middle\",x:0,y:0}).call(d.font,\"outside\"===z?g.outsidetextfont:g.insidetextfont).call(p.convertToTspans),t.selectAll(\"tspan.line\").attr({x:0,y:0});var e,r=d.bBox(t.node());\"outside\"===z?e=a(r,o):(e=n(r,o,u),\"auto\"===z&&e.scale<1&&(t.call(d.font,g.outsidetextfont),g.outsidetextfont.family===g.insidetextfont.family&&g.outsidetextfont.size===g.insidetextfont.size||(t.attr({\"data-bb\":\"\"}),r=d.bBox(t.node())),e=a(r,o)));var i=M+o.pxmid[0]*e.rCenter+(e.x||0),s=A+o.pxmid[1]*e.rCenter+(e.y||0);e.outside&&(o.yLabelMin=s-r.height/2,o.yLabelMid=s,o.yLabelMax=s+r.height/2,o.labelExtraX=0,o.labelExtraY=0,v=!0),t.attr(\"transform\",\"translate(\"+i+\",\"+s+\")\"+(e.scale<1?\"scale(\"+e.scale+\")\":\"\")+(e.rotate?\"rotate(\"+e.rotate+\")\":\"\")+\"translate(\"+-(r.left+r.right)/2+\",\"+-(r.top+r.bottom)/2+\")\")})}),v&&o(l,g),s.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=c.select(this),r=e.select(\"g.slicetext text\");r.attr(\"transform\",\"translate(\"+t.labelExtraX+\",\"+t.labelExtraY+\")\"+r.attr(\"transform\"));var n=t.cxFinal+t.pxmid[0],i=t.cyFinal+t.pxmid[1],a=\"M\"+n+\",\"+i,o=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var s=t.labelExtraX*t.pxmid[1]/t.pxmid[0],l=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);a+=Math.abs(s)>Math.abs(l)?\"l\"+l*t.pxmid[0]/t.pxmid[1]+\",\"+l+\"H\"+(n+t.labelExtraX+o):\"l\"+t.labelExtraX+\",\"+s+\"v\"+(l-s)+\"h\"+o}else a+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+o;e.append(\"path\").classed(\"textline\",!0).call(f.stroke,g.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,g.outsidetextfont.size/8),d:a,fill:\"none\"})}})})}),setTimeout(function(){u.selectAll(\"tspan\").each(function(){var t=c.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))})},0)}},{\"../../components/color\":576,\"../../components/drawing\":599,\"../../lib/svg_text_utils\":700,\"../../plots/cartesian/graph_interact\":727,\"./helpers\":912,d3:104}],917:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"./style_one\");e.exports=function(t){t._fullLayout._pielayer.selectAll(\".trace\").each(function(t){var e=t[0],r=e.trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\".top path.surface\").each(function(t){n.select(this).call(i,t,r)})})}},{\"./style_one\":918,d3:104}],918:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\");e.exports=function(t,e,r){var i=r.marker.line.color;Array.isArray(i)&&(i=i[e.i]||n.defaultLine);var a=r.marker.line.width||0;Array.isArray(a)&&(a=a[e.i]||0),t.style({\"stroke-width\":a,fill:e.color}).call(n.stroke,i)}},{\"../../components/color\":576}],919:[function(t,e,r){\"use strict\";var n=t(\"../scattergl/attributes\");e.exports={x:n.x,y:n.y,xy:{valType:\"data_array\"},indices:{valType:\"data_array\"},xbounds:{valType:\"data_array\"},ybounds:{valType:\"data_array\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1},blend:{valType:\"boolean\",dflt:null},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5},sizemax:{valType:\"number\",min:.1,dflt:20},border:{color:{valType:\"color\",arrayOk:!1},arearatio:{valType:\"number\",min:0,max:1,dflt:0}}}}},{\"../scattergl/attributes\":960}],920:[function(t,e,r){\"use strict\";function n(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=a(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}function i(t,e){var r=new n(t,e.uid);return r.update(e),r}var a=t(\"gl-pointcloud2d\"),o=t(\"../../lib/str2rgbarray\"),s=t(\"../scatter/get_trace_color\"),l=[\"xaxis\",\"yaxis\"],u=n.prototype;u.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},u.update=function(t){this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.updateFast(t),this.color=s(t,{})},u.updateFast=function(t){var e,r,n,i,a,s,l=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,c=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,f=t.indices,d=this.bounds;if(c){if(n=c,e=c.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(s=0;s<e;s++)i=n[2*s],a=n[2*s+1],i<d[0]&&(d[0]=i),i>d[2]&&(d[2]=i),a<d[1]&&(d[1]=a),a>d[3]&&(d[3]=a);if(f)r=f;else for(r=new Int32Array(e),s=0;s<e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s<e;s++)i=l[s],a=u[s],r[s]=s,n[2*s]=i,n[2*s+1]=a,i<d[0]&&(d[0]=i),i>d[2]&&(d[2]=i),a<d[1]&&(d[1]=a),a>d[3]&&(d[3]=a);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=o(t.marker.color),m=o(t.marker.border.color),g=t.opacity*t.marker.opacity;p[3]*=g,this.pointcloudOptions.color=p;var v=t.marker.blend;if(null===v){v=l.length<100||u.length<100}this.pointcloudOptions.blend=v,m[3]*=g,this.pointcloudOptions.borderColor=m;var y=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(d,b/2)},u.expandAxesFast=function(t,e){for(var r,n,i,a=e||.5,o=0;o<2;o++)r=this.scene[l[o]],n=r._min,n||(n=[]),n.push({val:t[o],pad:a}),i=r._max,i||(i=[]),i.push({val:t[o+2],pad:a})},u.dispose=function(){this.pointcloud.dispose()},e.exports=i},{\"../../lib/str2rgbarray\":699,\"../scatter/get_trace_color\":932,\"gl-pointcloud2d\":211}],921:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\")}},{\"../../lib\":681,\"./attributes\":919}],922:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../scatter3d/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"pointcloud\",n.basePlotModule=t(\"../../plots/gl2d\"),n.categories=[\"gl2d\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":756,\"../scatter3d/calc\":948,\"./attributes\":919,\"./convert\":920,\"./defaults\":921}],923:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.customdata,t,\"data\"),n.mergeArray(e.textposition,t,\"tp\"),e.textfont&&(n.mergeArray(e.textfont.size,t,\"ts\"),n.mergeArray(e.textfont.color,t,\"tc\"),n.mergeArray(e.textfont.family,t,\"tf\"));var r=e.marker;if(r){n.mergeArray(r.size,t,\"ms\"),n.mergeArray(r.opacity,t,\"mo\"),n.mergeArray(r.symbol,t,\"mx\"),n.mergeArray(r.color,t,\"mc\");var i=r.line;r.line&&(n.mergeArray(i.color,t,\"mlc\"),n.mergeArray(i.width,t,\"mlw\"))}}},{\"../../lib\":681}],924:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/color_attributes\"),i=t(\"../../components/errorbars/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../components/drawing\"),s=(t(\"./constants\"),t(\"../../lib/extend\").extendFlat);e.exports={x:{valType:\"data_array\"},x0:{valType:\"any\",dflt:0},dx:{valType:\"number\",dflt:1},y:{valType:\"data_array\"},y0:{valType:\"any\",dflt:0},customdata:{valType:\"data_array\"},dy:{valType:\"number\",dflt:1},ids:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"]},line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:2},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1},dash:{valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\"},simplify:{valType:\"boolean\",dflt:!0}},connectgaps:{valType:\"boolean\",dflt:!1},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],dflt:\"none\"},fillcolor:{valType:\"color\"},marker:s({},{symbol:{valType:\"enumerated\",values:o.symbolList,dflt:\"circle\",arrayOk:!0},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0},sizeref:{valType:\"number\",dflt:1},sizemin:{valType:\"number\",min:0,dflt:0},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\"},showscale:{valType:\"boolean\",dflt:!1},colorbar:a,line:s({},{width:{valType:\"number\",min:0,arrayOk:!0}},n(\"marker.line\"))},n(\"marker\")),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0},textfont:{family:{valType:\"string\",noBlank:!0,strict:!0,arrayOk:!0},size:{valType:\"number\",min:1,arrayOk:!0},color:{valType:\"color\",arrayOk:!0}},r:{valType:\"data_array\"},t:{valType:\"data_array\"},error_y:i,error_x:i}},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/color_attributes\":583,\"../../components/drawing\":599,\"../../components/errorbars/attributes\":601,\"../../lib/extend\":673,\"./constants\":929}],925:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./subtypes\"),o=t(\"./colorscale_calc\"),s=t(\"./arrays_to_calcdata\");e.exports=function(t,e){var r,l,u,c=i.getFromId(t,e.xaxis||\"x\"),h=i.getFromId(t,e.yaxis||\"y\"),f=c.makeCalcdata(e,\"x\"),d=h.makeCalcdata(e,\"y\"),p=Math.min(f.length,d.length);c._minDtick=0,h._minDtick=0,f.length>p&&f.splice(p,f.length-p),d.length>p&&d.splice(p,d.length-p);var m={padded:!0},g={padded:!0};if(a.hasMarkers(e)){if(r=e.marker,l=r.size,Array.isArray(l)){var v={type:\"linear\"};i.setConvert(v),l=v.makeCalcdata(e.marker,\"size\"),l.length>p&&l.splice(p,l.length-p)}var y,b=1.6*(e.marker.sizeref||1);y=\"area\"===e.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/b),3)}:function(t){return Math.max((t||0)/b,3)},m.ppad=g.ppad=Array.isArray(l)?l.map(y):y(l)}o(e),!(\"tozerox\"===e.fill||\"tonextx\"===e.fill&&t.firstscatter)||f[0]===f[p-1]&&d[0]===d[p-1]?e.error_y.visible||[\"tonexty\",\"tozeroy\"].indexOf(e.fill)===-1&&(a.hasMarkers(e)||a.hasText(e))||(m.padded=!1,m.ppad=0):m.tozero=!0,!(\"tozeroy\"===e.fill||\"tonexty\"===e.fill&&t.firstscatter)||f[0]===f[p-1]&&d[0]===d[p-1]?[\"tonextx\",\"tozerox\"].indexOf(e.fill)!==-1&&(g.padded=!1):g.tozero=!0,i.expand(c,f,m),i.expand(h,d,g);var x=new Array(p);for(u=0;u<p;u++)x[u]=n(f[u])&&n(d[u])?{x:f[u],y:d[u]}:{x:!1,y:!1},e.ids&&(x[u].id=String(e.ids[u]));return s(x,e),t.firstscatter=!1,x}},{\"../../plots/cartesian/axes\":720,\"./arrays_to_calcdata\":923,\"./colorscale_calc\":928,\"./subtypes\":944,\"fast-isnumeric\":113}],926:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if(\"scatter\"===r.type){var n=r.fill;if(\"none\"!==n&&\"toself\"!==n&&(r.opacity=void 0,\"tonexty\"===n||\"tonextx\"===n))for(var i=e-1;i>=0;i--){var a=t[i];if(\"scatter\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],927:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../components/colorscale\"),s=t(\"../../components/colorbar/draw\");e.exports=function(t,e){var r=e[0].trace,l=r.marker,u=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+u).remove(),void 0===l||!l.showscale)return void a.autoMargin(t,u);var c=l.color,h=l.cmin,f=l.cmax;n(h)||(h=i.aggNums(Math.min,null,c)),n(f)||(f=i.aggNums(Math.max,null,c));var d=e[0].t.cb=s(t,u),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,h,f),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:h,end:f,size:(f-h)/254}).options(l.colorbar)()}},{\"../../components/colorbar/draw\":579,\"../../components/colorscale\":590,\"../../lib\":681,\"../../plots/plots\":779,\"fast-isnumeric\":113}],928:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"./subtypes\");e.exports=function(t){a.hasLines(t)&&n(t,\"line\")&&i(t,t.line.color,\"line\",\"c\"),a.hasMarkers(t)&&(n(t,\"marker\")&&i(t,t.marker.color,\"marker\",\"c\"),n(t,\"marker.line\")&&i(t,t.marker.line.color,\"marker.line\",\"c\"))}},{\"../../components/colorscale/calc\":582,\"../../components/colorscale/has_colorscale\":589,\"./subtypes\":944}],929:[function(t,e,r){\"use strict\";e.exports={PTS_LINESONLY:20}},{}],930:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./constants\"),o=t(\"./subtypes\"),s=t(\"./xy_defaults\"),l=t(\"./marker_defaults\"),u=t(\"./line_defaults\"),c=t(\"./line_shape_defaults\"),h=t(\"./text_defaults\"),f=t(\"./fillcolor_defaults\"),d=t(\"../../components/errorbars/defaults\");e.exports=function(t,e,r,p){function m(r,a){return n.coerce(t,e,i,r,a)}var g=s(t,e,p,m),v=g<a.PTS_LINESONLY?\"lines+markers\":\"lines\";if(!g)return void(e.visible=!1);m(\"customdata\"),m(\"text\"),m(\"mode\",v),m(\"ids\"),o.hasLines(e)&&(u(t,e,r,p,m),c(t,e,m),m(\"connectgaps\"),m(\"line.simplify\")),o.hasMarkers(e)&&l(t,e,r,p,m),o.hasText(e)&&h(t,e,p,m);var y=[];(o.hasMarkers(e)||o.hasText(e))&&(m(\"marker.maxdisplayed\"),y.push(\"points\")),m(\"fill\"),\"none\"!==e.fill&&(f(t,e,r,m),o.hasLines(e)||c(t,e,m)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||y.push(\"fills\"),m(\"hoveron\",y.join(\"+\")||\"points\"),d(t,e,r,{axis:\"y\"}),d(t,e,r,{axis:\"x\",inherit:\"y\"})}},{\"../../components/errorbars/defaults\":604,\"../../lib\":681,\"./attributes\":924,\"./constants\":929,\"./fillcolor_defaults\":931,\"./line_defaults\":935,\"./line_shape_defaults\":937,\"./marker_defaults\":940,\"./subtypes\":944,\"./text_defaults\":945,\"./xy_defaults\":946}],931:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\");e.exports=function(t,e,r,i){var a=!1;if(e.marker){var o=e.marker.color,s=(e.marker.line||{}).color;o&&!Array.isArray(o)?a=o:s&&!Array.isArray(s)&&(a=s)}i(\"fillcolor\",n.addOpacity((e.line||{}).color||a||r,.5))}},{\"../../components/color\":576}],932:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./subtypes\");e.exports=function(t,e){var r,a;if(\"lines\"===t.mode)return r=t.line.color,r&&n.opacity(r)?r:t.fillcolor;if(\"none\"===t.mode)return t.fill?t.fillcolor:\"\";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\"\",a?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color,r&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor)}},{\"../../components/color\":576,\"./subtypes\":944}],933:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/graph_interact\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../components/errorbars\"),s=t(\"./get_trace_color\"),l=t(\"../../components/color\");e.exports=function(t,e,r,u){var c=t.cd,h=c[0].trace,f=t.xa,d=t.ya,p=f.c2p(e),m=d.c2p(r),g=[p,m];if(h.hoveron.indexOf(\"points\")!==-1){var v=function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.x)-p)-e,1-3/e)},y=function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(d.c2p(t.y)-m)-e,1-3/e)},b=function(t){var e=Math.max(3,t.mrc||0),r=f.c2p(t.x)-p,n=d.c2p(t.y)-m;return Math.max(Math.sqrt(r*r+n*n)-e,1-3/e)},x=i.getDistanceFunction(u,v,y,b);if(i.getClosest(c,x,t),t.index!==!1){var _=c[t.index],w=f.c2p(_.x,!0),M=d.c2p(_.y,!0),A=_.mrc||1;return n.extendFlat(t,{color:s(h,_),x0:w-A,x1:w+A,xLabelVal:_.x,y0:M-A,y1:M+A,yLabelVal:_.y}),_.tx?t.text=_.tx:h.text&&(t.text=h.text),o.hoverInfo(_,h,t),[t]}}if(h.hoveron.indexOf(\"fills\")!==-1&&h._polygons){var k,T,E,S,L,C,D,I,z,P=h._polygons,O=[],R=!1,F=1/0,j=-(1/0),N=1/0,B=-(1/0);for(k=0;k<P.length;k++)E=P[k],E.contains(g)&&(R=!R,O.push(E),N=Math.min(N,E.ymin),B=Math.max(B,E.ymax));if(R){N=Math.max(N,0),B=Math.min(B,d._length);var U=(N+B)/2;for(k=0;k<O.length;k++)for(S=O[k].pts,T=1;T<S.length;T++)I=S[T-1][1],z=S[T][1],I>U!=z>=U&&(C=S[T-1][0],D=S[T][0],L=C+(D-C)*(U-I)/(z-I),F=Math.min(F,L),j=Math.max(j,L));F=Math.max(F,0),j=Math.min(j,f._length);var V=l.defaultLine;return l.opacity(h.fillcolor)?V=h.fillcolor:l.opacity((h.line||{}).color)&&(V=h.line.color),n.extendFlat(t,{distance:a.MAXDIST+10,x0:F,x1:j,y0:U,y1:U,color:V}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{\"../../components/color\":576,\"../../components/errorbars\":605,\"../../lib\":681,\"../../plots/cartesian/constants\":725,\"../../plots/cartesian/graph_interact\":727,\"./get_trace_color\":932}],934:[function(t,e,r){\"use strict\";var n={},i=t(\"./subtypes\");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.cleanData=t(\"./clean_data\"),n.calc=t(\"./calc\"),n.arraysToCalcdata=t(\"./arrays_to_calcdata\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./colorbar\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"./select\"),n.animatable=!0,n.moduleType=\"trace\",n.name=\"scatter\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"symbols\",\"markerColorscale\",\"errorBarsOK\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":728,\"./arrays_to_calcdata\":923,\"./attributes\":924,\"./calc\":925,\"./clean_data\":926,\"./colorbar\":927,\"./defaults\":930,\"./hover\":933,\"./plot\":941,\"./select\":942,\"./style\":943,\"./subtypes\":944}],935:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,a,o){var s=(t.marker||{}).color;if(o(\"line.color\",r),n(t,\"line\"))i(t,e,a,o,{prefix:\"line.\",cLetter:\"c\"});else{o(\"line.color\",!Array.isArray(s)&&s||r)}o(\"line.width\"),o(\"line.dash\")}},{\"../../components/colorscale/defaults\":585,\"../../components/colorscale/has_colorscale\":589}],936:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){function r(e){var r=_.c2p(t[e].x),i=w.c2p(t[e].y);return r!==n&&i!==n&&[r,i]}function i(t){var e=t[0]/_._length,r=t[1]/w._length;return(1+10*Math.max(0,-e,e-1,-r,r-1))*k}var a,o,s,l,u,c,h,f,d,p,m,g,v,y,b,x,_=e.xaxis,w=e.yaxis,M=e.simplify,A=e.connectGaps,k=e.baseTolerance,T=e.linear,E=[],S=.2,L=new Array(t.length),C=0;for(M||(k=S=-1),a=0;a<t.length;a++)if(o=r(a)){for(C=0,L[C++]=o,a++;a<t.length;a++){if(!(l=r(a))){if(A)continue;break}if(T){if(!((h=function(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}(l,o))<i(l)*S)){for(d=[(l[0]-o[0])/h,(l[1]-o[1])/h],u=o,m=h,g=y=b=0,f=!1,s=l,a++;a<t.length;a++){if(!(c=r(a))){if(A)continue;break}if(p=[c[0]-o[0],c[1]-o[1]],x=p[0]*d[1]-p[1]*d[0],y=Math.min(y,x),(b=Math.max(b,x))-y>i(c))break;s=c,v=p[0]*d[0]+p[1]*d[1],v>m?(m=v,l=c,f=!1):v<g&&(g=v,u=c,f=!0)}if(f?(L[C++]=l,s!==u&&(L[C++]=u)):(u!==o&&(L[C++]=u),s!==l&&(L[C++]=l)),L[C++]=s,a>=t.length||!c)break;L[C++]=c,o=c}}else L[C++]=l}E.push(L.slice(0,C))}return E}},{\"../../constants/numerical\":663}],937:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")}},{}],938:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var n,i,a=null,o=0;o<r.length;++o)n=r[o],i=n[0].trace,i.visible===!0?(i._nexttrace=null,[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(i.fill)!==-1&&(i._prevtrace=a,a&&(a._nexttrace=i)),a=i):i._prevtrace=i._nexttrace=null}},{}],939:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=\"area\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{\"fast-isnumeric\":113}],940:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./subtypes\");e.exports=function(t,e,r,s,l){var u,c=o.isBubble(t),h=(t.line||{}).color;h&&(r=h),l(\"marker.symbol\"),l(\"marker.opacity\",c?.7:1),l(\"marker.size\"),l(\"marker.color\",r),i(t,\"marker\")&&a(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),u=h&&!Array.isArray(h)&&e.marker.color!==h?h:c?n.background:n.defaultLine,l(\"marker.line.color\",u),i(t,\"marker.line\")&&a(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",c?1:0),c&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\"))}},{\"../../components/color\":576,\"../../components/colorscale/defaults\":585,\"../../components/colorscale/has_colorscale\":589,\"./subtypes\":944}],941:[function(t,e,r){\"use strict\";function n(t,e){var r;e.selectAll(\"g.trace\").each(function(t){var e=o.select(this);if(r=t[0].trace,r._nexttrace){if(r._nextFill=e.select(\".js-fill.js-tonext\"),!r._nextFill.size()){var n=\":first-child\";e.select(\".js-fill.js-tozero\").size()&&(n+=\" + *\"),r._nextFill=e.insert(\"path\",n).attr(\"class\",\"js-fill js-tonext\")}}else e.selectAll(\".js-fill.js-tonext\").remove(),r._nextFill=null;r.fill&&(\"tozero\"===r.fill.substr(0,6)||\"toself\"===r.fill||\"to\"===r.fill.substr(0,2)&&!r._prevtrace)?(r._ownFill=e.select(\".js-fill.js-tozero\"),r._ownFill.size()||(r._ownFill=e.insert(\"path\",\":first-child\").attr(\"class\",\"js-fill js-tozero\"))):(e.selectAll(\".js-fill.js-tozero\").remove(),r._ownFill=null)})}function i(t,e,r,n,i,f,p){function m(t){return M?t.transition():t}function g(t){return t.filter(function(t){return t.vis})}function v(t){return t.id}function y(t){if(t.ids)return v}function b(){return!1}function x(t){var e,r,n=t[0].trace,i=o.select(this),a=c.hasMarkers(n),u=c.hasText(n),h=y(n),f=b,d=b;a&&(f=n.marker.maxdisplayed?g:s.identity),u&&(d=n.marker.maxdisplayed?g:s.identity),r=i.selectAll(\"path.point\"),e=r.data(f,h);var p=e.enter().append(\"path\").classed(\"point\",!0);p.call(l.pointStyle,n).call(l.translatePoints,A,k,n),M&&p.style(\"opacity\",0).transition().style(\"opacity\",1),e.each(function(t){var e=o.select(this),r=m(e);l.translatePoint(t,r,A,k),l.singlePointStyle(t,r,n),n.customdata&&e.classed(\"plotly-customdata\",null!==t.data&&void 0!==t.data)}),M?e.exit().transition().style(\"opacity\",0).remove():e.exit().remove(),r=i.selectAll(\"g\"),e=r.data(d,h),e.enter().append(\"g\").append(\"text\"),e.each(function(t){var e=m(o.select(this).select(\"text\"));l.translatePoint(t,e,A,k)}),e.selectAll(\"text\").call(l.textPointStyle,n).each(function(t){var e=t.xp||A.c2p(t.x),r=t.yp||k.c2p(t.y);o.select(this).selectAll(\"tspan\").each(function(){m(o.select(this)).attr({x:e,y:r})})}),e.exit().remove()}var _,w;a(t,e,r,n,i);var M=!!p&&p.duration>0,A=r.xaxis,k=r.yaxis,T=n[0].trace,E=T.line,S=o.select(f);if(S.call(u.plot,r,p),T.visible===!0){m(S).style(\"opacity\",T.opacity);var L,C,D=T.fill.charAt(T.fill.length-1);\"x\"!==D&&\"y\"!==D&&(D=\"\"),n[0].node3=S;var I=\"\",z=[],P=T._prevtrace;P&&(I=P._prevRevpath||\"\",C=P._nextFill,z=P._polygons);var O,R,F,j,N,B,U,V,H,q=\"\",G=\"\",Y=[],X=[],W=s.noop;if(L=T._ownFill,c.hasLines(T)||\"none\"!==T.fill){for(C&&C.datum(n),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(E.shape)!==-1?(F=l.steps(E.shape),j=l.steps(E.shape.split(\"\").reverse().join(\"\"))):F=j=\"spline\"===E.shape?function(t){var e=t[t.length-1];return t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),E.smoothing):l.smoothopen(t,E.smoothing)}:function(t){return\"M\"+t.join(\"L\")},N=function(t){return j(t.reverse())},Y=h(n,{xaxis:A,yaxis:k,connectGaps:T.connectgaps,baseTolerance:Math.max(E.width||1,3)/4,linear:\"linear\"===E.shape,simplify:E.simplify}),H=T._polygons=new Array(Y.length),w=0;w<Y.length;w++)T._polygons[w]=d(Y[w]);Y.length&&(B=Y[0][0],U=Y[Y.length-1],V=U[U.length-1]),X=Y.filter(function(t){return t.length>1}),W=function(t){return function(e){if(O=F(e),R=N(e),q?D?(q+=\"L\"+O.substr(1),G=R+\"L\"+G.substr(1)):(q+=\"Z\"+O,G=R+\"Z\"+G):(q=O,G=R),c.hasLines(T)&&e.length>1){var r=o.select(this);if(r.datum(n),t)m(r.style(\"opacity\",0).attr(\"d\",O).call(l.lineGroupStyle)).style(\"opacity\",1);else{var i=m(r);i.attr(\"d\",O),l.singleLineStyle(n,i)}}}}}var Z=S.selectAll(\".js-line\").data(X);m(Z.exit()).style(\"opacity\",0).remove(),Z.each(W(!1)),Z.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(l.lineGroupStyle).each(W(!0)),Y.length&&(L?B&&V&&(D?(\"y\"===D?B[1]=V[1]=k.c2p(0,!0):\"x\"===D&&(B[0]=V[0]=A.c2p(0,!0)),m(L).attr(\"d\",\"M\"+V+\"L\"+B+\"L\"+q.substr(1))):m(L).attr(\"d\",q+\"Z\")):\"tonext\"===T.fill.substr(0,6)&&q&&I&&(\"tonext\"===T.fill?m(C).attr(\"d\",q+\"Z\"+I+\"Z\"):m(C).attr(\"d\",q+\"L\"+I.substr(1)+\"Z\"),T._polygons=T._polygons.concat(z)),T._prevRevpath=G,T._prevPolygons=H);var J=S.selectAll(\".points\");_=J.data([n]),J.each(x),_.enter().append(\"g\").classed(\"points\",!0).each(x),_.exit().remove()}}function a(t,e,r,n,i){var a=r.xaxis,l=r.yaxis,u=o.extent(s.simpleMap(a.range,a.r2c)),h=o.extent(s.simpleMap(l.range,l.r2c)),f=n[0].trace;if(c.hasMarkers(f)){var d=f.marker.maxdisplayed;if(0!==d){var p=n.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]}),m=Math.ceil(p.length/d),g=0;i.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&g++});var v=Math.round(g*m/3+Math.floor(g/3)*m/7.1);n.forEach(function(t){delete t.vis}),p.forEach(function(t,e){0===Math.round((e+v)%m)&&(t.vis=!0)})}}}var o=t(\"d3\"),s=t(\"../../lib\"),l=t(\"../../components/drawing\"),u=t(\"../../components/errorbars\"),c=t(\"./subtypes\"),h=t(\"./line_points\"),f=t(\"./link_traces\"),d=t(\"../../lib/polygon\").tester;e.exports=function(t,e,r,a,s){var l,u,c,h,d,p=e.plot.select(\"g.scatterlayer\"),m=!a,g=!!a&&a.duration>0;for(c=p.selectAll(\"g.trace\"),h=c.data(r,function(t){return t[0].trace.uid}),h.enter().append(\"g\").attr(\"class\",function(t){return\"trace scatter trace\"+t[0].trace.uid}).style(\"stroke-miterlimit\",2),f(t,e,r),n(t,p),l=0,u=[];l<r.length;l++)u[l]=r[l][0].trace.uid;if(p.selectAll(\"g.trace\").sort(function(t,e){\nreturn u.indexOf(t[0].trace.uid)>u.indexOf(e[0].trace.uid)?1:-1}),g){s&&(d=s());o.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){d&&d()}).each(\"interrupt\",function(){d&&d()}).each(function(){p.selectAll(\"g.trace\").each(function(n,o){i(t,o,e,n,r,this,a)})})}else p.selectAll(\"g.trace\").each(function(n,o){i(t,o,e,n,r,this,a)});m&&h.exit().remove(),p.selectAll(\"path:not([d])\").remove()}},{\"../../components/drawing\":599,\"../../components/errorbars\":605,\"../../lib\":681,\"../../lib/polygon\":691,\"./line_points\":936,\"./link_traces\":938,\"./subtypes\":944,d3:104}],942:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],h=s[0].trace,f=h.index,d=h.marker,p=!n.hasMarkers(h)&&!n.hasText(h);if(h.visible===!0&&!p){var m=Array.isArray(d.opacity)?1:d.opacity;if(e===!1)for(r=0;r<s.length;r++)s[r].dim=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=u.c2p(i.y),e.contains([a,o])?(c.push({curveNumber:f,pointNumber:r,x:i.x,y:i.y,id:i.id}),i.dim=0):i.dim=1;return s[0].node3.selectAll(\"path.point\").style(\"opacity\",function(t){return((t.mo+1||m+1)-1)*(t.dim?.2:1)}),s[0].node3.selectAll(\"text\").style(\"opacity\",function(t){return t.dim?.2:1}),c}}},{\"./subtypes\":944}],943:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/errorbars\");e.exports=function(t){var e=n.select(t).selectAll(\"g.trace.scatter\");e.style(\"opacity\",function(t){return t[0].trace.opacity}),e.selectAll(\"g.points\").each(function(t){var e=n.select(this),r=e.selectAll(\"path.point\"),a=t.trace||t[0].trace;r.call(i.pointStyle,a),e.selectAll(\"text\").call(i.textPointStyle,a)}),e.selectAll(\"g.trace path.js-line\").call(i.lineGroupStyle),e.selectAll(\"g.trace path.js-fill\").call(i.fillGroupStyle),e.call(a.style)}},{\"../../components/drawing\":599,\"../../components/errorbars\":605,d3:104}],944:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports={hasLines:function(t){return t.visible&&t.mode&&t.mode.indexOf(\"lines\")!==-1},hasMarkers:function(t){return t.visible&&t.mode&&t.mode.indexOf(\"markers\")!==-1},hasText:function(t){return t.visible&&t.mode&&t.mode.indexOf(\"text\")!==-1},isBubble:function(t){return n.isPlainObject(t.marker)&&Array.isArray(t.marker.size)}}},{\"../../lib\":681}],945:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i){i(\"textposition\"),n.coerceFont(i,\"textfont\",r.font)}},{\"../../lib\":681}],946:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");e.exports=function(t,e,r,i){var a,o=i(\"x\"),s=i(\"y\");if(n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],r),o)s?(a=Math.min(o.length,s.length),a<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.y=s.slice(0,a))):(a=o.length,i(\"y0\"),i(\"dy\"));else{if(!s)return 0;a=e.y.length,i(\"x0\"),i(\"dx\")}return a}},{\"../../registry\":794}],947:[function(t,e,r){\"use strict\";function n(t){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var i=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/color_attributes\"),o=t(\"../../components/errorbars/attributes\"),s=t(\"../../constants/gl_markers\"),l=t(\"../../lib/extend\").extendFlat,u=i.line,c=i.marker,h=c.line;e.exports={x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},text:l({},i.text,{}),mode:l({},i.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:n(\"x\"),y:n(\"y\"),z:n(\"z\")},connectgaps:i.connectgaps,line:l({},{width:u.width,dash:u.dash,showscale:{valType:\"boolean\",dflt:!1}},a(\"line\")),marker:l({},{symbol:{valType:\"enumerated\",values:Object.keys(s),dflt:\"circle\",arrayOk:!0},size:l({},c.size,{dflt:8}),sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:l({},c.opacity,{arrayOk:!1}),showscale:c.showscale,colorbar:c.colorbar,line:l({},{width:l({},h.width,{arrayOk:!1})},a(\"marker.line\"))},a(\"marker\")),textposition:l({},i.textposition,{dflt:\"top center\"}),textfont:i.textfont,error_x:o,error_y:o,error_z:o}},{\"../../components/colorscale/color_attributes\":583,\"../../components/errorbars/attributes\":601,\"../../constants/gl_markers\":661,\"../../lib/extend\":673,\"../scatter/attributes\":924}],948:[function(t,e,r){\"use strict\";var n=t(\"../scatter/arrays_to_calcdata\"),i=t(\"../scatter/colorscale_calc\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{\"../scatter/arrays_to_calcdata\":923,\"../scatter/colorscale_calc\":928}],949:[function(t,e,r){\"use strict\";function n(t,e,r){if(!e||!e.visible)return null;for(var n=o(e),i=new Array(t.length),a=0;a<t.length;a++){var s=n(+t[a],a);i[a]=[-s[0]*r,s[1]*r]}return i}function i(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}function a(t,e){var r=[n(t.x,t.error_x,e[0]),n(t.y,t.error_y,e[1]),n(t.z,t.error_z,e[2])],a=i(r);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],u=0;u<3;u++)if(r[u])for(var c=0;c<2;c++)l[c][u]=r[u][s][c];o[s]=l}return o}var o=t(\"../../components/errorbars/compute_error\");e.exports=a},{\"../../components/errorbars/compute_error\":603}],950:[function(t,e,r){\"use strict\";function n(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-(1/0),-(1/0),-(1/0)],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}function i(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n<t.length;++n){var l=t[n];!isNaN(l[i])&&isFinite(l[i])&&!isNaN(l[a])&&isFinite(l[a])&&(o.push([l[i],l[a]]),s.push(n))}var u=v(o);for(n=0;n<u.length;++n)for(var c=u[n],h=0;h<c.length;++h)c[h]=s[c[h]];return{positions:t,cells:u,meshColor:e}}function a(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&a.copy_zstyle!==!1&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=b(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}function o(t){var e=[0,0];return Array.isArray(t)?[0,-1]:(t.indexOf(\"bottom\")>=0&&(e[1]+=1),t.indexOf(\"top\")>=0&&(e[1]-=1),t.indexOf(\"left\")>=0&&(e[0]-=1),t.indexOf(\"right\")>=0&&(e[0]+=1),e)}function s(t,e){return e(4*t)}function l(t){return M[t]}function u(t,e,r,n,i){var a=null;if(Array.isArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,y.identity);return a}function c(t,e){var r,n,i,c,h,f,d=[],p=t.fullSceneLayout,m=t.dataScale,g=p.xaxis,v=p.yaxis,w=p.zaxis,M=e.marker,k=e.line,T=e.x||[],E=e.y||[],S=e.z||[],L=T.length,C=e.xcalendar,D=e.ycalendar,I=e.zcalendar;for(n=0;n<L;n++)i=g.d2l(T[n],0,C)*m[0],c=v.d2l(E[n],0,D)*m[1],h=w.d2l(S[n],0,I)*m[2],d[n]=[i,c,h];if(Array.isArray(e.text))f=e.text;else if(void 0!==e.text)for(f=new Array(L),n=0;n<L;n++)f[n]=e.text;if(r={position:d,mode:e.mode,text:f},\"line\"in e&&(r.lineColor=x(k,1,L),r.lineWidth=k.width,r.lineDashes=k.dash),\"marker\"in e){var z=_(e);r.scatterColor=x(M,1,L),r.scatterSize=u(M.size,L,s,20,z),r.scatterMarker=u(M.symbol,L,l,\"\\u25cf\"),r.scatterLineWidth=M.line.width,r.scatterLineColor=x(M.line,1,L),r.scatterAngle=0}\"textposition\"in e&&(r.textOffset=o(e.textposition),r.textColor=x(e.textfont,1,L),r.textSize=u(e.textfont.size,L,y.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var P=[\"x\",\"y\",\"z\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var O=e.projection[P[n]];(r.project[n]=O.show)&&(r.projectOpacity[n]=O.opacity,r.projectScale[n]=O.scale)}r.errorBounds=A(e,m);var R=a([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=b(e.surfacecolor),r}function h(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),\"rgb(\"+t.slice(0,3).map(function(t){return Math.round(255*t)})+\")\"}return null}function f(t,e){var r=new n(t,e.uid);return r.update(e),r}var d=t(\"gl-line3d\"),p=t(\"gl-scatter3d\"),m=t(\"gl-error3d\"),g=t(\"gl-mesh3d\"),v=t(\"delaunay-triangulate\"),y=t(\"../../lib\"),b=t(\"../../lib/str2rgbarray\"),x=t(\"../../lib/gl_format_color\"),_=t(\"../scatter/make_bubble_size_func\"),w=t(\"../../constants/gl3d_dashes\"),M=t(\"../../constants/gl_markers\"),A=t(\"./calc_errors\"),k=n.prototype;k.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels&&void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=\"\";var e=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},k.update=function(t){var e,r,n,a,o=this.scene.glplot.gl,s=w.solid;this.data=t;var l=c(this.scene,t);\"mode\"in l&&(this.mode=l.mode),\"lineDashes\"in l&&l.lineDashes in w&&(s=w[l.lineDashes]),this.color=h(l.scatterColor)||h(l.lineColor),this.dataPoints=l.position,e={gl:o,position:l.position,color:l.lineColor,lineWidth:l.lineWidth||1,dashes:s[0],dashScale:s[1],opacity:t.opacity,connectGaps:t.connectgaps},this.mode.indexOf(\"lines\")!==-1?this.linePlot?this.linePlot.update(e):(this.linePlot=d(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var u=t.opacity;if(t.marker&&t.marker.opacity&&(u*=t.marker.opacity),r={gl:o,position:l.position,color:l.scatterColor,size:l.scatterSize,glyph:l.scatterMarker,opacity:u,orthographic:!0,lineWidth:l.scatterLineWidth,lineColor:l.scatterLineColor,project:l.project,projectScale:l.projectScale,projectOpacity:l.projectOpacity},this.mode.indexOf(\"markers\")!==-1?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=p(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),a={gl:o,position:l.position,glyph:l.text,color:l.textColor,size:l.textSize,angle:l.textAngle,alignment:l.textOffset,font:l.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=l.text,this.mode.indexOf(\"text\")!==-1?this.textMarkers?this.textMarkers.update(a):(this.textMarkers=p(a),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),n={gl:o,position:l.position,color:l.errorColor,error:l.errorBounds,lineWidth:l.errorLineWidth,capSize:l.errorCapSize,opacity:t.opacity},this.errorBars?l.errorBounds?this.errorBars.update(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):l.errorBounds&&(this.errorBars=m(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),l.delaunayAxis>=0){var f=i(l.position,l.delaunayColor,l.delaunayAxis);f.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(f):(f.gl=o,this.delaunayMesh=g(f),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},k.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=f},{\"../../constants/gl3d_dashes\":660,\"../../constants/gl_markers\":661,\"../../lib\":681,\"../../lib/gl_format_color\":678,\"../../lib/str2rgbarray\":699,\"../scatter/make_bubble_size_func\":939,\"./calc_errors\":949,\"delaunay-triangulate\":105,\"gl-error3d\":143,\"gl-line3d\":153,\"gl-mesh3d\":186,\"gl-scatter3d\":233}],951:[function(t,e,r){\"use strict\";function n(t,e,r,n){var a=0,o=r(\"x\"),s=r(\"y\"),l=r(\"z\");return i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),a<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.y=s.slice(0,a)),a<l.length&&(e.z=l.slice(0,a))),a}var i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../scatter/subtypes\"),s=t(\"../scatter/marker_defaults\"),l=t(\"../scatter/line_defaults\"),u=t(\"../scatter/text_defaults\"),c=t(\"../../components/errorbars/defaults\"),h=t(\"./attributes\");e.exports=function(t,e,r,i){function f(r,n){return a.coerce(t,e,h,r,n)}if(!n(t,e,f,i))return void(e.visible=!1);f(\"text\"),f(\"mode\"),o.hasLines(e)&&(f(\"connectgaps\"),l(t,e,r,i,f)),o.hasMarkers(e)&&s(t,e,r,i,f),o.hasText(e)&&u(t,e,i,f);var d=(e.line||{}).color,p=(e.marker||{}).color;f(\"surfaceaxis\")>=0&&f(\"surfacecolor\",d||p);for(var m=[\"x\",\"y\",\"z\"],g=0;g<3;++g){var v=\"projection.\"+m[g];f(v+\".show\")&&(f(v+\".opacity\"),f(v+\".scale\"))}c(t,e,r,{axis:\"z\"}),c(t,e,r,{axis:\"y\",inherit:\"z\"}),c(t,e,r,{axis:\"x\",inherit:\"z\"})}},{\"../../components/errorbars/defaults\":604,\"../../lib\":681,\"../../registry\":794,\"../scatter/line_defaults\":935,\"../scatter/marker_defaults\":940,\"../scatter/subtypes\":944,\"../scatter/text_defaults\":945,\"./attributes\":947}],952:[function(t,e,r){\"use strict\";var n={};n.plot=t(\"./convert\"),n.attributes=t(\"./attributes\"),n.markerSymbols=t(\"../../constants/gl_markers\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"./calc\"),n.moduleType=\"trace\",n.name=\"scatter3d\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\",\"symbols\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../constants/gl_markers\":661,\"../../plots/gl3d\":759,\"../scatter/colorbar\":927,\"./attributes\":947,\"./calc\":948,\"./convert\":950,\"./defaults\":951}],953:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/color_attributes\"),o=t(\"../../lib/extend\").extendFlat,s=n.marker,l=n.line,u=s.line;e.exports={lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\"],dflt:\"ISO-3\"},mode:o({},n.mode,{dflt:\"markers\"}),text:o({},n.text,{}),textfont:n.textfont,textposition:n.textposition,line:{color:l.color,width:l.width,dash:l.dash},connectgaps:n.connectgaps,marker:o({},{symbol:s.symbol,opacity:s.opacity,size:s.size,sizeref:s.sizeref,sizemin:s.sizemin,sizemode:s.sizemode,showscale:s.showscale,colorbar:s.colorbar,line:o({},{width:u.width},a(\"marker.line\"))},a(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:n.fillcolor,hoverinfo:o({},i.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]})}},{\"../../components/colorscale/color_attributes\":583,\"../../lib/extend\":673,\"../../plots/attributes\":718,\"../scatter/attributes\":924}],954:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\");e.exports=function(t,e){for(var r=Array.isArray(e.locations),a=r?e.locations.length:e.lon.length,o=[],s=0,l=0;l<a;l++){var u,c={};if(r){var h=e.locations[l];c.loc=h,u=\"string\"!=typeof h}else{var f=e.lon[l],d=e.lat[l];c.lonlat=[+f,+d],u=!n(f)||!n(d)}u?s>0&&(o[s-1].gapAfter=!0):(s++,o.push(c))}return i(e),o}},{\"../scatter/colorscale_calc\":928,\"fast-isnumeric\":113}],955:[function(t,e,r){\"use strict\";function n(t,e,r){var n,i,a=0,o=r(\"locations\");return o?(r(\"locationmode\"),a=o.length):(n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length),a<n.length&&(e.lon=n.slice(0,a)),a<i.length&&(e.lat=i.slice(0,a)),a)}var i=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,h){function f(r,n){return i.coerce(t,e,c,r,n)}if(!n(t,e,f))return void(e.visible=!1);f(\"text\"),f(\"mode\"),a.hasLines(e)&&(s(t,e,r,h,f),f(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,h,f),a.hasText(e)&&l(t,e,h,f),f(\"fill\"),\"none\"!==e.fill&&u(t,e,r,f),f(\"hoverinfo\",1===h._dataLength?\"lon+lat+location+text\":void 0)}},{\"../../lib\":681,\"../scatter/fillcolor_defaults\":931,\"../scatter/line_defaults\":935,\"../scatter/marker_defaults\":940,\"../scatter/subtypes\":944,\"../scatter/text_defaults\":945,\"./attributes\":953}],956:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.lon?e.lon:null,t}},{}],957:[function(t,e,r){\"use strict\";function n(t,e,r){function n(t){return a.tickText(r,r.c2l(t),\"hover\").text+\"\\xb0\"}var i=t.hoverinfo,o=\"all\"===i?s.hoverinfo.flags:i.split(\"+\"),l=o.indexOf(\"location\")!==-1&&Array.isArray(t.locations),u=o.indexOf(\"lon\")!==-1,c=o.indexOf(\"lat\")!==-1,h=o.indexOf(\"text\")!==-1,f=[];if(l?f.push(e.loc):u&&c?f.push(\"(\"+n(e.lonlat[0])+\", \"+n(e.lonlat[1])+\")\"):u?f.push(\"lon: \"+n(e.lonlat[0])):c&&f.push(\"lat: \"+n(e.lonlat[1])),h){var d=e.tx||t.text;Array.isArray(d)||f.push(d)}return f.join(\"<br>\")}var i=t(\"../../plots/cartesian/graph_interact\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../scatter/get_trace_color\"),s=t(\"./attributes\");e.exports=function(t){function e(t){return c.projection(t)}function r(t){var r=t.lonlat;if(null===r[0]||null===r[1])return 1/0;if(c.isLonLatOverEdges(r))return 1/0;var n=e(r),i=l.c2p(),a=u.c2p(),o=Math.abs(i-n[0]),s=Math.abs(a-n[1]),h=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(o*o+s*s)-h,1-3/h)}var a=t.cd,s=a[0].trace,l=t.xa,u=t.ya,c=t.subplot;if(!a[0].placeholder&&(i.getClosest(a,r,t),t.index!==!1)){var h=a[t.index],f=h.lonlat,d=e(f),p=h.mrc||1;return t.x0=d[0]-p,t.x1=d[0]+p,t.y0=d[1]-p,t.y1=d[1]+p,t.loc=h.loc,t.lat=f[0],t.lon=f[1],t.color=o(s,h),t.extraText=n(s,h,c.mockAxis),[t]}}},{\"../../plots/cartesian/axes\":720,\"../../plots/cartesian/graph_interact\":727,\"../scatter/get_trace_color\":932,\"./attributes\":953}],958:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"scattergeo\",n.basePlotModule=t(\"../../plots/geo\"),n.categories=[\"geo\",\"symbols\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/geo\":744,\"../scatter/colorbar\":927,\"./attributes\":953,\"./calc\":954,\"./defaults\":955,\"./event_data\":956,\"./hover\":957,\"./plot\":959}],959:[function(t,e,r){\"use strict\";function n(t,e){if(!Array.isArray(t.locations))return u.identity;var r=c(t,e),n=t.locationmode;return function(t){var e=h(n,t.loc,r);return e?(t.lonlat=e.properties.ct,t):(t.lonlat=[null,null],!1)}}function i(t,e,r){function n(t,n){d(t,e,n,r)}var i=t.marker;if(n(t.text,\"tx\"),n(t.textposition,\"tp\"),t.textfont&&(n(t.textfont.size,\"ts\"),n(t.textfont.color,\"tc\"),n(t.textfont.family,\"tf\")),i&&i.line){var a=i.line;n(i.opacity,\"mo\"),n(i.symbol,\"mx\"),n(i.color,\"mc\"),n(i.size,\"ms\"),n(a.color,\"mlc\"),n(a.width,\"mlw\")}}function a(t){var e=t.framework.selectAll(\"g.trace.scattergeo\");e.style(\"opacity\",function(t){return t[0].trace.opacity}),e.each(function(t){var e=t[0].trace,r=o.select(this);r.selectAll(\"path.point\").call(s.pointStyle,e),r.selectAll(\"text\").call(s.textPointStyle,e)}),e.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(t){var e=o.select(this),r=t.trace,n=r.line||{};e.call(l.stroke,n.color).call(s.dashLine,n.dash||\"\",n.width||0),\"none\"!==r.fill&&e.call(l.fill,r.fillcolor)})}var o=t(\"d3\"),s=t(\"../../components/drawing\"),l=t(\"../../components/color\"),u=t(\"../../lib\"),c=t(\"../../lib/topojson_utils\").getTopojsonFeatures,h=t(\"../../lib/geo_location_utils\").locationToFeature,f=t(\"../../lib/geojson_utils\"),d=t(\"../../lib/array_to_calc_item\"),p=t(\"../scatter/subtypes\");e.exports=function(t,e){function r(t){return t[0].trace.uid}var s=t.framework.select(\".scattergeolayer\").selectAll(\"g.trace.scattergeo\").data(e,r);s.enter().append(\"g\").attr(\"class\",\"trace scattergeo\"),s.exit().remove(),s.selectAll(\"*\").remove(),s.each(function(e){var r=o.select(this),a=e[0].trace,s=n(a,t.topojson);e[0].placeholder&&r.remove();for(var l=[],u=0;u<e.length;u++){var c=s(e[u]);c&&(i(a,e[u],u),l.push(c))}if(p.hasLines(a)||\"none\"!==a.fill){var h=f.calcTraceToLineCoords(l),d=\"none\"!==a.fill?f.makePolygon(h,a):f.makeLine(h,a);r.selectAll(\"path.js-line\").data([d]).enter().append(\"path\").classed(\"js-line\",!0)}p.hasMarkers(a)&&r.selectAll(\"path.point\").data(l).enter().append(\"path\").classed(\"point\",!0),p.hasText(a)&&r.selectAll(\"g\").data(l).enter().append(\"g\").append(\"text\")}),a(t)}},{\"../../components/color\":576,\"../../components/drawing\":599,\"../../lib\":681,\"../../lib/array_to_calc_item\":668,\"../../lib/geo_location_utils\":676,\"../../lib/geojson_utils\":677,\"../../lib/topojson_utils\":702,\"../scatter/subtypes\":944,d3:104}],960:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/color_attributes\"),a=t(\"../../constants/gl2d_dashes\"),o=t(\"../../constants/gl_markers\"),s=t(\"../../lib/extend\").extendFlat,l=t(\"../../lib/extend\").extendDeep,u=n.line,c=n.marker,h=c.line;e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:s({},n.text,{}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\"],extras:[\"none\"]},line:{color:u.color,width:u.width,dash:{valType:\"enumerated\",values:Object.keys(a),dflt:\"solid\"}},marker:l({},i(\"marker\"),{symbol:{valType:\"enumerated\",values:Object.keys(o),dflt:\"circle\",arrayOk:!0},size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,showscale:c.showscale,colorbar:c.colorbar,line:l({},i(\"marker.line\"),{width:h.width})}),connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\"none\",\"tozeroy\",\"tozerox\"]}),fillcolor:n.fillcolor,error_y:n.error_y,error_x:n.error_x}},{\"../../components/colorscale/color_attributes\":583,\"../../constants/gl2d_dashes\":659,\"../../constants/gl_markers\":661,\"../../lib/extend\":673,\"../scatter/attributes\":924}],961:[function(t,e,r){\"use strict\";function n(t,e){this.scene=t,this.uid=e,this.type=\"scattergl\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.connectgaps=!0,this.index=null,this.idToIndex=[],this.bounds=[0,0,0,0],this.isVisible=!1,this.hasLines=!1,this.hasErrorX=!1,this.hasErrorY=!1,this.hasMarkers=!1,this.line=this.initObject(d,{positions:new Float64Array(0),color:[0,0,0,1],width:1,fill:[!1,!1,!1,!1],fillColor:[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],dashes:[1]},0),this.errorX=this.initObject(p,{positions:new Float64Array(0),errors:new Float64Array(0),lineWidth:1,capSize:0,color:[0,0,0,1]},1),this.errorY=this.initObject(p,{positions:new Float64Array(0),errors:new Float64Array(0),lineWidth:1,capSize:0,color:[0,0,0,1]},2);var r={positions:new Float64Array(0),sizes:[],colors:[],glyphs:[],borderWidths:[],borderColors:[],size:12,color:[0,0,0,1],borderSize:1,borderColor:[0,0,0,1]};this.scatter=this.initObject(h,r,3),this.fancyScatter=this.initObject(f,r,4)}function i(t,e,r){return Array.isArray(e)||(e=[e]),a(t,e,r)}function a(t,e,r){for(var n=new Array(r),i=e[0],a=0;a<r;++a)n[a]=t(a>=e.length?i:e[a]);return n}function o(t,e,r){return l(D(t,r),C(e,r),r)}function s(t,e,r,n){var i=w(t,e,n);return i=Array.isArray(i[0])?i:a(g.identity,[i],n),l(i,C(r,n),n)}function l(t,e,r){for(var n=new Array(4*r),i=0;i<r;++i){for(var a=0;a<3;++a)n[4*i+a]=t[i][a];n[4*i+3]=t[i][3]*e[i]}return n}function u(t){for(var e,r=t.length,n=Math.max(1,(r-1)/Math.min(Math.max(r,1),1e3)),i=0;i<r;i+=n)if(e=t[Math.floor(i)],!(m(e)||e instanceof Date))return!1;return!0}function c(t,e){var r=new n(t,e.uid);return r.update(e),r}var h=t(\"gl-scatter2d\"),f=t(\"gl-scatter2d-sdf\"),d=t(\"gl-line2d\"),p=t(\"gl-error2d\"),m=t(\"fast-isnumeric\"),g=t(\"../../lib\"),v=t(\"../../plots/cartesian/axes\"),y=t(\"../../plots/cartesian/axis_autotype\"),b=t(\"../../components/errorbars\"),x=t(\"../../lib/str2rgbarray\"),_=t(\"../../lib/typed_array_truncate\"),w=t(\"../../lib/gl_format_color\"),M=t(\"../scatter/subtypes\"),A=t(\"../scatter/make_bubble_size_func\"),k=t(\"../scatter/get_trace_color\"),T=t(\"../../constants/gl_markers\"),E=t(\"../../constants/gl2d_dashes\"),S=[\"xaxis\",\"yaxis\"],L=n.prototype;L.initObject=function(t,e,r){function n(){u||(u=t(s,e),u._trace=o,u._index=r),u.update(e)}function i(){u&&u.update(l)}function a(){u&&u.dispose()}var o=this,s=o.scene.glplot,l=g.extendFlat({},e),u=null;return{options:e,update:n,clear:i,dispose:a}},L.handlePick=function(t){var e=t.pointId;(t.object!==this.line||this.connectgaps)&&(e=this.idToIndex[t.pointId]);var r=this.pickXData[e];return{trace:this,dataCoord:t.dataCoord,traceCoord:[m(r)||!g.isDateTime(r)?r:g.dateTime2ms(r),this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:Array.isArray(this.color)?this.color[e]:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},L.isFancy=function(t){if(\"linear\"!==this.scene.xaxis.type&&\"date\"!==this.scene.xaxis.type)return!0;if(\"linear\"!==this.scene.yaxis.type)return!0;if(!t.x||!t.y)return!0;if(this.hasMarkers){var e=t.marker||{};if(Array.isArray(e.symbol)||\"circle\"!==e.symbol||Array.isArray(e.size)||Array.isArray(e.color)||Array.isArray(e.line.width)||Array.isArray(e.line.color)||Array.isArray(e.opacity))return!0}return!(!this.hasLines||this.connectgaps)||(!!this.hasErrorX||!!this.hasErrorY)};var C=i.bind(null,function(t){return+t}),D=i.bind(null,x),I=i.bind(null,function(t){return T[t]||\"\\u25cf\"});L.update=function(t){t.visible!==!0?(this.isVisible=!1,this.hasLines=!1,this.hasErrorX=!1,this.hasErrorY=!1,this.hasMarkers=!1):(this.isVisible=!0,this.hasLines=M.hasLines(t),this.hasErrorX=t.error_x.visible===!0,this.hasErrorY=t.error_y.visible===!0,this.hasMarkers=M.hasMarkers(t)),this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-(1/0),-(1/0)],this.connectgaps=!!t.connectgaps,this.isVisible?this.isFancy(t)?this.updateFancy(t):this.updateFast(t):(this.line.clear(),this.errorX.clear(),this.errorY.clear(),this.scatter.clear(),this.fancyScatter.clear()),this.scene.glplot.objects.sort(function(t,e){return t._index-e._index}),this.index=t.index,this.color=k(t,{})},L.updateFast=function(t){var e,r,n=this.xData=this.pickXData=t.x,i=this.yData=this.pickYData=t.y,a=n.length,o=new Array(a),s=new Float64Array(2*a),l=this.bounds,c=0,h=0,f=t.xcalendar,d=u(n),p=!d&&\"date\"===y(n,f);if(d||p)for(var v=0;v<a;++v)e=n[v],r=i[v],m(r)&&(d||(e=g.dateTime2ms(e,f)),o[c++]=v,s[h++]=e,s[h++]=r,l[0]=Math.min(l[0],e),l[1]=Math.min(l[1],r),l[2]=Math.max(l[2],e),l[3]=Math.max(l[3],r));s=_(s,h),this.idToIndex=o,this.updateLines(t,s),this.updateError(\"X\",t),this.updateError(\"Y\",t);var b;if(this.hasMarkers){this.scatter.options.positions=s;var w=x(t.marker.color),M=x(t.marker.line.color),A=t.opacity*t.marker.opacity;w[3]*=A,this.scatter.options.color=w,M[3]*=A,this.scatter.options.borderColor=M,b=t.marker.size,this.scatter.options.size=b,this.scatter.options.borderSize=t.marker.line.width,this.scatter.update()}else this.scatter.clear();this.fancyScatter.clear(),this.expandAxesFast(l,b)},L.updateFancy=function(t){var e=this.scene,r=e.xaxis,n=e.yaxis,a=this.bounds,o=this.pickXData=r.makeCalcdata(t,\"x\").slice(),l=this.pickYData=n.makeCalcdata(t,\"y\").slice();this.xData=o.slice(),this.yData=l.slice();var u,c,h,f,d,p,m,g,v=b.calcFromTrace(t,e.fullLayout),y=o.length,x=new Array(y),w=new Float64Array(2*y),M=new Float64Array(4*y),k=new Float64Array(4*y),T=0,E=0,S=0,L=0,D=\"log\"===r.type?r.d2l:function(t){return t},z=\"log\"===n.type?n.d2l:function(t){return t};for(u=0;u<y;++u)this.xData[u]=h=D(o[u]),this.yData[u]=f=z(l[u]),isNaN(h)||isNaN(f)||(x[T++]=u,w[E++]=h,w[E++]=f,d=M[S++]=h-v[u].xs||0,p=M[S++]=v[u].xh-h||0,M[S++]=0,M[S++]=0,k[L++]=0,k[L++]=0,m=k[L++]=f-v[u].ys||0,g=k[L++]=v[u].yh-f||0,a[0]=Math.min(a[0],h-d),a[1]=Math.min(a[1],f-m),a[2]=Math.max(a[2],h+p),a[3]=Math.max(a[3],f+g));w=_(w,E),this.idToIndex=x,this.updateLines(t,w),this.updateError(\"X\",t,w,M),this.updateError(\"Y\",t,w,k);var P;if(this.hasMarkers){this.scatter.options.positions=w,this.scatter.options.sizes=new Array(T),this.scatter.options.glyphs=new Array(T),this.scatter.options.borderWidths=new Array(T),this.scatter.options.colors=new Array(4*T),this.scatter.options.borderColors=new Array(4*T);var O,R=A(t),F=t.marker,j=F.opacity,N=t.opacity,B=s(F,j,N,y),U=I(F.symbol,y),V=C(F.line.width,y),H=s(F.line,j,N,y);for(P=i(R,F.size,y),u=0;u<T;++u)for(O=x[u],this.scatter.options.sizes[u]=4*P[O],this.scatter.options.glyphs[u]=U[O],this.scatter.options.borderWidths[u]=.5*V[O],c=0;c<4;++c)this.scatter.options.colors[4*u+c]=B[4*O+c],this.scatter.options.borderColors[4*u+c]=H[4*O+c];this.fancyScatter.update()}else this.fancyScatter.clear();this.scatter.clear(),this.expandAxesFancy(o,l,P)},L.updateLines=function(t,e){var r;if(this.hasLines){var n=e;if(!t.connectgaps){var i=0,a=this.xData,s=this.yData;for(n=new Float64Array(2*a.length),r=0;r<a.length;++r)n[i++]=a[r],n[i++]=s[r]}this.line.options.positions=n;var l=o(t.line.color,t.opacity,1),u=Math.round(.5*this.line.options.width),c=(E[t.line.dash]||[1]).slice();for(r=0;r<c.length;++r)c[r]*=u;switch(t.fill){case\"tozeroy\":this.line.options.fill=[!1,!0,!1,!1];break;case\"tozerox\":this.line.options.fill=[!0,!1,!1,!1];break;default:this.line.options.fill=[!1,!1,!1,!1]}var h=x(t.fillcolor);this.line.options.color=l,this.line.options.width=2*t.line.width,this.line.options.dashes=c,this.line.options.fillColor=[h,h,h,h],this.line.update()}else this.line.clear()},L.updateError=function(t,e,r,n){var i=this[\"error\"+t],a=e[\"error_\"+t.toLowerCase()];\"x\"===t.toLowerCase()&&a.copy_ystyle&&(a=e.error_y),this[\"hasError\"+t]?(i.options.positions=r,i.options.errors=n,i.options.capSize=a.width,i.options.lineWidth=a.thickness/2,i.options.color=o(a.color,1,1),i.update()):i.clear()},L.expandAxesFast=function(t,e){for(var r,n,i,a=e||10,o=0;o<2;o++)r=this.scene[S[o]],n=r._min,n||(n=[]),n.push({val:t[o],pad:a}),i=r._max,i||(i=[]),i.push({val:t[o+2],pad:a})},L.expandAxesFancy=function(t,e,r){var n=this.scene,i={padded:!0,ppad:r};v.expand(n.xaxis,t,i),v.expand(n.yaxis,e,i)},L.dispose=function(){this.line.dispose(),this.errorX.dispose(),this.errorY.dispose(),this.scatter.dispose(),this.fancyScatter.dispose()},e.exports=c},{\"../../components/errorbars\":605,\"../../constants/gl2d_dashes\":659,\"../../constants/gl_markers\":661,\"../../lib\":681,\"../../lib/gl_format_color\":678,\"../../lib/str2rgbarray\":699,\"../../lib/typed_array_truncate\":703,\"../../plots/cartesian/axes\":720,\"../../plots/cartesian/axis_autotype\":721,\"../scatter/get_trace_color\":932,\"../scatter/make_bubble_size_func\":939,\"../scatter/subtypes\":944,\"fast-isnumeric\":113,\"gl-error2d\":141,\"gl-line2d\":151,\"gl-scatter2d\":230,\"gl-scatter2d-sdf\":225}],962:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/xy_defaults\"),s=t(\"../scatter/marker_defaults\"),l=t(\"../scatter/line_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),c=t(\"../../components/errorbars/defaults\"),h=t(\"./attributes\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}var p=o(t,e,f,d);if(!p)return void(e.visible=!1);d(\"text\"),d(\"mode\",p<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(d(\"connectgaps\"),l(t,e,r,f,d)),a.hasMarkers(e)&&s(t,e,r,f,d),d(\"fill\"),\"none\"!==e.fill&&u(t,e,r,d),c(t,e,r,{axis:\"y\"}),c(t,e,r,{axis:\"x\",inherit:\"y\"})}},{\"../../components/errorbars/defaults\":604,\"../../lib\":681,\"../scatter/constants\":929,\"../scatter/fillcolor_defaults\":931,\"../scatter/line_defaults\":935,\"../scatter/marker_defaults\":940,\"../scatter/subtypes\":944,\"../scatter/xy_defaults\":946,\"./attributes\":960}],963:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"../scatter3d/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"scattergl\",n.basePlotModule=t(\"../../plots/gl2d\"),\nn.categories=[\"gl2d\",\"symbols\",\"errorBarsOK\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":756,\"../scatter/colorbar\":927,\"../scatter3d/calc\":948,\"./attributes\":960,\"./convert\":961,\"./defaults\":962}],964:[function(t,e,r){\"use strict\";var n=t(\"../scattergeo/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../plots/mapbox/layout_attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/colorbar/attributes\"),l=t(\"../../lib/extend\").extendFlat,u=n.line,c=n.marker;e.exports={lon:n.lon,lat:n.lat,mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],dflt:\"markers\",extras:[\"none\"]},text:l({},i.text,{}),line:{color:u.color,width:u.width,dash:u.dash},connectgaps:i.connectgaps,marker:{symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},opacity:l({},c.opacity,{arrayOk:!1}),size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,color:c.color,colorscale:c.colorscale,cauto:c.cauto,cmax:c.cmax,cmin:c.cmin,autocolorscale:c.autocolorscale,reversescale:c.reversescale,showscale:c.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,hoverinfo:l({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]})}},{\"../../components/colorbar/attributes\":577,\"../../lib/extend\":673,\"../../plots/attributes\":718,\"../../plots/mapbox/layout_attributes\":775,\"../scatter/attributes\":924,\"../scattergeo/attributes\":953}],965:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale\"),o=t(\"../scatter/subtypes\"),s=t(\"../scatter/colorscale_calc\"),l=t(\"../scatter/make_bubble_size_func\");e.exports=function(t,e){var r=e.lon.length,u=e.marker,c=o.hasMarkers(e),h=c&&Array.isArray(u.color),f=c&&Array.isArray(u.size),d=c&&Array.isArray(u.symbol),p=Array.isArray(e.text);s(e);for(var m=a.hasColorscale(e,\"marker\")?a.makeColorScaleFunc(a.extractScale(u.colorscale,u.cmin,u.cmax)):i.identity,g=o.isBubble(e)?l(e):i.identity,v=[],y=0,b=0;b<r;b++){var x=e.lon[b],_=e.lat[b];if(n(x)&&n(_)){var w={};if(y++,w.lonlat=[+x,+_],c){if(h){var M=u.color[b];w.mc=M,w.mcc=m(M)}if(f){var A=u.size[b];w.ms=A,w.mrc=g(A)}if(d){var k=u.symbol[b];w.mx=\"string\"==typeof k?k:\"circle\"}}if(p){var T=e.text[b];w.tx=\"string\"==typeof T?T:\"\"}v.push(w)}else y>0&&(v[y-1].gapAfter=!0)}return v}},{\"../../components/colorscale\":590,\"../../lib\":681,\"../scatter/colorscale_calc\":928,\"../scatter/make_bubble_size_func\":939,\"../scatter/subtypes\":944,\"fast-isnumeric\":113}],966:[function(t,e,r){\"use strict\";function n(){return{geojson:h.makeBlank(),layout:{visibility:\"none\"},paint:{}}}function i(t,e){function r(t,r,n,i){void 0===e[r][n]&&(e[r][n]=i),t[r]=e[r][n]}for(var n=t[0].trace,i=n.marker,a=Array.isArray(i.color),o=Array.isArray(i.size),s=[],l=0;l<t.length;l++){var u=t[l],c={};a&&r(c,p,u.mcc,l),o&&r(c,m,u.mrc,l),s.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:u.lonlat},properties:c})}return{type:\"FeatureCollection\",features:s}}function a(t){for(var e=t[0].trace,r=e.marker||{},n=r.symbol,i=e.text,a=\"circle\"!==n?l(n):u,o=f.hasText(e)?l(i):u,s=[],c=0;c<t.length;c++){var h=t[c];s.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:a(h.mx),text:o(h.tx)}})}return{type:\"FeatureCollection\",features:s}}function o(t,e){var r,n=t.marker;if(Array.isArray(n.color)){for(var i=Object.keys(e[p]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[p][s],s])}r={property:p,stops:a}}else r=n.color;return r}function s(t,e){var r,n=t.marker;if(Array.isArray(n.size)){for(var i=Object.keys(e[m]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[m][s],+s])}a.sort(function(t,e){return t[0]-e[0]}),r={property:m,stops:a}}else r=n.size/2;return r}function l(t){return Array.isArray(t)?function(t){return t}:t?function(){return t}:u}function u(){return\"\"}var c=t(\"../../lib\"),h=t(\"../../lib/geojson_utils\"),f=t(\"../scatter/subtypes\"),d=t(\"../../plots/mapbox/convert_text_opts\"),p=\"circle-color\",m=\"circle-radius\";e.exports=function(t){var e=t[0].trace,r=e.visible===!0,l=\"none\"!==e.fill,u=f.hasLines(e),g=f.hasMarkers(e),v=f.hasText(e),y=g&&\"circle\"===e.marker.symbol,b=g&&\"circle\"!==e.marker.symbol,x=n(),_=n(),w=n(),M=n(),A={fill:x,line:_,circle:w,symbol:M};if(!r||t[0].placeholder)return A;var k;if((l||u)&&(k=h.calcTraceToLineCoords(t)),l&&(x.geojson=h.makePolygon(k),x.layout.visibility=\"visible\",c.extendFlat(x.paint,{\"fill-color\":e.fillcolor})),u&&(_.geojson=h.makeLine(k),_.layout.visibility=\"visible\",c.extendFlat(_.paint,{\"line-width\":e.line.width,\"line-color\":e.line.color,\"line-opacity\":e.opacity})),y){var T={};T[p]={},T[m]={},w.geojson=i(t,T),w.layout.visibility=\"visible\",c.extendFlat(w.paint,{\"circle-opacity\":e.opacity*e.marker.opacity,\"circle-color\":o(e,T),\"circle-radius\":s(e,T)})}if((b||v)&&(M.geojson=a(t),c.extendFlat(M.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),b&&(c.extendFlat(M.layout,{\"icon-size\":e.marker.size/10}),c.extendFlat(M.paint,{\"icon-opacity\":e.opacity*e.marker.opacity,\"icon-color\":e.marker.color})),v)){var E=(e.marker||{}).size,S=d(e.textposition,E);c.extendFlat(M.layout,{\"text-size\":e.textfont.size,\"text-anchor\":S.anchor,\"text-offset\":S.offset}),c.extendFlat(M.paint,{\"text-color\":e.textfont.color,\"text-opacity\":e.opacity})}return A}},{\"../../lib\":681,\"../../lib/geojson_utils\":677,\"../../plots/mapbox/convert_text_opts\":772,\"../scatter/subtypes\":944}],967:[function(t,e,r){\"use strict\";function n(t,e,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return a<n.length&&(e.lon=n.slice(0,a)),a<i.length&&(e.lat=i.slice(0,a)),a}var i=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\"),h=t(\"../scatter/attributes\");e.exports=function(t,e,r,f){function d(r,n){return i.coerce(t,e,c,r,n)}function p(r,n){var a=r.indexOf(\".line\")===-1?c:h;return i.coerce(t,e,a,r,n)}if(!n(t,e,d))return void(e.visible=!1);if(d(\"text\"),d(\"mode\"),a.hasLines(e)&&(s(t,e,r,f,d),d(\"connectgaps\")),a.hasMarkers(e)){o(t,e,r,f,p);var m=e.marker;\"circle\"!==m.symbol&&(Array.isArray(m.size)&&(m.size=m.size[0]),Array.isArray(m.color)&&(m.color=m.color[0]))}a.hasText(e)&&l(t,e,f,d),d(\"fill\"),\"none\"!==e.fill&&u(t,e,r,d),d(\"hoverinfo\",1===f._dataLength?\"lon+lat+text\":void 0)}},{\"../../lib\":681,\"../scatter/attributes\":924,\"../scatter/fillcolor_defaults\":931,\"../scatter/line_defaults\":935,\"../scatter/marker_defaults\":940,\"../scatter/subtypes\":944,\"../scatter/text_defaults\":945,\"./attributes\":964}],968:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],969:[function(t,e,r){\"use strict\";function n(t,e){function r(t){return t+\"\\xb0\"}var n=t.hoverinfo.split(\"+\"),i=n.indexOf(\"all\")!==-1,a=n.indexOf(\"lon\")!==-1,o=n.indexOf(\"lat\")!==-1,s=e.lonlat,l=[];if(i||a&&o?l.push(\"(\"+r(s[0])+\", \"+r(s[1])+\")\"):a?l.push(\"lon: \"+r(s[0])):o&&l.push(\"lat: \"+r(s[1])),i||n.indexOf(\"text\")!==-1){var u=e.tx||t.text;Array.isArray(u)||l.push(u)}return l.join(\"<br>\")}var i=t(\"../../plots/cartesian/graph_interact\"),a=t(\"../scatter/get_trace_color\");e.exports=function(t,e,r){function o(t){var e=t.lonlat,n=Math.abs(u.c2p(e)-u.c2p([d,e[1]])),i=Math.abs(c.c2p(e)-c.c2p([e[0],r])),a=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(n*n+i*i)-a,1-3/a)}var s=t.cd,l=s[0].trace,u=t.xa,c=t.ya;if(!s[0].placeholder){var h=e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360),f=360*h,d=e-f;if(i.getClosest(s,o,t),t.index!==!1){var p=s[t.index],m=p.lonlat,g=[m[0]+f,m[1]],v=u.c2p(g),y=c.c2p(g),b=p.mrc||1;return t.x0=v-b,t.x1=v+b,t.y0=y-b,t.y1=y+b,t.color=a(l,p),t.extraText=n(l,p),[t]}}}},{\"../../plots/cartesian/graph_interact\":727,\"../scatter/get_trace_color\":932}],970:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"./calc\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.plot=t(\"./plot\"),n.moduleType=\"trace\",n.name=\"scattermapbox\",n.basePlotModule=t(\"../../plots/mapbox\"),n.categories=[\"mapbox\",\"gl\",\"symbols\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/mapbox\":773,\"../scatter/colorbar\":927,\"./attributes\":964,\"./calc\":965,\"./defaults\":967,\"./event_data\":968,\"./hover\":969,\"./plot\":971}],971:[function(t,e,r){\"use strict\";function n(t,e){this.mapbox=t,this.map=t.map,this.uid=e,this.idSourceFill=e+\"-source-fill\",this.idSourceLine=e+\"-source-line\",this.idSourceCircle=e+\"-source-circle\",this.idSourceSymbol=e+\"-source-symbol\",this.idLayerFill=e+\"-layer-fill\",this.idLayerLine=e+\"-layer-line\",this.idLayerCircle=e+\"-layer-circle\",this.idLayerSymbol=e+\"-layer-symbol\",this.mapbox.initSource(this.idSourceFill),this.mapbox.initSource(this.idSourceLine),this.mapbox.initSource(this.idSourceCircle),this.mapbox.initSource(this.idSourceSymbol),this.map.addLayer({id:this.idLayerFill,source:this.idSourceFill,type:\"fill\"}),this.map.addLayer({id:this.idLayerLine,source:this.idSourceLine,type:\"line\"}),this.map.addLayer({id:this.idLayerCircle,source:this.idSourceCircle,type:\"circle\"}),this.map.addLayer({id:this.idLayerSymbol,source:this.idSourceSymbol,type:\"symbol\"})}function i(t){return\"visible\"===t.layout.visibility}var a=t(\"./convert\"),o=n.prototype;o.update=function(t){var e=this.mapbox,r=a(t);e.setOptions(this.idLayerFill,\"setLayoutProperty\",r.fill.layout),e.setOptions(this.idLayerLine,\"setLayoutProperty\",r.line.layout),e.setOptions(this.idLayerCircle,\"setLayoutProperty\",r.circle.layout),e.setOptions(this.idLayerSymbol,\"setLayoutProperty\",r.symbol.layout),i(r.fill)&&(e.setSourceData(this.idSourceFill,r.fill.geojson),e.setOptions(this.idLayerFill,\"setPaintProperty\",r.fill.paint)),i(r.line)&&(e.setSourceData(this.idSourceLine,r.line.geojson),e.setOptions(this.idLayerLine,\"setPaintProperty\",r.line.paint)),i(r.circle)&&(e.setSourceData(this.idSourceCircle,r.circle.geojson),e.setOptions(this.idLayerCircle,\"setPaintProperty\",r.circle.paint)),i(r.symbol)&&(e.setSourceData(this.idSourceSymbol,r.symbol.geojson),e.setOptions(this.idLayerSymbol,\"setPaintProperty\",r.symbol.paint))},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayerFill),t.removeLayer(this.idLayerLine),t.removeLayer(this.idLayerCircle),t.removeLayer(this.idLayerSymbol),t.removeSource(this.idSourceFill),t.removeSource(this.idSourceLine),t.removeSource(this.idSourceCircle),t.removeSource(this.idSourceSymbol)},e.exports=function(t,e){var r=e[0].trace,i=new n(t,r.uid);return i.update(e),i}},{\"./convert\":966}],972:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/color_attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker,u=n.line,c=l.line;e.exports={a:{valType:\"data_array\"},b:{valType:\"data_array\"},c:{valType:\"data_array\"},sum:{valType:\"number\",dflt:0,min:0},mode:s({},n.mode,{dflt:\"markers\"}),text:s({},n.text,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:s({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\"none\",\"toself\",\"tonext\"]}),fillcolor:n.fillcolor,marker:s({},{symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({},{width:c.width},a(\"marker\".line))},a(\"marker\"),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,hoverinfo:s({},i.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:n.hoveron}},{\"../../components/colorbar/attributes\":577,\"../../components/colorscale/color_attributes\":583,\"../../lib/extend\":673,\"../../plots/attributes\":718,\"../scatter/attributes\":924}],973:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/colorscale_calc\"),s=t(\"../scatter/arrays_to_calcdata\"),l=[\"a\",\"b\",\"c\"],u={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};e.exports=function(t,e){var r,c,h,f,d,p,m=t._fullLayout[e.subplot],g=m.sum,v=e.sum||g;for(r=0;r<l.length;r++)if(h=l[r],!e[h]){for(d=e[u[h][0]],p=e[u[h][1]],f=new Array(d.length),c=0;c<d.length;c++)f[c]=v-d[c]-p[c];e[h]=f}var y,b,x,_,w,M,A=e.a.length,k=new Array(A);for(r=0;r<A;r++)y=e.a[r],b=e.b[r],x=e.c[r],n(y)&&n(b)&&n(x)?(y=+y,b=+b,x=+x,_=g/(y+b+x),1!==_&&(y*=_,b*=_,x*=_),M=y,w=x-b,k[r]={x:w,y:M,a:y,b:b,c:x}):k[r]={x:!1,y:!1};var T,E;if(a.hasMarkers(e)&&(T=e.marker,E=T.size,Array.isArray(E))){var S={type:\"linear\"};i.setConvert(S),E=S.makeCalcdata(e.marker,\"size\"),E.length>A&&E.splice(A,E.length-A)}return o(e),s(k,e),k}},{\"../../plots/cartesian/axes\":720,\"../scatter/arrays_to_calcdata\":923,\"../scatter/colorscale_calc\":928,\"../scatter/subtypes\":944,\"fast-isnumeric\":113}],974:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),u=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),h=t(\"./attributes\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}var p,m=d(\"a\"),g=d(\"b\"),v=d(\"c\");if(m?(p=m.length,g?(p=Math.min(p,g.length),v&&(p=Math.min(p,v.length))):p=v?Math.min(p,v.length):0):g&&v&&(p=Math.min(g.length,v.length)),!p)return void(e.visible=!1);m&&p<m.length&&(e.a=m.slice(0,p)),g&&p<g.length&&(e.b=g.slice(0,p)),v&&p<v.length&&(e.c=v.slice(0,p)),d(\"sum\"),d(\"text\"),d(\"mode\",p<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(s(t,e,r,f,d),l(t,e,d),d(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,f,d),a.hasText(e)&&u(t,e,f,d);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(d(\"marker.maxdisplayed\"),y.push(\"points\")),d(\"fill\"),\"none\"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||l(t,e,d)),d(\"hoverinfo\",1===f._dataLength?\"a+b+c+text\":void 0),\"tonext\"!==e.fill&&\"toself\"!==e.fill||y.push(\"fills\"),d(\"hoveron\",y.join(\"+\")||\"points\")}},{\"../../lib\":681,\"../scatter/constants\":929,\"../scatter/fillcolor_defaults\":931,\"../scatter/line_defaults\":935,\"../scatter/line_shape_defaults\":937,\"../scatter/marker_defaults\":940,\"../scatter/subtypes\":944,\"../scatter/text_defaults\":945,\"./attributes\":972}],975:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\"),i=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r,a){function o(t,e){v.push(t._hovertitle+\": \"+i.tickText(t,e,\"hover\").text)}var s=n(t,e,r,a);if(s&&s[0].index!==!1){var l=s[0];if(void 0===l.index){var u=1-l.y0/t.ya._length,c=t.xa._length,h=c*u/2,f=c-h;return l.x0=Math.max(Math.min(l.x0,f),h),l.x1=Math.max(Math.min(l.x1,f),h),s}var d=l.cd[l.index];l.a=d.a,l.b=d.b,l.c=d.c,l.xLabelVal=void 0,l.yLabelVal=void 0;var p=l.trace,m=p._ternary,g=p.hoverinfo.split(\"+\"),v=[];return g.indexOf(\"all\")!==-1&&(g=[\"a\",\"b\",\"c\"]),g.indexOf(\"a\")!==-1&&o(m.aaxis,d.a),g.indexOf(\"b\")!==-1&&o(m.baxis,d.b),g.indexOf(\"c\")!==-1&&o(m.caxis,d.c),l.extraText=v.join(\"<br>\"),s}}},{\"../../plots/cartesian/axes\":720,\"../scatter/hover\":933}],976:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"scatterternary\",n.basePlotModule=t(\"../../plots/ternary\"),n.categories=[\"ternary\",\"symbols\",\"markerColorscale\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/ternary\":787,\"../scatter/colorbar\":927,\"./attributes\":972,\"./calc\":973,\"./defaults\":974,\"./hover\":975,\"./plot\":977,\"./select\":978,\"./style\":979}],977:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\");e.exports=function(t,e){var r=t.plotContainer;r.select(\".scatterlayer\").selectAll(\"*\").remove();for(var i={xaxis:t.xaxis,yaxis:t.yaxis,plot:r},a=0;a<e.length;a++)e[a][0].trace._ternary=t;n(t.graphDiv,i,e)}},{\"../scatter/plot\":941}],978:[function(t,e,r){\"use strict\";var n=t(\"../scatter/select\");e.exports=function(t,e){var r=n(t,e);if(r){var i,a,o,s=t.cd;for(o=0;o<r.length;o++)i=r[o],a=s[i.pointNumber],i.a=a.a,i.b=a.b,i.c=a.c,delete i.x,delete i.y;return r}}},{\"../scatter/select\":942}],979:[function(t,e,r){\"use strict\";var n=t(\"../scatter/style\");e.exports=function(t){for(var e=t._fullLayout._modules,r=0;r<e.length;r++)if(\"scatter\"===e[r].name)return;n(t)}},{\"../scatter/style\":943}],980:[function(t,e,r){\"use strict\";function n(t){return{valType:\"boolean\",dflt:!1}}function i(t){return{show:{valType:\"boolean\",dflt:!1},project:{x:n(\"x\"),y:n(\"y\"),z:n(\"z\")},color:{valType:\"color\",dflt:a.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:a.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var a=t(\"../../components/color\"),o=t(\"../../components/colorscale/attributes\"),s=t(\"../../components/colorbar/attributes\"),l=t(\"../../lib/extend\").extendFlat;e.exports={z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"data_array\"},surfacecolor:{valType:\"data_array\"},cauto:o.zauto,cmin:o.zmin,cmax:o.zmax,colorscale:o.colorscale,autocolorscale:l({},o.autocolorscale,{dflt:!1}),reversescale:o.reversescale,showscale:o.showscale,colorbar:s,contours:{x:i(\"x\"),y:i(\"y\"),z:i(\"z\")},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},_deprecated:{zauto:l({},o.zauto,{}),zmin:l({},o.zmin,{}),zmax:l({},o.zmax,{})}}},{\"../../components/color\":576,\"../../components/colorbar/attributes\":577,\"../../components/colorscale/attributes\":581,\"../../lib/extend\":673}],981:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,\"\",\"c\"):n(e,e.z,\"\",\"c\")}},{\"../../components/colorscale/calc\":582}],982:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../components/colorscale\"),s=t(\"../../components/colorbar/draw\");e.exports=function(t,e){var r=e[0].trace,l=\"cb\"+r.uid,u=r.cmin,c=r.cmax,h=r.surfacecolor||r.z;if(n(u)||(u=i.aggNums(Math.min,null,h)),n(c)||(c=i.aggNums(Math.max,null,h)),t._fullLayout._infolayer.selectAll(\".\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var f=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});f.fillcolor(d).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\"../../components/colorbar/draw\":579,\"../../components/colorscale\":590,\"../../lib\":681,\"../../plots/plots\":779,\"fast-isnumeric\":113}],983:[function(t,e,r){\"use strict\";function n(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}function i(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=p(t[1]),i=n.toRgb();return{index:r,rgb:[i.r,i.g,i.b,e]}})}function a(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]}function o(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=c(new Float32Array(r[0]*r[1]),r);return d.assign(n.lo(1,1).hi(e[0],e[1]),t),d.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),d.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),d.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),d.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}function s(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<g){for(var r=g/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],i=n[0]*n[1],a=0;a<t.length;++a){var s=o(t[a]),l=c(new Float32Array(i),n);h(l,s,[r,0,0,0,r,0,0,0,1]),t[a]=l}return r}return 1}function l(t,e){var r=t.glplot.gl,i=u({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}var u=t(\"gl-surface3d\"),c=t(\"ndarray\"),h=t(\"ndarray-homography\"),f=t(\"ndarray-fill\"),d=t(\"ndarray-ops\"),p=t(\"tinycolor2\"),m=t(\"../../lib/str2rgbarray\"),g=128,v=n.prototype;v.handlePick=function(t){if(t.object===this.surface){var e=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];Array.isArray(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]],Array.isArray(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return i&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},v.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},v.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,o=this.surface,l=t.opacity,u=i(t.colorscale,l),h=t.z,d=t.x,p=t.y,g=n.xaxis,v=n.yaxis,y=n.zaxis,b=r.dataScale,x=h[0].length,_=h.length,w=[c(new Float32Array(x*_),[x,_]),c(new Float32Array(x*_),[x,_]),c(new Float32Array(x*_),[x,_])],M=w[0],A=w[1],k=r.contourLevels;this.data=t;var T=t.xcalendar,E=t.ycalendar,S=t.zcalendar;f(w[2],function(t,e){return y.d2l(h[e][t],0,S)*b[2]}),Array.isArray(d[0])?f(M,function(t,e){return g.d2l(d[e][t],0,T)*b[0]}):f(M,function(t){return g.d2l(d[t],0,T)*b[0]}),Array.isArray(p[0])?f(A,function(t,e){return v.d2l(p[e][t],0,E)*b[1]}):f(A,function(t,e){return v.d2l(p[e],0,E)*b[1]});var L={colormap:u,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacity:t.opacity};if(L.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var C=c(new Float32Array(x*_),[x,_]);f(C,function(e,r){return t.surfacecolor[r][e]}),w.push(C)}else L.intensityBounds[0]*=b[2],L.intensityBounds[1]*=b[2];this.dataScale=s(w),t.surfacecolor&&(L.intensity=w.pop());var D=[!0,!0,!0],I=[\"x\",\"y\",\"z\"];for(e=0;e<3;++e){var z=t.contours[I[e]];D[e]=z.highlight,L.showContour[e]=z.show||z.highlight,L.showContour[e]&&(L.contourProject[e]=[z.project.x,z.project.y,z.project.z],z.show?(this.showContour[e]=!0,L.levels[e]=k[e],o.highlightColor[e]=L.contourColor[e]=m(z.color),z.usecolormap?o.highlightTint[e]=L.contourTint[e]=0:o.highlightTint[e]=L.contourTint[e]=1,L.contourWidth[e]=z.width):this.showContour[e]=!1,z.highlight&&(L.dynamicColor[e]=m(z.highlightcolor),L.dynamicWidth[e]=z.highlightwidth))}a(u)&&(L.vertexColor=!0),L.coords=w,o.update(L),o.visible=t.visible,o.enableDynamic=D,o.snapToData=!0,\"lighting\"in t&&(o.ambientLight=t.lighting.ambient,o.diffuseLight=t.lighting.diffuse,o.specularLight=t.lighting.specular,o.roughness=t.lighting.roughness,o.fresnel=t.lighting.fresnel),\"lightposition\"in t&&(o.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),l&&l<1&&(o.supportsTransparency=!0)},v.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=l},{\"../../lib/str2rgbarray\":699,\"gl-surface3d\":248,ndarray:447,\"ndarray-fill\":437,\"ndarray-homography\":439,\"ndarray-ops\":441,tinycolor2:512}],984:[function(t,e,r){\"use strict\";function n(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}var i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function u(r,n){return a.coerce(t,e,s,r,n)}var c,h,f=u(\"z\");if(!f)return void(e.visible=!1);var d=f[0].length,p=f.length;if(u(\"x\"),u(\"y\"),i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],l),!Array.isArray(e.x))for(e.x=[],c=0;c<d;++c)e.x[c]=c;if(u(\"text\"),!Array.isArray(e.y))for(e.y=[],c=0;c<p;++c)e.y[c]=c;[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"opacity\"].forEach(function(t){u(t)});var m=u(\"surfacecolor\");u(\"colorscale\");var g=[\"x\",\"y\",\"z\"];for(c=0;c<3;++c){var v=\"contours.\"+g[c],y=u(v+\".show\"),b=u(v+\".highlight\");if(y||b)for(h=0;h<3;++h)u(v+\".project.\"+g[h]);y&&(u(v+\".color\"),u(v+\".width\"),u(v+\".usecolormap\")),b&&(u(v+\".highlightcolor\"),u(v+\".highlightwidth\"))}m||(n(t,\"zmin\",\"cmin\"),n(t,\"zmax\",\"cmax\"),n(t,\"zauto\",\"cauto\")),o(t,e,l,u,{prefix:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/defaults\":585,\"../../lib\":681,\"../../registry\":794,\"./attributes\":980}],985:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"./colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"surface\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\",\"noOpacity\"],n.meta={},e.exports=n},{\"../../plots/gl3d\":759,\"./attributes\":980,\"./calc\":981,\"./colorbar\":982,\"./convert\":983,\"./defaults\":984}],986:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"==typeof e&&e){var r=o.nestedProperty(t,e).get();return Array.isArray(r)?r:[]}return!!Array.isArray(e)&&e.slice()}function i(t,e,r){var n;if(Array.isArray(r)){if(n={type:c(r),_categories:[]},h(n),\"category\"===n.type)for(var i=0;i<r.length;i++)n.d2c(r[i])}else n=u.getFromTrace(t,e,r);return n?n.d2c:\"ids\"===r?function(t){return String(t)}:function(t){return+t}}function a(t,e,r){function n(t){return t.indexOf(a)!==-1}var i,a=t.operation,o=t.value,s=Array.isArray(o),l=function(r){return e(r,0,t.valuecalendar)},u=function(t){return e(t,0,r)};switch(n(f)?i=l(s?o[0]:o):n(d)?i=s?[l(o[0]),l(o[1])]:[l(o),l(o)]:n(p)&&(i=s?o.map(l):[l(o)]),a){case\"=\":return function(t){return u(t)===i};case\"<\":return function(t){return u(t)<i};case\"<=\":return function(t){return u(t)<=i};case\">\":return function(t){return u(t)>i};case\">=\":return function(t){return u(t)>=i};case\"[]\":return function(t){var e=u(t);return e>=i[0]&&e<=i[1]};case\"()\":return function(t){var e=u(t);return e>i[0]&&e<i[1]};case\"[)\":return function(t){var e=u(t);return e>=i[0]&&e<i[1]};case\"(]\":return function(t){var e=u(t);return e>i[0]&&e<=i[1]};case\"][\":return function(t){var e=u(t);return e<=i[0]||e>=i[1]};case\")(\":return function(t){var e=u(t);return e<i[0]||e>i[1]};case\"](\":return function(t){var e=u(t);return e<=i[0]||e>i[1]};case\")[\":return function(t){var e=u(t);return e<i[0]||e>=i[1]};case\"{}\":return function(t){return i.indexOf(u(t))!==-1};case\"}{\":return function(t){return i.indexOf(u(t))===-1}}}var o=t(\"../lib\"),s=t(\"../registry\"),l=t(\"../plot_api/plot_schema\"),u=t(\"../plots/cartesian/axis_ids\"),c=t(\"../plots/cartesian/axis_autotype\"),h=t(\"../plots/cartesian/set_convert\"),f=[\"=\",\"<\",\">=\",\">\",\"<=\"],d=[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],p=[\"{}\",\"}{\"];r.moduleType=\"transform\",r.name=\"filter\",r.attributes={enabled:{valType:\"boolean\",dflt:!0},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\"},operation:{valType:\"enumerated\",values:[].concat(f).concat(d).concat(p),dflt:\"=\"},value:{valType:\"any\",dflt:0}},r.supplyDefaults=function(t){function e(e,i){return o.coerce(t,n,r.attributes,e,i)}var n={};if(e(\"enabled\")){e(\"operation\"),e(\"value\"),e(\"target\");var i=s.getComponentMethod(\"calendars\",\"handleDefaults\");i(t,n,\"valuecalendar\",null),i(t,n,\"targetcalendar\",null)}return n},r.calcTransform=function(t,e,r){if(r.enabled){var s=r.target,u=n(e,s),c=u.length;if(c){var h=r.targetcalendar;if(\"string\"==typeof s){var f=o.nestedProperty(e,s+\"calendar\").get();f&&(h=f)}for(var d=\"x\"===s||\"y\"===s||\"z\"===s?s:u,p=i(t,e,d),m=a(r,p,h),g=l.findArrayAttributes(e),v={},y=0;y<g.length;y++){var b=g[y],x=o.nestedProperty(e,b);v[b]=o.extendDeep([],x.get()),x.set([])}for(var _=0;_<c;_++){if(m(u[_]))for(var w=0;w<g.length;w++)!function(t,r){var n=v[t];o.nestedProperty(e,t).get().push(n[r])}(g[w],_)}}}}},{\"../lib\":681,\"../plot_api/plot_schema\":709,\"../plots/cartesian/axis_autotype\":721,\"../plots/cartesian/axis_ids\":723,\"../plots/cartesian/set_convert\":734,\"../registry\":794}],987:[function(t,e,r){\"use strict\";function n(t,e){o.nestedProperty(t,e).set([])}function i(t,e,r,n){o.nestedProperty(t,n).set(o.nestedProperty(t,n).get().concat([o.nestedProperty(e,n).get()[r]]))}function a(t,e){var r=e.transform,a=t.transforms[e.transformIndex].groups;if(!Array.isArray(a)||0===a.length)return t;for(var l=o.filterUnique(a),u=new Array(l.length),c=a.length,h=s.findArrayAttributes(t),f=r.style||{},d=0;d<l.length;d++){var p=l[d],m=u[d]=o.extendDeepNoArrays({},t);h.forEach(n.bind(null,m));for(var g=0;g<c;g++)a[g]===p&&h.forEach(i.bind(0,m,t,g));m.name=p,m=o.extendDeepNoArrays(m,f[p]||{})}return u}var o=t(\"../lib\"),s=t(\"../plot_api/plot_schema\");r.moduleType=\"transform\",r.name=\"groupby\",r.attributes={enabled:{valType:\"boolean\",dflt:!0},groups:{valType:\"data_array\",dflt:[]},style:{valType:\"any\",dflt:{}}},r.supplyDefaults=function(t){function e(e,i){return o.coerce(t,n,r.attributes,e,i)}var n={};return e(\"enabled\")?(e(\"groups\"),e(\"style\"),n):n},r.transform=function(t,e){for(var r=[],n=0;n<t.length;n++)r=r.concat(a(t[n],e));return r}},{\"../lib\":681,\"../plot_api/plot_schema\":709}]},{},[17])(17)});});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script></div>",
+                "elapsedTime": 3680
             },
             "evaluatorReader": true,
             "lineCount": 11,
             "initialization": true
         },
         {
-            "id": "codeKExd0X",
+            "id": "codeNqLiBZ",
             "type": "code",
             "evaluator": "HTML",
             "input": {
                 "body": [
-                    "<a target=\"_blank\" href=\"https://nomad-forum.rz-berlin.mpg.de//\" class=\"btn btn-primary\"> Send your feedback to the analytics-toolkit forum</a><h2> Your comments are invaluable in helping us provide a user friendly experience for all! </h2>"
+                    "<style type=\"text/css\">",
+                    "/*!",
+                    " * Nomad Beaker Notebook Template",
+                    " *",
+                    " * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,",
+                    " *             Benjamin Regler - Apache 2.0 License",
+                    " * @license    http://www.apache.org/licenses/LICENSE-2.0",
+                    " * @author     Benjamin Regler",
+                    " * @version    1.0.0",
+                    " *",
+                    " * Licensed under the Apache License, Version 2.0 (the \"License\");",
+                    " * you may not use this file except in compliance with the License.",
+                    " * You may obtain a copy of the License at",
+                    " * ",
+                    " *     http://www.apache.org/licenses/LICENSE-2.0",
+                    " *",
+                    " * Unless required by applicable law or agreed to in writing, software",
+                    " * distributed under the License is distributed on an \"AS IS\" BASIS,",
+                    " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+                    " * See the License for the specific language governing permissions and",
+                    " * limitations under the License.",
+                    " */",
+                    "p{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}",
+                    "</style>"
                 ],
                 "hidden": true
             },
             "output": {
                 "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n/*!\n * Nomad Beaker Notebook Template\n *\n * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,\n *             Benjamin Regler - Apache 2.0 License\n * @license    http://www.apache.org/licenses/LICENSE-2.0\n * @author     Benjamin Regler\n * @version    1.0.0\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\np{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}\n</style>"
+                },
                 "selectedType": "BeakerDisplay",
-                "height": 117,
+                "elapsedTime": 0,
+                "height": 50
+            },
+            "evaluatorReader": true,
+            "lineCount": 24
+        },
+        {
+            "id": "codeGiTbGL",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<div id=\"teaser\" style='background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; ",
+                    "    padding-top: 20px;",
+                    "    padding-right: 10px;",
+                    "    padding-bottom: 50px;",
+                    "    padding-left: 80px;' > ",
+                    "",
+                    "  <div class=\"nomad--header\">",
+                    "   <div style=\"text-align:center\">",
+                    "    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" height=\"100\" alt=\"NOMAD Logo\">  NOMAD Analytics Toolkit   ",
+                    "  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" height=\"80\" alt=\"NOMAD Logo\"> </h2>",
+                    "  </div>",
+                    "    <h3>   Complexity tool estimator for accurate forces learning (FF-Fit): Monocrystalline Silicon example</h3>",
+                    "    <p class=\"nomad--description\">",
+                    "      created by:",
+                    " Ádám Fekete<sup> 1</sup>,",
+                    " Aldo Glielmo<sup>1</sup>, ",
+                    " Martina Stella<sup>1</sup>,",
+                    " and Alessandro De Vita<sup>1</sup><br><br>",
+                    "",
+                    "      <sup>1</sup> Department of Physics, King's College London, Strand, London WC2R 2LS, UK  <br>",
+                    "      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>",
+                    "    </p>",
+                    "</div>",
+                    "",
+                    "</div>  ",
+                    "",
+                    "<div style='text-align: right;'>",
+                    "<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> ",
+                    "<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> ",
+                    "</div>"
+                ]
+            },
+            "output": {
+                "state": {},
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<a target=\"_blank\" href=\"https://nomad-forum.rz-berlin.mpg.de//\" class=\"btn btn-primary\"> Send your feedback to the analytics-toolkit forum</a><h2> Your comments are invaluable in helping us provide a user friendly experience for all! </h2>"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<div id=\"teaser\" style=\"background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; \n    padding-top: 20px;\n    padding-right: 10px;\n    padding-bottom: 50px;\n    padding-left: 80px;\"> \n\n  <div class=\"nomad--header\">\n   <div style=\"text-align:center\">\n    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" alt=\"NOMAD Logo\" height=\"100\">  NOMAD Analytics Toolkit   \n  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" alt=\"NOMAD Logo\" height=\"80\"> </h2>\n  </div>\n    <h3>   Complexity tool estimator for accurate forces learning (FF-Fit): Monocrystalline Silicon example</h3>\n    <p class=\"nomad--description\">\n      created by:\n Ádám Fekete<sup> 1</sup>,\n Aldo Glielmo<sup>1</sup>, \n Martina Stella<sup>1</sup>,\n and Alessandro De Vita<sup>1</sup><br><br>\n\n      <sup>1</sup> Department of Physics, King's College London, Strand, London WC2R 2LS, UK  <br>\n      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>\n    </p>\n</div>\n\n</div>  \n\n<div style=\"text-align: right;\">\n<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> \n<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> \n</div>"
                 },
-                "elapsedTime": 0
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 0,
+                "height": 366
             },
             "evaluatorReader": true,
-            "lineCount": 1,
-            "initialization": true
+            "lineCount": 30
         },
         {
             "id": "markdownPaqgrK",
             "type": "markdown",
             "body": [
-                "<p style=\"color:#20335d;;font-weight: 900; font-size: 22pt;\">  NOMAD Analytics Toolkit</p>",
-                "<label style=\"text-align: left; color: #20335d; font-weight: 900; font-size: 18pt; padding-top: 2em;\">",
-                "  Complexity tool estimator for accurate forces learning (FF-Fit):</label></label><br/><label style=\"color: #20335d;font-weight: 900; font-size: 15pt;\"> Monocrystalline Silicon example</label>",
-                " </p>",
-                " <p style=\"font-size: 15px;\">developed by Ádám Fekete, Aldo Glielmo, Martina Stella, Alessandro De Vita<span style=\"font-size: smaller;\">[version 2017-01-02]</span></p>",
-                " <p style=\"font-size: 15px;\"> <b> Machine learning method: </b> Force fields learning with covariant kernels<br>",
+                "",
+                "<p style=\"font-size: 15px;\"> <b> Machine learning method: </b> Force fields learning with covariant kernels<br>",
                 " ",
                 " <p style=\"font-size: 15px;\"> <b> Reference: </b>  <a href=\"https://arxiv.org/abs/1611.03877\" target=\"_blank\"> A. Glielmo, P. Sollich, and A. De Vita: \"Accurate Inter-atomic force fields via Machine Learning with Covariant Kernels\", Phys. Rev. B. (2016, submitted)</a> </p>",
                 "<div style=\"padding-top: 2ex;\">",
@@ -120,6 +191,31 @@
             ],
             "evaluatorReader": false
         },
+        {
+            "id": "codeKExd0X",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<a target=\"_blank\" href=\"https://nomad-forum.rz-berlin.mpg.de//\" class=\"btn btn-primary\"> Send your feedback to the analytics-toolkit forum</a><h2> Your comments are invaluable in helping us provide a user friendly experience for all! </h2>"
+                ],
+                "hidden": true
+            },
+            "output": {
+                "state": {},
+                "selectedType": "BeakerDisplay",
+                "height": 267,
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<a target=\"_blank\" href=\"https://nomad-forum.rz-berlin.mpg.de//\" class=\"btn btn-primary\"> Send your feedback to the analytics-toolkit forum</a><h2> Your comments are invaluable in helping us provide a user friendly experience for all! </h2>"
+                },
+                "elapsedTime": 0
+            },
+            "evaluatorReader": true,
+            "lineCount": 1,
+            "initialization": true
+        },
         {
             "id": "codeiH4CYO",
             "type": "code",
@@ -251,16 +347,17 @@
                     "<!--     <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"plot_result_button\" >View plot: Data-set size vs Error on computed forces</a>  -->",
                     "<!--   </label> -->",
                     ""
-                ]
+                ],
+                "hidden": true
             },
             "output": {
                 "state": {},
                 "selectedType": "BeakerDisplay",
-                "height": 508,
+                "height": 526,
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\nvar run_tutorial_part1 = function() {\n  //$(\"#plot_result_button\").removeClass(\"active\").addClass(\"disabled\");\n  get_options();\n  beaker.evaluate(\"tutorial_part1\");\n};\n\nvar run_visualise_configuration = function(){\n  beaker.evaluate(\"visualise_configuration\");\n};\n  \n  \nvar get_options = function() {\n  \n    // Determine kernel adaptor function\n    // [i.e., choose from specific/generic/global-specific/global-generic]    \n//     var temp = $(\"#temp_input\").val(); \n  \n  \n  var temperatures = []\n  $('#temperatures input:checkbox').each(function () {\n    if(this.checked)\n      temperatures.push(this.value);\n  });\n\n\n  var size_of_train_set = []\n  $('#size_of_train_set input:checkbox').each(function () {\n    if(this.checked)\n      size_of_train_set.push(this.value);\n  });\n\n  beaker.options = {\n    \"part_1\": {\n      \"temperatures\": temperatures,\n      \"train_size\": size_of_train_set,\n      \"test_size\": $(\"#size_of_test_set\").val(),\n      \"gp_sigma\": $(\"#gp_sigma\").val()\n\n    }\n  }\n};\n</script>\n\n\n<p style=\"color:#20335d; font-weight:900; font-size:18pt;\">Complexity estimation for different system temperatures <br> </p><hr style=\"border-width:2px\"> <p></p>\n<p style=\"font-size: 15px;\">Instructions: the example we exploit here is the one of the mono-crystalline silicon. The user can observe how the error on the force predictions depends on the data set size for three different temperatures (300K, 1200K, 2000K). Different training-set sizes, test-set sizes and type of covariant kernels can be explored. Covariant kernels enable to compare/learn atomic configurations that are equivalent by symmetry to those in the data set chosen. The various parameters can be changed by the user in the section below. Sigma, which is the standard deviation of the gaussian functions, is set at a default value but can also be changed if needed. A 3D plot for the first configuration of the system chosen can be observed by clicking the visualisation button. By running the tool (button \"Run FF-Fit\") a 2D plot is produced which displays the error on the forces vs. the data set size. The user can observe how the complexity of the system strongly depends on temperature. In particular, the higher the temperature the more points are needed to get an accuracy within a target threshold.</p>\n\n\n\n<table width=\"50%\">\n   \n  <!-- Sytems -->\n  <tbody><tr style=\"line-height:40px\">\n    <td><b>System</b>&nbsp;</td>\n    <td>\n      <select class=\"select_main\" id=\"system_type\">\n        <option value=\"monocrystalline Si\" selected=\"\"> monocrystalline Si </option>\n      </select>\n      &nbsp;&nbsp;&nbsp;\n      <button class=\"btn btn-default\" onclick=\"run_visualise_configuration()\">Visualise sample configuration</button>&nbsp;\n    </td>\n  </tr>\n   \n  <!-- Temperatures -->\n  <tr style=\"line-height:40px\">\n    <td><b>System Temperature</b>&nbsp;</td>\n    <td id=\"temperatures\">\n      <label class=\"col-xs-4 col-md-4 col-lg-4\"> <input type=\"checkbox\" value=\"300\" checked=\"\">  300 K</label>\n      <label class=\"col-xs-4 col-md-4 col-lg-4\"> <input type=\"checkbox\" value=\"1200\" checked=\"\"> 1200 K</label>\n      <label class=\"col-xs-4 col-md-4 col-lg-4\"> <input type=\"checkbox\" value=\"2000\" checked=\"\"> 2000 K</label>\n    </td>\n  </tr>\n\n  <tr style=\"line-height:40px\">\n    <td><b>GP kernel</b></td>\n    <td>\n      <select class=\"select_main\" id=\"gp_kernel\">\n        <option value=\"cov_sim\" selected=\"\">Covariant Matrix Kernel</option>\n      </select>\n      &nbsp;&nbsp;&nbsp;\n      <span><b>Sigma:</b></span>\n      &nbsp;&nbsp;\n      <input type=\"text\" id=\"gp_sigma\" value=\"0.25\"> \n    </td>\n  </tr> \n\n\n  <!-- Training-set size -->\n  <tr style=\"line-height:40px\">\n    <td><b>Training-set size</b></td>\n    <td id=\"size_of_train_set\">\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input type=\"checkbox\" value=\"5\" checked=\"\">  5</label>\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input type=\"checkbox\" value=\"10\" checked=\"\"> 10</label>\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input type=\"checkbox\" value=\"20\" checked=\"\"> 20</label>\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input type=\"checkbox\" value=\"40\" checked=\"\"> 40</label>\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input type=\"checkbox\" value=\"80\"> 80</label>\n    </td>\n  </tr> \n\n   \n  \n  <!-- Test-set size -->\n  <tr style=\"line-height:40px\">\n    <td><b>Test-set size</b></td>\n    <td>\n      <select class=\"select_main\" id=\"size_of_test_set\">\n        <option value=\"50\"> 10 </option>\n        <option value=\"100\" selected=\"\"> 100 </option>\n        <option value=\"200\"> 200 </option> \n      </select>\n      \n    </td>\n  </tr> \n</tbody></table>\n  \n<hr style=\"border-width:2px\">\n  \n<button class=\"btn btn-primary\" onclick=\"run_tutorial_part1()\">RUN FF-Comp</button>&nbsp;\n<button class=\"btn btn-default\" onclick=\"reset_tutorial_part1()\">RESET FF-Comp</button>&nbsp;\n\n<!--   <label title=\"Activate once run is complete.\">  -->\n<!--     <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"plot_result_button\" >View plot: Data-set size vs Error on computed forces</a>  -->\n<!--   </label> -->\n"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\nvar run_tutorial_part1 = function() {\n  //$(\"#plot_result_button\").removeClass(\"active\").addClass(\"disabled\");\n  get_options();\n  beaker.evaluate(\"tutorial_part1\");\n};\n\nvar run_visualise_configuration = function(){\n  beaker.evaluate(\"visualise_configuration\");\n};\n  \n  \nvar get_options = function() {\n  \n    // Determine kernel adaptor function\n    // [i.e., choose from specific/generic/global-specific/global-generic]    \n//     var temp = $(\"#temp_input\").val(); \n  \n  \n  var temperatures = []\n  $('#temperatures input:checkbox').each(function () {\n    if(this.checked)\n      temperatures.push(this.value);\n  });\n\n\n  var size_of_train_set = []\n  $('#size_of_train_set input:checkbox').each(function () {\n    if(this.checked)\n      size_of_train_set.push(this.value);\n  });\n\n  beaker.options = {\n    \"part_1\": {\n      \"temperatures\": temperatures,\n      \"train_size\": size_of_train_set,\n      \"test_size\": $(\"#size_of_test_set\").val(),\n      \"gp_sigma\": $(\"#gp_sigma\").val()\n\n    }\n  }\n};\n</script>\n\n\n<p style=\"color:#20335d; font-weight:900; font-size:18pt;\">Complexity estimation for different system temperatures <br> </p><hr style=\"border-width:2px\"> <p></p>\n<p style=\"font-size: 15px;\">Instructions: the example we exploit here is the one of the mono-crystalline silicon. The user can observe how the error on the force predictions depends on the data set size for three different temperatures (300K, 1200K, 2000K). Different training-set sizes, test-set sizes and type of covariant kernels can be explored. Covariant kernels enable to compare/learn atomic configurations that are equivalent by symmetry to those in the data set chosen. The various parameters can be changed by the user in the section below. Sigma, which is the standard deviation of the gaussian functions, is set at a default value but can also be changed if needed. A 3D plot for the first configuration of the system chosen can be observed by clicking the visualisation button. By running the tool (button \"Run FF-Fit\") a 2D plot is produced which displays the error on the forces vs. the data set size. The user can observe how the complexity of the system strongly depends on temperature. In particular, the higher the temperature the more points are needed to get an accuracy within a target threshold.</p>\n\n\n\n<table width=\"50%\">\n   \n  <!-- Sytems -->\n  <tbody><tr style=\"line-height:40px\">\n    <td><b>System</b>&nbsp;</td>\n    <td>\n      <select class=\"select_main\" id=\"system_type\">\n        <option value=\"monocrystalline Si\" selected=\"\"> monocrystalline Si </option>\n      </select>\n      &nbsp;&nbsp;&nbsp;\n      <button class=\"btn btn-default\" onclick=\"run_visualise_configuration()\">Visualise sample configuration</button>&nbsp;\n    </td>\n  </tr>\n   \n  <!-- Temperatures -->\n  <tr style=\"line-height:40px\">\n    <td><b>System Temperature</b>&nbsp;</td>\n    <td id=\"temperatures\">\n      <label class=\"col-xs-4 col-md-4 col-lg-4\"> <input value=\"300\" checked=\"\" type=\"checkbox\">  300 K</label>\n      <label class=\"col-xs-4 col-md-4 col-lg-4\"> <input value=\"1200\" checked=\"\" type=\"checkbox\"> 1200 K</label>\n      <label class=\"col-xs-4 col-md-4 col-lg-4\"> <input value=\"2000\" checked=\"\" type=\"checkbox\"> 2000 K</label>\n    </td>\n  </tr>\n\n  <tr style=\"line-height:40px\">\n    <td><b>GP kernel</b></td>\n    <td>\n      <select class=\"select_main\" id=\"gp_kernel\">\n        <option value=\"cov_sim\" selected=\"\">Covariant Matrix Kernel</option>\n      </select>\n      &nbsp;&nbsp;&nbsp;\n      <span><b>Sigma:</b></span>\n      &nbsp;&nbsp;\n      <input id=\"gp_sigma\" value=\"0.25\" type=\"text\"> \n    </td>\n  </tr> \n\n\n  <!-- Training-set size -->\n  <tr style=\"line-height:40px\">\n    <td><b>Training-set size</b></td>\n    <td id=\"size_of_train_set\">\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input value=\"5\" checked=\"\" type=\"checkbox\">  5</label>\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input value=\"10\" checked=\"\" type=\"checkbox\"> 10</label>\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input value=\"20\" checked=\"\" type=\"checkbox\"> 20</label>\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input value=\"40\" checked=\"\" type=\"checkbox\"> 40</label>\n      <label class=\"col-xs-3 col-md-2 col-lg-2\"> <input value=\"80\" type=\"checkbox\"> 80</label>\n    </td>\n  </tr> \n\n   \n  \n  <!-- Test-set size -->\n  <tr style=\"line-height:40px\">\n    <td><b>Test-set size</b></td>\n    <td>\n      <select class=\"select_main\" id=\"size_of_test_set\">\n        <option value=\"50\"> 10 </option>\n        <option value=\"100\" selected=\"\"> 100 </option>\n        <option value=\"200\"> 200 </option> \n      </select>\n      \n    </td>\n  </tr> \n</tbody></table>\n  \n<hr style=\"border-width:2px\">\n  \n<button class=\"btn btn-primary\" onclick=\"run_tutorial_part1()\">RUN FF-Comp</button>&nbsp;\n<button class=\"btn btn-default\" onclick=\"reset_tutorial_part1()\">RESET FF-Comp</button>&nbsp;\n\n<!--   <label title=\"Activate once run is complete.\">  -->\n<!--     <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"plot_result_button\" >View plot: Data-set size vs Error on computed forces</a>  -->\n<!--   </label> -->\n"
                 },
                 "elapsedTime": 0
             },
@@ -546,11 +643,11 @@
             "output": {
                 "state": {},
                 "selectedType": "BeakerDisplay",
-                "height": 403,
+                "height": 482,
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\nvar run_tutorial_part_2 = function() {\n  //$(\"#plot_result_button\").removeClass(\"active\").addClass(\"disabled\");\n  get_options_part_2();\n  beaker.evaluate(\"tutorial_part_2\");\n};\n  \nvar get_options_part_2 = function() {\n\n  beaker.options = {\n    \"part_2\": {\n      \"temperature\": $(\"#temperature_part_2\").val(),\n      \"train_size\": $(\"#size_of_train_set_part_2\").val(),\n      \"gp_kernel\": $(\"#gp_kernel_part_2\").val(),\n      \"gp_sigma\": $(\"#gp_sigma_part_2\").val(),\n    }\n  };\n  \n};\n</script>\n\n\n\n<!-- <div class=\"container\" id=\"tutorial-part-2\"> -->\n\n<p style=\"color:#20335d; font-weight:900; font-size:18pt;\"> Estimation of the pair wise potential<br> </p><hr style=\"border-width:2px\"> <p></p>\n<p style=\"font-size: 15px;\">Instructions: By running the present tool two plots can be generated. The first one shows the predicted forces as a function of the pair-wise distance and the second one shows the potential computed from such forces. In the parameter section below the user can change the system, temperature, training-set size, kernel type. Sigma, which is the standard deviation of the gaussian functions, is set at a default value but can be changed if needed. In addition, the error associated with the predicted quantities is displayed (shadowed region). In the background, the histogram for the distribution of the data points as a function of the pair-wise distance is also given. In general this should highlight how, highly populated areas of such plot, correspond to higher learnability and, hence, lower error on the predicted potential.</p>\n\n  <form id=\"tutorial-part-2-options\">\n    <!-- Sytems -->\n    <div class=\"form-group row\">\n      <label class=\"col-xs-3 col-md-2\"> <b>System</b></label>\n      <select class=\"col-xs-3 col-md-2\" id=\"system_type\">\n        <option value=\"monocrystalline Si\" selected=\"\"> monocrystalline Si </option>\n      </select>\n    </div>  <!-- End of row-->\n\n    <!-- Temperatures -->\n    <div class=\"form-group row\">\n      <label class=\"col-md-2 col-form-label\"><b>System Temperature</b></label>\n      <select class=\"col-xs-3 col-md-1\" id=\"temperature_part_2\">\n        <option value=\"300\">  300 K </option>\n        <option value=\"1200\" selected=\"\"> 1200 K </option>\n        <option value=\"2000\"> 2000 K </option>\n      </select>\n    </div>  <!-- End of row-->\n\n    <div class=\"form-group row\">\n      <label class=\"col-xs-3 col-md-2\"><b>GP kernel</b></label>\n      <select class=\"col-xs-3 col-md-2\" id=\"gp_kernel_part_2\">\n        <option value=\"cov_sim\" selected=\"\">Covariant Matrix Kernel</option>\n      </select>\n      <label class=\"col-xs-3 col-md-1\"><b>Sigma:</b></label>\n      <input type=\"text\" id=\"gp_sigma_part_2\" value=\"0.25\">\n    </div>  <!-- End of row-->\n\n    <!-- Train-set size -->\n    <div class=\"form-group row\">\n      <label class=\"col-xs-3 col-md-2\"><b>Training-set size</b></label>\n      <select class=\"col-xs-3 col-md-1\" id=\"size_of_train_set_part_2\">\n        <option value=\"50\"> 10 </option>\n        <option value=\"100\" selected=\"\"> 100 </option>\n        <option value=\"200\"> 200 </option> \n      </select>\n    </div>  <!-- End of row-->\n    \n<!--     <div class=\"form-group row\">\n      <div class=\"offset-sm-2 col-sm-10\">\n        <button class=\"btn btn-primary\" onclick='run_tutorial_part_2()'>RUN Pairwise Potential</button> \n        <button class=\"btn btn-default\" onclick='reset_tutorial_part_2()'>RESET</button> \n      </div>\n    </div> -->\n  </form>\n\n<hr style=\"border-width:2px\">\n<button class=\"btn btn-primary\" onclick=\"run_tutorial_part_2()\">RUN Pairwise Potential</button>&nbsp;\n<button class=\"btn btn-default\" onclick=\"reset_tutorial_part_2()\">RESET</button>&nbsp;\n\n\n\n\n<!-- </div>   -->\n\n<!--   <label title=\"Activate once run is complete.\">  -->\n<!--     <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"plot_result_button\" >View plot: Data-set size vs Error on computed forces</a>  -->\n<!--   </label> -->\n\n"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\nvar run_tutorial_part_2 = function() {\n  //$(\"#plot_result_button\").removeClass(\"active\").addClass(\"disabled\");\n  get_options_part_2();\n  beaker.evaluate(\"tutorial_part_2\");\n};\n  \nvar get_options_part_2 = function() {\n\n  beaker.options = {\n    \"part_2\": {\n      \"temperature\": $(\"#temperature_part_2\").val(),\n      \"train_size\": $(\"#size_of_train_set_part_2\").val(),\n      \"gp_kernel\": $(\"#gp_kernel_part_2\").val(),\n      \"gp_sigma\": $(\"#gp_sigma_part_2\").val(),\n    }\n  };\n  \n};\n</script>\n\n\n\n<!-- <div class=\"container\" id=\"tutorial-part-2\"> -->\n\n<p style=\"color:#20335d; font-weight:900; font-size:18pt;\"> Estimation of the pair wise potential<br> </p><hr style=\"border-width:2px\"> <p></p>\n<p style=\"font-size: 15px;\">Instructions: By running the present tool two plots can be generated. The first one shows the predicted forces as a function of the pair-wise distance and the second one shows the potential computed from such forces. In the parameter section below the user can change the system, temperature, training-set size, kernel type. Sigma, which is the standard deviation of the gaussian functions, is set at a default value but can be changed if needed. In addition, the error associated with the predicted quantities is displayed (shadowed region). In the background, the histogram for the distribution of the data points as a function of the pair-wise distance is also given. In general this should highlight how, highly populated areas of such plot, correspond to higher learnability and, hence, lower error on the predicted potential.</p>\n\n  <form id=\"tutorial-part-2-options\">\n    <!-- Sytems -->\n    <div class=\"form-group row\">\n      <label class=\"col-xs-3 col-md-2\"> <b>System</b></label>\n      <select class=\"col-xs-3 col-md-2\" id=\"system_type\">\n        <option value=\"monocrystalline Si\" selected=\"\"> monocrystalline Si </option>\n      </select>\n    </div>  <!-- End of row-->\n\n    <!-- Temperatures -->\n    <div class=\"form-group row\">\n      <label class=\"col-md-2 col-form-label\"><b>System Temperature</b></label>\n      <select class=\"col-xs-3 col-md-1\" id=\"temperature_part_2\">\n        <option value=\"300\">  300 K </option>\n        <option value=\"1200\" selected=\"\"> 1200 K </option>\n        <option value=\"2000\"> 2000 K </option>\n      </select>\n    </div>  <!-- End of row-->\n\n    <div class=\"form-group row\">\n      <label class=\"col-xs-3 col-md-2\"><b>GP kernel</b></label>\n      <select class=\"col-xs-3 col-md-2\" id=\"gp_kernel_part_2\">\n        <option value=\"cov_sim\" selected=\"\">Covariant Matrix Kernel</option>\n      </select>\n      <label class=\"col-xs-3 col-md-1\"><b>Sigma:</b></label>\n      <input id=\"gp_sigma_part_2\" value=\"0.25\" type=\"text\">\n    </div>  <!-- End of row-->\n\n    <!-- Train-set size -->\n    <div class=\"form-group row\">\n      <label class=\"col-xs-3 col-md-2\"><b>Training-set size</b></label>\n      <select class=\"col-xs-3 col-md-1\" id=\"size_of_train_set_part_2\">\n        <option value=\"50\"> 10 </option>\n        <option value=\"100\" selected=\"\"> 100 </option>\n        <option value=\"200\"> 200 </option> \n      </select>\n    </div>  <!-- End of row-->\n    \n<!--     <div class=\"form-group row\">\n      <div class=\"offset-sm-2 col-sm-10\">\n        <button class=\"btn btn-primary\" onclick='run_tutorial_part_2()'>RUN Pairwise Potential</button> \n        <button class=\"btn btn-default\" onclick='reset_tutorial_part_2()'>RESET</button> \n      </div>\n    </div> -->\n  </form>\n\n<hr style=\"border-width:2px\">\n<button class=\"btn btn-primary\" onclick=\"run_tutorial_part_2()\">RUN Pairwise Potential</button>&nbsp;\n<button class=\"btn btn-default\" onclick=\"reset_tutorial_part_2()\">RESET</button>&nbsp;\n\n\n\n\n<!-- </div>   -->\n\n<!--   <label title=\"Activate once run is complete.\">  -->\n<!--     <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"plot_result_button\" >View plot: Data-set size vs Error on computed forces</a>  -->\n<!--   </label> -->\n\n"
                 },
                 "elapsedTime": 0
             },
diff --git a/beaker-notebooks/SOAP_similarity.bkr b/beaker-notebooks/SOAP_similarity.bkr
index a59447e..99d6e28 100644
--- a/beaker-notebooks/SOAP_similarity.bkr
+++ b/beaker-notebooks/SOAP_similarity.bkr
@@ -46,17 +46,111 @@
         }
     ],
     "cells": [
+        {
+            "id": "codePkFOyE",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<style type=\"text/css\">",
+                    "/*!",
+                    " * Nomad Beaker Notebook Template",
+                    " *",
+                    " * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,",
+                    " *             Benjamin Regler - Apache 2.0 License",
+                    " * @license    http://www.apache.org/licenses/LICENSE-2.0",
+                    " * @author     Benjamin Regler",
+                    " * @version    1.0.0",
+                    " *",
+                    " * Licensed under the Apache License, Version 2.0 (the \"License\");",
+                    " * you may not use this file except in compliance with the License.",
+                    " * You may obtain a copy of the License at",
+                    " * ",
+                    " *     http://www.apache.org/licenses/LICENSE-2.0",
+                    " *",
+                    " * Unless required by applicable law or agreed to in writing, software",
+                    " * distributed under the License is distributed on an \"AS IS\" BASIS,",
+                    " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+                    " * See the License for the specific language governing permissions and",
+                    " * limitations under the License.",
+                    " */",
+                    "p{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}",
+                    "</style>"
+                ],
+                "hidden": true
+            },
+            "output": {
+                "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n/*!\n * Nomad Beaker Notebook Template\n *\n * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,\n *             Benjamin Regler - Apache 2.0 License\n * @license    http://www.apache.org/licenses/LICENSE-2.0\n * @author     Benjamin Regler\n * @version    1.0.0\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\np{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}\n</style>"
+                },
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 0,
+                "height": 50
+            },
+            "evaluatorReader": true,
+            "lineCount": 24
+        },
+        {
+            "id": "codeFlWfG0",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<div id=\"teaser\" style='background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; ",
+                    "    padding-top: 20px;",
+                    "    padding-right: 10px;",
+                    "    padding-bottom: 50px;",
+                    "    padding-left: 80px;' > ",
+                    "",
+                    "  <div class=\"nomad--header\">",
+                    "   <div style=\"text-align:center\">",
+                    "    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" height=\"100\" alt=\"NOMAD Logo\">  NOMAD Analytics Toolkit   ",
+                    "  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" height=\"80\" alt=\"NOMAD Logo\"> </h2>",
+                    "  </div>",
+                    "    <h3> Database mapping via global similarity measures</h3>",
+                    "    <p class=\"nomad--description\">",
+                    "      created by:",
+                    " C. Poelking<sup>1</sup>,",
+                    " A. Ziletti<sup>2</sup>, ",
+                    " L. Ghiringhelli<sup>2</sup>,",
+                    " and G. Csányi <sup>1</sup> <br><br>",
+                    "   ",
+                    "      <sup>1</sup> Engineering Laboratory, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK",
+                    "      <sup>2</sup> Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany <br>",
+                    "",
+                    "      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>",
+                    "    </p>",
+                    "</div>",
+                    "",
+                    "</div>  ",
+                    "",
+                    "<div style='text-align: right;'>",
+                    "<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> ",
+                    "<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> ",
+                    "</div>"
+                ]
+            },
+            "output": {
+                "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<div id=\"teaser\" style=\"background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; \n    padding-top: 20px;\n    padding-right: 10px;\n    padding-bottom: 50px;\n    padding-left: 80px;\"> \n\n  <div class=\"nomad--header\">\n   <div style=\"text-align:center\">\n    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" alt=\"NOMAD Logo\" height=\"100\">  NOMAD Analytics Toolkit   \n  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" alt=\"NOMAD Logo\" height=\"80\"> </h2>\n  </div>\n    <h3> Database mapping via global similarity measures</h3>\n    <p class=\"nomad--description\">\n      created by:\n C. Poelking<sup>1</sup>,\n A. Ziletti<sup>2</sup>, \n L. Ghiringhelli<sup>2</sup>,\n and G. Csányi <sup>1</sup> <br><br>\n   \n      <sup>1</sup> Engineering Laboratory, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK\n      <sup>2</sup> Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany <br>\n\n      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>\n    </p>\n</div>\n\n</div>  \n\n<div style=\"text-align: right;\">\n<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> \n<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> \n</div>"
+                },
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 0,
+                "height": 389
+            },
+            "evaluatorReader": true,
+            "lineCount": 32
+        },
         {
             "id": "markdownRBGLQA",
             "type": "markdown",
             "body": [
-                "<p style=\"color: #20335d;;font-weight: 900; font-size: 22pt;\">  NOMAD Analytics Toolkit</p>",
-                "<label style=\"text-align: center; color: #20335d; font-weight: 900; font-size: 18pt;\">Database mapping via global similarity measures</label>",
-                "<!--label style=\"color: #20335d;font-weight: 900; font-size: 15pt;\"> Visualizing global similarity</label-->",
-                " </p>",
-                "  <hr style=\"border-width:2px\">",
-                " <p style=\"font-size: 15px;\"> developed by Carl Poelking, Angelo Ziletti, Luca Ghiringhelli and Gábor Csányi [version 12-04-2017]</p>",
-                " ",
                 " <p style=\"font-size: 15px;\"> <b> Machine learning method: </b> Nonlinear dimensionality reduction based on SOAP similarity kernel<br>",
                 " ",
                 " <p style=\"font-size: 15px;\"> <b> Reference: </b>  <a href=\"https://arxiv.org/abs/1601.04077\" target=\"_blank\"> S. De, A. Bartók, G. Csányi, and M. Ceriotti: \"Comparing molecules and solids across structural and chemical space\", Phys. Chem. Chem. Phys. (2016)</a> </p>"
@@ -537,7 +631,7 @@
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 1,
-                "height": 465
+                "height": 483
             },
             "evaluatorReader": true,
             "lineCount": 306,
diff --git a/beaker-notebooks/clusterX.bkr b/beaker-notebooks/clusterX.bkr
index 2cfa540..7feb977 100644
--- a/beaker-notebooks/clusterX.bkr
+++ b/beaker-notebooks/clusterX.bkr
@@ -55,6 +55,105 @@
         }
     ],
     "cells": [
+        {
+            "id": "codelidvmq",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<style type=\"text/css\">",
+                    "/*!",
+                    " * Nomad Beaker Notebook Template",
+                    " *",
+                    " * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,",
+                    " *             Benjamin Regler - Apache 2.0 License",
+                    " * @license    http://www.apache.org/licenses/LICENSE-2.0",
+                    " * @author     Benjamin Regler",
+                    " * @version    1.0.0",
+                    " *",
+                    " * Licensed under the Apache License, Version 2.0 (the \"License\");",
+                    " * you may not use this file except in compliance with the License.",
+                    " * You may obtain a copy of the License at",
+                    " * ",
+                    " *     http://www.apache.org/licenses/LICENSE-2.0",
+                    " *",
+                    " * Unless required by applicable law or agreed to in writing, software",
+                    " * distributed under the License is distributed on an \"AS IS\" BASIS,",
+                    " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+                    " * See the License for the specific language governing permissions and",
+                    " * limitations under the License.",
+                    " */",
+                    "p{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}",
+                    "</style>"
+                ],
+                "hidden": true
+            },
+            "output": {
+                "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n/*!\n * Nomad Beaker Notebook Template\n *\n * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,\n *             Benjamin Regler - Apache 2.0 License\n * @license    http://www.apache.org/licenses/LICENSE-2.0\n * @author     Benjamin Regler\n * @version    1.0.0\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\np{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}\n</style>"
+                },
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 1,
+                "height": 50
+            },
+            "evaluatorReader": true,
+            "lineCount": 24
+        },
+        {
+            "id": "code3MNxHT",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<div id=\"teaser\" style='background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; ",
+                    "    padding-top: 20px;",
+                    "    padding-right: 10px;",
+                    "    padding-bottom: 50px;",
+                    "    padding-left: 80px;' > ",
+                    "",
+                    "  <div class=\"nomad--header\">",
+                    "   <div style=\"text-align:center\">",
+                    "    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" height=\"100\" alt=\"NOMAD Logo\">  NOMAD Analytics Toolkit   ",
+                    "  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" height=\"80\" alt=\"NOMAD Logo\"> </h2>",
+                    "  </div>",
+                    "    <h3>   Predicting ground-states of binary alloys through cluster expansion: Example of a SiGe binary alloy </h3>",
+                    "    <p class=\"nomad--description\">",
+                    "      created by:",
+                    " S. Rigamonti<sup> 1</sup>,",
+                    " M. Troppenz<sup>1</sup>, ",
+                    " and C. Draxl <sup>1</sup> <br><br>",
+                    "   ",
+                    "      <sup>1</sup> Humboldt-Universität zu Berlin, Zum Großen Windkanal 6, D-12489 Berlin, Germany <br>",
+                    "      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>",
+                    "    </p>",
+                    "</div>",
+                    "",
+                    "</div>  ",
+                    "",
+                    "<div style='text-align: right;'>",
+                    "<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> ",
+                    "<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> ",
+                    "</div>"
+                ],
+                "hidden": true
+            },
+            "output": {
+                "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<div id=\"teaser\" style=\"background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; \n    padding-top: 20px;\n    padding-right: 10px;\n    padding-bottom: 50px;\n    padding-left: 80px;\"> \n\n  <div class=\"nomad--header\">\n   <div style=\"text-align:center\">\n    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" alt=\"NOMAD Logo\" height=\"100\">  NOMAD Analytics Toolkit   \n  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" alt=\"NOMAD Logo\" height=\"80\"> </h2>\n  </div>\n    <h3>   Predicting ground-states of binary alloys through cluster expansion: Example of a SiGe binary alloy </h3>\n    <p class=\"nomad--description\">\n      created by:\n S. Rigamonti<sup> 1</sup>,\n M. Troppenz<sup>1</sup>, \n and C. Draxl <sup>1</sup> <br><br>\n   \n      <sup>1</sup> Humboldt-Universität zu Berlin, Zum Großen Windkanal 6, D-12489 Berlin, Germany <br>\n      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>\n    </p>\n</div>\n\n</div>  \n\n<div style=\"text-align: right;\">\n<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> \n<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> \n</div>"
+                },
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 0,
+                "height": 366
+            },
+            "evaluatorReader": true,
+            "lineCount": 29
+        },
         {
             "id": "codeVM8oZV",
             "type": "code",
@@ -78,15 +177,6 @@
                     "  ",
                     "</script>",
                     "",
-                    "<label style=\"text-align: left; color: #20335d; font-weight: 900; font-size: 18pt; padding-top: 2em;\">",
-                    "  Predicting ground-states of binary alloys through cluster expansion",
-                    "</label>",
-                    "<br/>",
-                    "<label style=\"color: #20335d;font-weight: 900; font-size: 15pt;\">",
-                    "  Example of a SiGe binary alloy ",
-                    "</label>",
-                    "<p style=\"font-size: 15px;\">S. Rigamonti, M. Troppenz, and C. Draxl <span style=\"font-size: smaller;\">[version 2017-01-25]</span></p>",
-                    "",
                     "<div style=\"padding-top: 1em;\">",
                     "  This tutorial shows how to predict the ground-state configurations of a binary alloy, starting from a set of <i>ab-initio</i> calculations for random distributions of the substituent species. This is achieved through a cluster expansion (CE) of the energy of mixing of the alloy and a configurational sampling. The system studied in this tutorial is the alloy Si<sub>1-x</sub>Ge<sub>x</sub>. The user can specify the parameters determining the quality of the CE and the configurational sampling. The tasks are performed with the cluster expansion package CELL - Cluster Expansion for large parent ceLLs.",
                     "</div>",
@@ -107,14 +197,14 @@
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\n  var clearyy = function() {  \n    var d = document.getElementsByClassName('clearonload');\n    for (var i=0; i<d.length; i++){\n      d[i].style.display = 'none';\n    };  \n    beaker.toggle_outs=1;\n    beaker.evaluate(\"calc_cell4\");\n    beaker.evaluate(\"calc_cell6\");\n  };\n  \n  beaker.evaluate(\"calc_imports\");\n  clearyy();\n  \n  \n</script>\n\n<label style=\"text-align: left; color: #20335d; font-weight: 900; font-size: 18pt; padding-top: 2em;\">\n  Predicting ground-states of binary alloys through cluster expansion\n</label>\n<br>\n<label style=\"color: #20335d;font-weight: 900; font-size: 15pt;\">\n  Example of a SiGe binary alloy \n</label>\n<p style=\"font-size: 15px;\">S. Rigamonti, M. Troppenz, and C. Draxl <span style=\"font-size: smaller;\">[version 2017-01-25]</span></p>\n\n<div style=\"padding-top: 1em;\">\n  This tutorial shows how to predict the ground-state configurations of a binary alloy, starting from a set of <i>ab-initio</i> calculations for random distributions of the substituent species. This is achieved through a cluster expansion (CE) of the energy of mixing of the alloy and a configurational sampling. The system studied in this tutorial is the alloy Si<sub>1-x</sub>Ge<sub>x</sub>. The user can specify the parameters determining the quality of the CE and the configurational sampling. The tasks are performed with the cluster expansion package CELL - Cluster Expansion for large parent ceLLs.\n</div>\n<!--div>\n    Click on \"Run\" below to reproduce results from this publication; Click on\"Background\" for an explanation of the cluster expansion technique.\n    </div-->\n<div style=\"padding-top: 1em;\">\n  <div style=\"padding-top: 2ex;\">\n    <span style=\"font-weight: bold;\">Idea: </span> Starting from a set of arbitrary structures, with different compositions and various arrangements of the substitutional species (Ge in this case), the most stable arrangements of the Ge atoms in the crystal are predicted. \n  </div>\n</div>\n"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\n  var clearyy = function() {  \n    var d = document.getElementsByClassName('clearonload');\n    for (var i=0; i<d.length; i++){\n      d[i].style.display = 'none';\n    };  \n    beaker.toggle_outs=1;\n    beaker.evaluate(\"calc_cell4\");\n    beaker.evaluate(\"calc_cell6\");\n  };\n  \n  beaker.evaluate(\"calc_imports\");\n  clearyy();\n  \n  \n</script>\n\n<div style=\"padding-top: 1em;\">\n  This tutorial shows how to predict the ground-state configurations of a binary alloy, starting from a set of <i>ab-initio</i> calculations for random distributions of the substituent species. This is achieved through a cluster expansion (CE) of the energy of mixing of the alloy and a configurational sampling. The system studied in this tutorial is the alloy Si<sub>1-x</sub>Ge<sub>x</sub>. The user can specify the parameters determining the quality of the CE and the configurational sampling. The tasks are performed with the cluster expansion package CELL - Cluster Expansion for large parent ceLLs.\n</div>\n<!--div>\n    Click on \"Run\" below to reproduce results from this publication; Click on\"Background\" for an explanation of the cluster expansion technique.\n    </div-->\n<div style=\"padding-top: 1em;\">\n  <div style=\"padding-top: 2ex;\">\n    <span style=\"font-weight: bold;\">Idea: </span> Starting from a set of arbitrary structures, with different compositions and various arrangements of the substitutional species (Ge in this case), the most stable arrangements of the Ge atoms in the crystal are predicted. \n  </div>\n</div>\n"
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 270
+                "height": 200
             },
             "evaluatorReader": true,
-            "lineCount": 38,
+            "lineCount": 29,
             "initialization": true
         },
         {
@@ -330,7 +420,7 @@
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 71
+                "height": 72
             },
             "evaluatorReader": true,
             "lineCount": 195
@@ -397,7 +487,7 @@
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n  #lasso-hidden-settings-div{\n  display:none;\n  } \n  #lasso-hidden-settings-button{\n  display:none;\n  }   \n</style>\n\n<div class=\"lasso_control\" id=\"lasso-hidden-settings-div\" style=\"display: none;\">\n  <div class=\"row\"> <!-- Start of third row-->\n    <p>Definition of the pool of clusters.</p>\n    <p class=\"lasso_selection_description\"><b>Maximum number of points: </b> \n      <select id=\"cpoints\">\n\t<option value=\"1\"> 1</option>\n\t<option value=\"2\"> 2</option>\n\t<option value=\"3\" selected=\"selected\"> 3</option>\n\t<option value=\"4\"> 4</option>\n      </select>\n    </p>\n    <p class=\"lasso_selection_description\"> <b>Maximum radius (Angstrom):</b>  \n      <input name=\"cradius\" type=\"number\" step=\"0.1\" value=\"5.0\" min=\"0\">\n    </p>\n  </div><!-- End of row--> \n  \n  <div class=\"row\"> <!-- Start of third row-->\n    <p>Search for the ground states (configurational sampling).</p>\n    <p class=\"lasso_selection_description\"> <b>Number of sampling steps:</b>  \n      <input name=\"msteps\" type=\"number\" step=\"1\" value=\"200\" min=\"1\">\n    </p>\n    <p class=\"lasso_selection_description\"> <b>Temperature (K):</b>\n      <input name=\"mtemp\" type=\"number\" step=\"1\" value=\"1000\" min=\"1\">\n    </p>\n    <p class=\"lasso_selection_description\"> <b>Number of concentrations to be sampled:</b>\n      <input name=\"nsub\" type=\"number\" step=\"1\" value=\"13\" min=\"1\">\n    </p>\n  </div><!-- End of row--> \n  \n  \n  <!-- <span title=''> <img src=\"http://images.clipartpanda.com/question-purzen_Icon_with_question_mark_Vector_Clipart.png\" style=\"height: 30px; width: 30px;\"> </span> -->\n  <!--   <button class=\"btn btn-default\" onclick='run_lasso()'>RUN LASSO+L0</button> -->\n  <!--   <button class=\"btn btn-default\" onclick='reset_lasso()'>RESET</button> -->\n  <!--   <label title=\"This button becomes active when the\n\t run is finished. By clicking it, an interactive plot of the first 2\n\t dimensions of the optimized descriptor will be opened\"> \n\t <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"lasso_result_button\" >View interactive 2D scatter plot</a> </label> -->\n</div>\n"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n  #lasso-hidden-settings-div{\n  display:none;\n  } \n  #lasso-hidden-settings-button{\n  display:none;\n  }   \n</style>\n\n<div class=\"lasso_control\" id=\"lasso-hidden-settings-div\" style=\"display: none;\">\n  <div class=\"row\"> <!-- Start of third row-->\n    <p>Definition of the pool of clusters.</p>\n    <p class=\"lasso_selection_description\"><b>Maximum number of points: </b> \n      <select id=\"cpoints\">\n\t<option value=\"1\"> 1</option>\n\t<option value=\"2\"> 2</option>\n\t<option value=\"3\" selected=\"selected\"> 3</option>\n\t<option value=\"4\"> 4</option>\n      </select>\n    </p>\n    <p class=\"lasso_selection_description\"> <b>Maximum radius (Angstrom):</b>  \n      <input name=\"cradius\" step=\"0.1\" value=\"5.0\" min=\"0\" type=\"number\">\n    </p>\n  </div><!-- End of row--> \n  \n  <div class=\"row\"> <!-- Start of third row-->\n    <p>Search for the ground states (configurational sampling).</p>\n    <p class=\"lasso_selection_description\"> <b>Number of sampling steps:</b>  \n      <input name=\"msteps\" step=\"1\" value=\"200\" min=\"1\" type=\"number\">\n    </p>\n    <p class=\"lasso_selection_description\"> <b>Temperature (K):</b>\n      <input name=\"mtemp\" step=\"1\" value=\"1000\" min=\"1\" type=\"number\">\n    </p>\n    <p class=\"lasso_selection_description\"> <b>Number of concentrations to be sampled:</b>\n      <input name=\"nsub\" step=\"1\" value=\"13\" min=\"1\" type=\"number\">\n    </p>\n  </div><!-- End of row--> \n  \n  \n  <!-- <span title=''> <img src=\"http://images.clipartpanda.com/question-purzen_Icon_with_question_mark_Vector_Clipart.png\" style=\"height: 30px; width: 30px;\"> </span> -->\n  <!--   <button class=\"btn btn-default\" onclick='run_lasso()'>RUN LASSO+L0</button> -->\n  <!--   <button class=\"btn btn-default\" onclick='reset_lasso()'>RESET</button> -->\n  <!--   <label title=\"This button becomes active when the\n\t run is finished. By clicking it, an interactive plot of the first 2\n\t dimensions of the optimized descriptor will be opened\"> \n\t <a href=\"#\" target=\"_blank\" class=\"btn btn-primary disabled\" id=\"lasso_result_button\" >View interactive 2D scatter plot</a> </label> -->\n</div>\n"
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
@@ -445,7 +535,7 @@
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 80
+                "height": 93
             },
             "evaluatorReader": true,
             "lineCount": 20
@@ -524,8 +614,8 @@
                 "state": {},
                 "selectedType": "Hidden",
                 "pluginName": "IPython",
-                "shellId": "A56ABFD923654A3DB0D13FBBFFE5FB6E",
-                "elapsedTime": 712,
+                "shellId": "C0108CE2A7F449938A45BA2B321EAD2F",
+                "elapsedTime": 515,
                 "height": 76
             },
             "evaluatorReader": true,
@@ -630,8 +720,8 @@
                 "state": {},
                 "selectedType": "Hidden",
                 "pluginName": "IPython",
-                "shellId": "A56ABFD923654A3DB0D13FBBFFE5FB6E",
-                "elapsedTime": 583,
+                "shellId": "C0108CE2A7F449938A45BA2B321EAD2F",
+                "elapsedTime": 493,
                 "height": 619
             },
             "evaluatorReader": true,
@@ -755,8 +845,8 @@
                 "state": {},
                 "selectedType": "Hidden",
                 "pluginName": "IPython",
-                "shellId": "A56ABFD923654A3DB0D13FBBFFE5FB6E",
-                "elapsedTime": 641,
+                "shellId": "C0108CE2A7F449938A45BA2B321EAD2F",
+                "elapsedTime": 437,
                 "height": 619
             },
             "evaluatorReader": true,
diff --git a/beaker-notebooks/errorbars_html.bkr b/beaker-notebooks/errorbars_html.bkr
index e0605b0..7131c86 100644
--- a/beaker-notebooks/errorbars_html.bkr
+++ b/beaker-notebooks/errorbars_html.bkr
@@ -34,23 +34,105 @@
     ],
     "cells": [
         {
-            "id": "markdownhTTG3e",
-            "type": "markdown",
-            "body": [
-                "<p style=\"color: #20335d;;font-weight: 900; font-size: 22pt;\">  NOMAD analytics toolkit</p>",
-                "<label style=\"text-align: center; color: #20335d; font-weight: 900; font-size: 18pt;\">Analyzing and Estimating Error Bars from High-Accuracy References</label> <label style=\"color: #20335d;font-weight: 900; font-size: 15pt;\"> </label>",
-                " </p>",
-                " <p style=\"font-size: 15px; \"> <br> ",
-                "<b> Beaker Notebook:</b> Björn Bieniek, Mikkel Strange, and Christian Carbogno. <br> <br> ",
-                "<b> Curated VASP data: </b>Elisabeth Wruss, and Oliver T. Hofmann,  <i>Institute of Solid State Physics, Graz University of Technology, NAWI Graz, Petergasse 16, 8010 Graz, Austria</i><br>",
-                " <b>Curated GPAW data:</b> Mikkel Strange, and Kristian Sommer Thygesen,  <i>CAMD, Department of Physics, Technical University of Denmark. Fysikvej 1 2800 Kgs. Lyngby, Denmark</i><br>",
-                " <b>Curated exciting data: </b>Sven Lubeck, and Andris Gulans, <i>Humboldt-Universität zu Berlin, Department of Physics, Zum Grossen Windkanal 6, D-12489 Berlin</i><br>",
-                " <b>Curated FHI-aims data: </b>Björn Bieniek, and Christian Carbogno, <i>Fritz-Haber-Institut der Max-Planck-Gesellschaft, Faradayweg 4-6, D-14195 Berlin, Germany</i></p>",
-                "",
-                "",
-                ""
-            ],
-            "evaluatorReader": false
+            "id": "code9L1tn3",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<style type=\"text/css\">",
+                    "/*!",
+                    " * Nomad Beaker Notebook Template",
+                    " *",
+                    " * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,",
+                    " *             Benjamin Regler - Apache 2.0 License",
+                    " * @license    http://www.apache.org/licenses/LICENSE-2.0",
+                    " * @author     Benjamin Regler",
+                    " * @version    1.0.0",
+                    " *",
+                    " * Licensed under the Apache License, Version 2.0 (the \"License\");",
+                    " * you may not use this file except in compliance with the License.",
+                    " * You may obtain a copy of the License at",
+                    " * ",
+                    " *     http://www.apache.org/licenses/LICENSE-2.0",
+                    " *",
+                    " * Unless required by applicable law or agreed to in writing, software",
+                    " * distributed under the License is distributed on an \"AS IS\" BASIS,",
+                    " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+                    " * See the License for the specific language governing permissions and",
+                    " * limitations under the License.",
+                    " */",
+                    "p{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}",
+                    "</style>"
+                ],
+                "hidden": true
+            },
+            "output": {
+                "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n/*!\n * Nomad Beaker Notebook Template\n *\n * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,\n *             Benjamin Regler - Apache 2.0 License\n * @license    http://www.apache.org/licenses/LICENSE-2.0\n * @author     Benjamin Regler\n * @version    1.0.0\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\np{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}\n</style>"
+                },
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 0,
+                "height": 50
+            },
+            "evaluatorReader": true,
+            "lineCount": 24
+        },
+        {
+            "id": "codeIFzlWw",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<div id=\"teaser\" style='background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; ",
+                    "    padding-top: 20px;",
+                    "    padding-right: 10px;",
+                    "    padding-bottom: 50px;",
+                    "    padding-left: 80px;' > ",
+                    "",
+                    "  <div class=\"nomad--header\">",
+                    "   <div style=\"text-align:center\">",
+                    "    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" height=\"100\" alt=\"NOMAD Logo\">  NOMAD Analytics Toolkit   ",
+                    "  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" height=\"80\" alt=\"NOMAD Logo\"> </h2>",
+                    "  </div>",
+                    "    <h3> Analyzing and Estimating Error Bars from High-Accuracy References</h3>",
+                    "    <p class=\"nomad--description\">",
+                    "",
+                    "      <br><br>",
+                    "",
+                    " <b> Beaker Notebook:</b> Björn Bieniek, Mikkel Strange, and Christian Carbogno. <br> <br> ",
+                    "<b> Curated VASP data: </b>Elisabeth Wruss, and Oliver T. Hofmann,  <i>Institute of Solid State Physics, Graz University of Technology, NAWI Graz, Petergasse 16, 8010 Graz, Austria</i><br>",
+                    " <b>Curated GPAW data:</b> Mikkel Strange, and Kristian Sommer Thygesen,  <i>CAMD, Department of Physics, Technical University of Denmark. Fysikvej 1 2800 Kgs. Lyngby, Denmark</i><br>",
+                    " <b>Curated exciting data: </b>Sven Lubeck, and Andris Gulans, <i>Humboldt-Universität zu Berlin, Department of Physics, Zum Grossen Windkanal 6, D-12489 Berlin</i><br>",
+                    " <b>Curated FHI-aims data: </b>Björn Bieniek, and Christian Carbogno, <i>Fritz-Haber-Institut der Max-Planck-Gesellschaft, Faradayweg 4-6, D-14195 Berlin, Germany</i></p>",
+                    "    ",
+                    "      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>",
+                    "</div>",
+                    "",
+                    "</div>  ",
+                    "",
+                    "<div style='text-align: right;'>",
+                    "<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> ",
+                    "<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> ",
+                    "</div>"
+                ],
+                "hidden": true
+            },
+            "output": {
+                "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<div id=\"teaser\" style=\"background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; \n    padding-top: 20px;\n    padding-right: 10px;\n    padding-bottom: 50px;\n    padding-left: 80px;\"> \n\n  <div class=\"nomad--header\">\n   <div style=\"text-align:center\">\n    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" alt=\"NOMAD Logo\" height=\"100\">  NOMAD Analytics Toolkit   \n  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" alt=\"NOMAD Logo\" height=\"80\"> </h2>\n  </div>\n    <h3> Analyzing and Estimating Error Bars from High-Accuracy References</h3>\n    <p class=\"nomad--description\">\n\n      <br><br>\n\n <b> Beaker Notebook:</b> Björn Bieniek, Mikkel Strange, and Christian Carbogno. <br> <br> \n<b> Curated VASP data: </b>Elisabeth Wruss, and Oliver T. Hofmann,  <i>Institute of Solid State Physics, Graz University of Technology, NAWI Graz, Petergasse 16, 8010 Graz, Austria</i><br>\n <b>Curated GPAW data:</b> Mikkel Strange, and Kristian Sommer Thygesen,  <i>CAMD, Department of Physics, Technical University of Denmark. Fysikvej 1 2800 Kgs. Lyngby, Denmark</i><br>\n <b>Curated exciting data: </b>Sven Lubeck, and Andris Gulans, <i>Humboldt-Universität zu Berlin, Department of Physics, Zum Grossen Windkanal 6, D-12489 Berlin</i><br>\n <b>Curated FHI-aims data: </b>Björn Bieniek, and Christian Carbogno, <i>Fritz-Haber-Institut der Max-Planck-Gesellschaft, Faradayweg 4-6, D-14195 Berlin, Germany</i></p>\n    \n      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>\n</div>\n\n</div>  \n\n<div style=\"text-align: right;\">\n<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> \n<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> \n</div>"
+                },
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 0,
+                "height": 482
+            },
+            "evaluatorReader": true,
+            "lineCount": 31
         },
         {
             "id": "codeFhZu7v",
@@ -69,11 +151,11 @@
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<p style=\"color: #FF0000;;font-weight: 900; font-size: 20pt;\" id=\"init_txt1\">Initializing and obtaining ab initio reference data (30s). </p>\n\n<p style=\"color: #FF0000;;font-weight: 900; font-size: 20pt;\" id=\"init_txt2\">Click shaded area to continue with introduction.</p>"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<p style=\"color: #FF0000;;font-weight: 900; font-size: 20pt;\" id=\"init_txt1\"></p>\n\n<p style=\"color: #FF0000;;font-weight: 900; font-size: 20pt;\" id=\"init_txt2\"></p>"
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 128
+                "height": 71
             },
             "evaluatorReader": true,
             "lineCount": 3,
@@ -274,8 +356,8 @@
                 "state": {},
                 "selectedType": "Hidden",
                 "pluginName": "IPython",
-                "shellId": "29FE0004E8D641FC9F14035902BDB613",
-                "elapsedTime": 842,
+                "shellId": "5BDE64A076BD465D8DB6AB226C1BA504",
+                "elapsedTime": 827,
                 "height": 78,
                 "dataresult": [
                     {
@@ -412,9 +494,9 @@
                 },
                 "selectedType": "Results",
                 "pluginName": "IPython",
-                "shellId": "29FE0004E8D641FC9F14035902BDB613",
-                "elapsedTime": 27988,
-                "height": 55
+                "shellId": "5BDE64A076BD465D8DB6AB226C1BA504",
+                "elapsedTime": 30719,
+                "height": 61
             },
             "evaluatorReader": true,
             "lineCount": 22,
@@ -506,8 +588,8 @@
                 "result": "<div class=\"output_subarea output_png\"><img src=\"data:image/png;base64,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\nyEMkEjUTiUQW3/rGpFIpsaGx+J/15/n95yVmA5udkU3E4wgiHkcQ+SQSSb5iyLVp6iZSE1IBmNNr\nDqEPQz/5O329fdnx547/iQctITKB26dvk5+brxx1vlP0jfVxresqU1bepTwNOzWUKbt54iaH1xyW\nKctIyZDLGqHk21AgKaC46YmVKFGi5HPy2O8xSTFJJVK2oOtBJMcl/0+04xP/JyRGJSo7tBIlbyoQ\nRCJRbeAFsAuYBTz5ljcVcieEQVUGMbLOSP5e+DezfppFL9te+Pn4KXyF3zp5i/6u/ZncajK/NP+F\n9ubt+e3H30hPSv+u73v4kuEYlTIC4OK+i6TEp3zyd4Y+DOXuhbsK2Y53L9ylR4UecuU75+xkTq85\nMmVze8/l93a/c2rbKXIycxRCPp/tPnSy7PTO1/Vj10vEAHj34l162fWisKBQTvaQuyGoaahhYGpA\n1NMoOpfuTHpSOrXb1KbDyA5yi8SH1x7KjmN3Q4gNjf3mMs7tPVdot152vfi9/e88v/+8xE1mt07d\nYojHENoYtqGtUVsmNptI+KPwEjlxj288nlNbT5U4uS7tvyT01Z/K/cT4xuO5fOCyzDUX9l7g+lHF\nHn+OrDtCJ8tO+J/1L1HtF/U0ik6WneTWMz7bfRjrObbEyBkeHP7e+XHrtK3CtesmrSPgXIDCybhj\n9g5Bnp4VezK17VSCrgfJXOM1wov7vvcVvj0Huw8WZO3v0p9VY1bJxUja8scWbp64qXCyHd90/PWY\navMTvzT/hVunbpXYTe3UqVMpXbo0T58+lSmXSCSMGzeO5GTFVHiNbTiWTpad6Fy6M32d+jKn1xzi\nwuK+6T2piUQiA+AE8ItUKt32/woFvW91Q2kv05jYbCLthrdj4OyBgj/z04CnRIVEyVwrLZQiUhEp\nXEcwMjdib9heADKSM5jUchIHVx2k/8z+ctdKpVL+HXn+eyYpJgn/s/7EhcVhVMoIz86eguLhY4h5\nHkNUSBQ1W9UUym6fvk0Z2zJY2Vl9cznz8/LfqkTJzsgmMyVT5v2Vg1c4lHAIbT1thWnHhp0b4t7I\nvWhRGBLFpBaT2BiwEX0TfQCMSxmXiMnG0cORuLA4Qu6G4FjdEQD/M/6oa6hz7+I97KvaC4oGXUNd\nudSSr6jRsoZ8H8nJJ19L1uLk4r6L2LnbYe1o/dVkzEjJoF77evSa2ouEiAR2z9/Nrz/8yt6wvaip\n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\n\"></div>",
                 "selectedType": "Html",
                 "pluginName": "IPython",
-                "shellId": "29FE0004E8D641FC9F14035902BDB613",
-                "elapsedTime": 373,
+                "shellId": "5BDE64A076BD465D8DB6AB226C1BA504",
+                "elapsedTime": 361,
                 "height": 0
             },
             "evaluatorReader": true,
@@ -553,10 +635,10 @@
                 "state": {},
                 "result": "<div class=\"output_subarea output_png\"><img src=\"data:image/png;base64,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\nA4QFhdHUs2mG7eQF145dUz/fr3hdwcTcROPASE9fj+9+/o7NMzerMzCkJVGRSHLi2//lm5dvOLf7\nnDrrj/cZbyLDImnSrYnWZ+u3r6/linbvxj2ten8tzvxZ9y6qNqzKnctvDyDP7DyTYb3vfv6OY5uO\naQRiTUvaw6GkhCSObTpGqcqlNFxnhBBcOnBJK91wVpFdGGTyBUmSbIGo3LJGkCTJEhgJTMiN9jLD\n1NKUKl9VYc9SzainTXs0ZcLGCexdvpftc7fTsHNDvpv1HaYWprQa2IrSVUtzeO1hts/djomZCRVq\nVWDQ/EGc33Mex6Iq7XuhEoXoO1OVQ3jFyBVagWJymyJlirDxzkY2TNnA8hHLef3iNYVLF6bzj52p\nVLcSq/5ZxbpJ65jUZhJ6+nqUqlIK1+quWNm/PYWo07oOX3t+zfPHz7U2pqYWppz68xQbpmxA0pMo\nXr44C48vpEy1MkxqO4nYqFjVovqiL74Xfek5uWeumb6nYm5lTpWvqmR6Iu7q7qrht+zi5qIhg30h\ne/rN6selA5e0TNeMTI24f+M+h9YcQhGroGDxggxdOpSirkW5fe42L5+95I95f6jrt+zfUp0KM7co\nU72MxumNi5sLXcd05c6lO5iYmdB+aHtiXsXw+0+/Y+1gTZ/pfZD0JBwKO1Dui3IabQ1aMIi1E9Zm\nGICtbI2yTP9rOtvnbmfrz1spW6MsC48vxPeiLytHryTuTRyu7q4sObuEUlW0/Qt1RURoBBumbmD2\ngdlIehI2BWxYfW01iwYuorVda6wdrIl5HUOHYR3oPU3lg1vEtQiLzywm+F4wiwcvVgcATOXc7nPM\n6DpD/b65aXPMrMz4tt+3HP79MIbGhujp6TFi+QhqNK2h9rfPCEmSOL7lOMtHLMexiCMRoRHYFrRl\n0vZJOY6i37xXc3Yu3Jmh0uvZw2dq2ZMTk0GCbuO74VDYgV7lemFoZEh8bDzGpsYM+WVIrj+DfM77\n0NxUM8joqNWjaNGvBeVqlqNbiW4YGBrQa0qvDH+zqa5Tc3vN1ShPfSZtm7MNn298sLCxICoiinI1\nyzFt1zS81nmx85edKFOUGJsa8/3C79WuVbkZ52HkbyPZuWgnY5qOQQiBhY0FsW9iadChAd1/6o6l\nnSXD6g3DrqAdxSsUp0bTjAPH9Z7am+NbMv7e3Dp9iw1TN2BmaUb0q2isHawZv3G8Vro5XeFYxBFF\n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\nIURsbrWpp6/n5VDIIUHSk1LeX/vTRBGnKGZkbBQk6UlZ0hx+isS/iS9jbGh8C/hsTUvj4+PLGxoa\nXte1HHmIpFAoXPT19dNHHP5sEEKYKhQKRyHEXV3LkofYAGbAQ10Lkoc4AinAU10Lkoc4A5HAa10L\nkocURXUPc21NkYbewOZ0ZZUBnzzo6124AA+A5HzuNz9xBj7nZypAQSBI10LkMXZ83s9UCbAAXuha\nkFyiJNAA2JSmzBFIkRUIMh8VkiS1BoyEEHtyq00bB5vlHUd2HFqpXqXcavKjY2H/hcldRnUxKFSy\nkK5FyTN+7fOrcvny5XqGhoa6FiXPGDhwoFi2bJmkaznyiqioKKZNm6acN2/eZ2v9dvPmTU6ePJk8\nfPhwrTRMnwuHDx/mxYsXyV27dtW1KHnG1q1b9W1tbVPq1Knz2Sqe//jjD/2yZcuK8uXLJ+palrxi\n165dxtWrV09wcnLKlzH6+voaV6pUSR1jQQhBYGCgUenSpfOs/wMHDljVqlUrxtLS8rNVIBw9etS2\nXr16kfr6+roWJc84deqUXZ06dT7bOGBKpZILFy7Y16xZM+L9tT9NYmJiDO7cuWNTvnz5SF3LkldE\nRkaaREVF3fxsFzgynyZCiEN50W6JiiWo2rBqXjT9UWBgaCDc6rhRumppXYuSZ0h6kmjdujUmJia6\nFiXP+OGHH4SHh8dnq0AICwvjl19+EX369NG1KHmGjY0N/v7+yu+//17XouQZz54949mzZ8pRo0YZ\n6VqWvOL69eu4u7vrjR49+rNdJ50/fz6xd+/eRh4eHp+tVvb48eOJEydONK9Vq5Z5PnZrlvqHQqHg\n+PHjtGnTRt1/ZGQkXl5e9OzZM1c6O3HiRNLSpUutXVxccqW9jxFnZ+eUnTt3OnzO87+zs7Py6NGj\nGZqLfw4oFArKlCmTcu7cuQK6liWv8PHxoXPnzsne3t4OupYlr7h69SpdunSJybOJUZKkb+0L2c/M\nq/Y/BpQpSuWr8FeDhRA30l+TJKmKs7PzIv3PWV0KIjg4eK4Q4qSuBZGRkZGRkZGR+ZgwMTGhTZs2\nGmVGRkZUqFBBo+z+/ftcuXKF3r1756d4MjIyMjkiLzXrxVr2b+neol+LPOxCt6ybuC7m1J+nMtMW\nFmrSpEmtiRMnWuSrUPnIpk2bUubPn/8X8EkrEKIjown6XxDlapbDwOjtTyI5KZnA24EkJzoan9wA\n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\nxsn1OXjwIGvXrmX+/PkYGhoqKdKP8+I1eZ/XVNXVrl2btWvXyn29eL0WLlxIfHw81tbW+Pn5ER0d\nrdxgP9CyZcsIDw8nPDxcoajg6+8tRkZGcjO+lPF+o6amhouLi1xbUUVKT548KSt+2Lx5c1JTU1m6\ndCm5ubl4e3sX+dgJCQm0bNlSdrtJkyYqdU4gkUiYMmUKkydP5skT+dp39+/fJy0tTW58rVq14tmz\nZ7LdjcqL0tzpRWkJBE1tTXyDfZl1YBYb727EvYk7v37zK3k5eWhoaRDQK4B/Fv0DwLZF2wjsFyi7\nb1WPqrL/m1qb4lzbWfaDbmhqiJqaGo/uFxYIca3/ctqYWyM3CvILeJDygNSkVNwaucmOValZBR19\nHVJvlv0r9DNnzmTgwIHExMSwc+dObt26RXp6OiEhIaxfv54zZ85w584dNDU1mTZtGoMGDcLHx4fL\nly9z9erVMnuSpSoe3ntIn8l9qFqnqsKxkLEhWNoXbhunVUGLhXEL8e/pz8WjF7lw5AIu9V0U7lPW\nfT3ya+xd7Is81j6sPQ6fOchum9qY0nV411KKrHhoaGhgbGwstwXgCxs2bMDZ2ZkFCxbQr18/3N3d\nVeIE/k2cnJzYv3+/XNv+/fvlPlirss8++4ygoCDGjh1b5PFXr95euXKFlJQUHBwcSim6TyORSOjQ\noQOBgYF4enoq7DVuamoqlwxJSkpSieUZy5Ytw83NjejoaCIiIoiIiMDFxUVhGUNRJ7OqcoLbqFEj\ntm7dWh53RHovHh4eCkUUmzdvzuTJk2nVqhVXrlxRUmQfx9bWFnt7ezZt2vTuzuVYnTp1+Pfff7lz\n5w4tW7akffv2ZGRkKDusYvH6e0tZfa9RU1NTSCTXqVNHluxQU1Oje/fuDBgwgM8++0yuX1ZWluw9\nSU9PT+7iQlpamsrVh/P398fNzY3p06fLtevp6SGRSOTG9+JzUHnborI0k7FlYgNiAxMDuv3Ujc1z\nNxN/OB53H3fa9WtHD7cetO3TlmtnrvHrzleumr/+e/yW3+vr567j2qAwiXD1TOEUJSNzI0ytTbl2\n5hruPu4A3L12l8yMTEytTYtzaCXC2dmZlStXYmlpSUBAAObm5uzatQtTU1OkUikREYVXwD/77DOi\noqI4cuQIERERaGkVlgzo2rUrGzZsUOYQVJpzbWecaxe9lUqNz2tQ4/OXtT20dbTp/J1qFxb6eqTi\n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\n\"></div>",
                 "selectedType": "Html",
-                "elapsedTime": 293,
+                "elapsedTime": 332,
                 "height": 0,
                 "pluginName": "IPython",
-                "shellId": "29FE0004E8D641FC9F14035902BDB613"
+                "shellId": "5BDE64A076BD465D8DB6AB226C1BA504"
             },
             "evaluatorReader": true,
             "lineCount": 2,
@@ -1315,7 +1397,7 @@
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 179
+                "height": 185
             },
             "evaluatorReader": true,
             "lineCount": 384,
@@ -1671,7 +1753,7 @@
                         null
                     ]
                 },
-                "height": 676
+                "height": 604
             },
             "evaluatorReader": true,
             "lineCount": 66
@@ -1753,7 +1835,7 @@
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 144
+                "height": 72
             },
             "evaluatorReader": true,
             "lineCount": 38
@@ -1934,11 +2016,11 @@
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\n  \n  function add_estimate_plot() { \n    beaker.ctrl_xc_estimate   = document.getElementById(\"errorbar_estimate_xcfunctional\").value;\n    beaker.ctrl_kpt_estimate  = 8;\n    beaker.ctrl_prec_estimate = document.getElementById(\"errorbar_estimate_precision\").value;\n    beaker.ctrl_tiers_estimate  = document.getElementById(\"errorbar_estimate_tiers\").value;\n    beaker.ctrl_rel_estimate   = document.getElementById(\"errorbar_estimate_relativity\").value;\n    beaker.ctrl_pred_estimate    = 1;\n    beaker.ctrl_quant_estimate   = document.getElementById(\"errorbar_estimate_quantity\").value;\n    beaker.ctrl_code_estimate    = document.getElementById(\"errorbar_estimate_code\").value;\n    beaker.ctrl_button_estimate    = 1\n    beaker.evaluate(\"exe_cell_estimate\");\n  }\n   function clear_estimate_last() {\n    beaker.ctrl_button_estimate = 2\n    beaker.evaluate(\"exe_cell_estimate\");\n  }\n  function clear_estimate_plot() {\n    beaker.ctrl_button_estimate = 3\n    beaker.evaluate(\"exe_cell_estimate\");\n  }\n  function error_estimateUpdateForm() {\n    var code = document.getElementById(\"errorbar_estimate_code\").value;\n    \n    var dprec = document.getElementById(\"errorbar_estimate_precision_name\");\n    var pprec   = document.getElementById(\"errorbar_estimate_precision\"); pprec.innerHTML = '';\n    var prel  = document.getElementById(\"errorbar_estimate_relativity\"); prel.innerHTML = '';\n    var ptiers  = document.getElementById(\"errorbar_estimate_tiers\"); ptiers.innerHTML = '';\n    var pxc  = document.getElementById(\"errorbar_estimate_xcfunctional\"); pxc.innerHTML = '';\n\n    switch(code) {\n      case \"VASP\": \n        dprec.innerHTML = 'Precision:';\n\n        addDropdownChoice(pprec, \"Low\", \"Low\");\n        addDropdownChoice(pprec, \"Normal\", \"Normal\");\n        addDropdownChoice(pxc, \"PBE\", \"PBE\");\n        addDropdownChoice(pxc, \"LDA\", \"LDA\");\n        break;\n        \n      case \"FHI-aims\":  \n        dprec.innerHTML = 'Integration grid:';\n\n        addDropdownChoice(pprec, \"light\", \"light\");\n        addDropdownChoice(pprec, \"tight\", \"tight\");\n        addDropdownChoice(pprec, \"really_tight\", \"really tight\");\n        addDropdownChoice(prel, \"atomic_zora\", \"atomic zora\");\n        addDropdownChoice(prel, \"zora\", \"zora\");\n        addDropdownChoice(ptiers, \"minimal\", \"minimal\");\n        addDropdownChoice(ptiers, \"standard\", \"standard\");\n        addDropdownChoice(ptiers, \"tier1\", \"tier1\");\n        addDropdownChoice(ptiers, \"tier2\", \"tier2\");\n        addDropdownChoice(pxc, \"pbe\", \"PBE\");\n        addDropdownChoice(pxc, \"pw-lda\", \"LDA\");\n        break;\n\n        \n      case \"GPAW\": \n         dprec.innerHTML = 'PW cutoff:';\n\n        addDropdownChoice(pprec, \"300\", \"300 eV\");\n        addDropdownChoice(pprec, \"400\", \"400 eV\");\n        addDropdownChoice(pprec, \"500\", \"500 eV\");\n        addDropdownChoice(pprec, \"600\", \"600 eV\");\n        addDropdownChoice(pprec, \"700\", \"700 eV\");\n        addDropdownChoice(pprec, \"800\", \"800 eV\");\n        addDropdownChoice(pprec, \"1000\", \"1000 eV\");\n        addDropdownChoice(pprec, \"1100\", \"1100 eV\");\n        addDropdownChoice(pprec, \"1200\", \"1200 eV\");\n        addDropdownChoice(pprec, \"1300\", \"1300 eV\");\n        addDropdownChoice(pprec, \"1400\", \"1400 eV\");\n        addDropdownChoice(pxc, \"pbe\", \"PBE\");\n        break;\n\n\n    }\n  }\n\n\n\n</script>\n\n<style type=\"text/css\">\n  \n  .error_estimate_table th { font-weight: bold; padding-right: 2ex; }\n  .error_estimate_table td input { margin-right: 1ex; }\n  \n</style>\n\n<!-- Controls area -->\n\n<div class=\"error_estimate_control\">\n  <table class=\"error_estimate_table\">\n    \n    <tr>\n      <th>XC-Functional:</th>\n      <td>\n        <select id=\"errorbar_estimate_xcfunctional\">\n          <option value=\"pbe\" selected>PBE</option>\n        </select>\n      </td>\n      <td id=\"errorbar_estimate_xcfunctional_description\" style=\"white-space: pre;\"></td>\n      <th id=\"errorbar_estimate_precision_name\">PW cutoff:</th>\n      <td>\n        <select id=\"errorbar_estimate_precision\" >\n          <option value=\"300\">300 eV</option>\n          <option value=\"400\">400 eV</option>\n          <option value=\"500\">500 eV</option>\n          <option value=\"600\" selected>600 eV</option>\n          <option value=\"700\">700 eV</option>\n          <option value=\"800\">800 eV</option>\n          <option value=\"1000\">1000 eV</option>\n          <option value=\"1100\">1100 eV</option>\n          <option value=\"1200\">1200 eV</option>\n          <option value=\"1300\">1300 eV</option>\n          <option value=\"1400\">1400 eV</option>  \n        </select>\n      </td>\n      <td id=\"errorbar_estimate_precision_description\" style=\"white-space: pre;\"></td>\n    </tr>\n    <tr>\n      <th>Tiers:</th>\n      <td><select id=\"errorbar_estimate_tiers\" ><!-- content inserted programmatically --></select></td>\n      <td id=\"errorbar_estimate_tiers_description\" style=\"white-space: pre;\"></td>\n       <th>Relativity treatment:</th>\n      <td><select id=\"errorbar_estimate_relativity\" ><!-- content inserted programmatically --></select></td>\n      <td id=\"errorbar_estimate_relativity_description\" style=\"white-space: pre;\"></td>\n\n    </tr>   \n    \n    <tr>\n      <th>Quantity:</th>\n      <td><select id=\"errorbar_estimate_quantity\">\n        <option value=\"E_tot\">Total Energy</option>\n        <option value=\"relR\">relative Energy</option>\n       </select></td>\n      <td id=\"errorbar_estimate_quantity_description\" style=\"white-space: pre;\"></td>  \n    \n\n      <th>Code:</th>\n      <td><select id=\"errorbar_estimate_code\" onchange=\"error_estimateUpdateForm()\">\n        <option value=\"GPAW\">GPAW</option> \n        <option value=\"FHI-aims\">FHI-aims</option>  \n        <option value=\"VASP\">VASP</option>\n      </select></td>\n      <td id=\"errorbar_estimate_code_description\" style=\"white-space: pre;\"></td>\n    </tr>\n    \n  </table>\n  <table class=\"error_estimate_table\">\n    \n    <tr>\n      <th><button type=\"button\" class=\"btn btn-primary\" style=\"margin-top: 2ex;\" onclick=\"add_estimate_plot();\">Compare Reference/Estimated Error in binaries</button></th>\n      <th><button type=\"button\" class=\"btn clear-primary\" style=\"margin-top: 2ex;\" onclick=\"clear_estimate_plot();\">Clear plot</button></th>\n      <th><button type=\"button\" class=\"btn clearlast-primary\" style=\"margin-top: 2ex;\" onclick=\"clear_estimate_last();\">Clear last set</button></th>\n\n    </tr>\n  </table>  \n</div>\n\n"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\n  \n  function add_estimate_plot() { \n    beaker.ctrl_xc_estimate   = document.getElementById(\"errorbar_estimate_xcfunctional\").value;\n    beaker.ctrl_kpt_estimate  = 8;\n    beaker.ctrl_prec_estimate = document.getElementById(\"errorbar_estimate_precision\").value;\n    beaker.ctrl_tiers_estimate  = document.getElementById(\"errorbar_estimate_tiers\").value;\n    beaker.ctrl_rel_estimate   = document.getElementById(\"errorbar_estimate_relativity\").value;\n    beaker.ctrl_pred_estimate    = 1;\n    beaker.ctrl_quant_estimate   = document.getElementById(\"errorbar_estimate_quantity\").value;\n    beaker.ctrl_code_estimate    = document.getElementById(\"errorbar_estimate_code\").value;\n    beaker.ctrl_button_estimate    = 1\n    beaker.evaluate(\"exe_cell_estimate\");\n  }\n   function clear_estimate_last() {\n    beaker.ctrl_button_estimate = 2\n    beaker.evaluate(\"exe_cell_estimate\");\n  }\n  function clear_estimate_plot() {\n    beaker.ctrl_button_estimate = 3\n    beaker.evaluate(\"exe_cell_estimate\");\n  }\n  function error_estimateUpdateForm() {\n    var code = document.getElementById(\"errorbar_estimate_code\").value;\n    \n    var dprec = document.getElementById(\"errorbar_estimate_precision_name\");\n    var pprec   = document.getElementById(\"errorbar_estimate_precision\"); pprec.innerHTML = '';\n    var prel  = document.getElementById(\"errorbar_estimate_relativity\"); prel.innerHTML = '';\n    var ptiers  = document.getElementById(\"errorbar_estimate_tiers\"); ptiers.innerHTML = '';\n    var pxc  = document.getElementById(\"errorbar_estimate_xcfunctional\"); pxc.innerHTML = '';\n\n    switch(code) {\n      case \"VASP\": \n        dprec.innerHTML = 'Precision:';\n\n        addDropdownChoice(pprec, \"Low\", \"Low\");\n        addDropdownChoice(pprec, \"Normal\", \"Normal\");\n        addDropdownChoice(pxc, \"PBE\", \"PBE\");\n        addDropdownChoice(pxc, \"LDA\", \"LDA\");\n        break;\n        \n      case \"FHI-aims\":  \n        dprec.innerHTML = 'Integration grid:';\n\n        addDropdownChoice(pprec, \"light\", \"light\");\n        addDropdownChoice(pprec, \"tight\", \"tight\");\n        addDropdownChoice(pprec, \"really_tight\", \"really tight\");\n        addDropdownChoice(prel, \"atomic_zora\", \"atomic zora\");\n        addDropdownChoice(prel, \"zora\", \"zora\");\n        addDropdownChoice(ptiers, \"minimal\", \"minimal\");\n        addDropdownChoice(ptiers, \"standard\", \"standard\");\n        addDropdownChoice(ptiers, \"tier1\", \"tier1\");\n        addDropdownChoice(ptiers, \"tier2\", \"tier2\");\n        addDropdownChoice(pxc, \"pbe\", \"PBE\");\n        addDropdownChoice(pxc, \"pw-lda\", \"LDA\");\n        break;\n\n        \n      case \"GPAW\": \n         dprec.innerHTML = 'PW cutoff:';\n\n        addDropdownChoice(pprec, \"300\", \"300 eV\");\n        addDropdownChoice(pprec, \"400\", \"400 eV\");\n        addDropdownChoice(pprec, \"500\", \"500 eV\");\n        addDropdownChoice(pprec, \"600\", \"600 eV\");\n        addDropdownChoice(pprec, \"700\", \"700 eV\");\n        addDropdownChoice(pprec, \"800\", \"800 eV\");\n        addDropdownChoice(pprec, \"1000\", \"1000 eV\");\n        addDropdownChoice(pprec, \"1100\", \"1100 eV\");\n        addDropdownChoice(pprec, \"1200\", \"1200 eV\");\n        addDropdownChoice(pprec, \"1300\", \"1300 eV\");\n        addDropdownChoice(pprec, \"1400\", \"1400 eV\");\n        addDropdownChoice(pxc, \"pbe\", \"PBE\");\n        break;\n\n\n    }\n  }\n\n\n\n</script>\n\n<style type=\"text/css\">\n  \n  .error_estimate_table th { font-weight: bold; padding-right: 2ex; }\n  .error_estimate_table td input { margin-right: 1ex; }\n  \n</style>\n\n<!-- Controls area -->\n\n<div class=\"error_estimate_control\">\n  <table class=\"error_estimate_table\">\n    \n    <tbody><tr>\n      <th>XC-Functional:</th>\n      <td>\n        <select id=\"errorbar_estimate_xcfunctional\">\n          <option value=\"pbe\" selected=\"\">PBE</option>\n        </select>\n      </td>\n      <td id=\"errorbar_estimate_xcfunctional_description\" style=\"white-space: pre;\"></td>\n      <th id=\"errorbar_estimate_precision_name\">PW cutoff:</th>\n      <td>\n        <select id=\"errorbar_estimate_precision\">\n          <option value=\"300\">300 eV</option>\n          <option value=\"400\">400 eV</option>\n          <option value=\"500\">500 eV</option>\n          <option value=\"600\" selected=\"\">600 eV</option>\n          <option value=\"700\">700 eV</option>\n          <option value=\"800\">800 eV</option>\n          <option value=\"1000\">1000 eV</option>\n          <option value=\"1100\">1100 eV</option>\n          <option value=\"1200\">1200 eV</option>\n          <option value=\"1300\">1300 eV</option>\n          <option value=\"1400\">1400 eV</option>  \n        </select>\n      </td>\n      <td id=\"errorbar_estimate_precision_description\" style=\"white-space: pre;\"></td>\n    </tr>\n    <tr>\n      <th>Tiers:</th>\n      <td><select id=\"errorbar_estimate_tiers\"><!-- content inserted programmatically --></select></td>\n      <td id=\"errorbar_estimate_tiers_description\" style=\"white-space: pre;\"></td>\n       <th>Relativity treatment:</th>\n      <td><select id=\"errorbar_estimate_relativity\"><!-- content inserted programmatically --></select></td>\n      <td id=\"errorbar_estimate_relativity_description\" style=\"white-space: pre;\"></td>\n\n    </tr>   \n    \n    <tr>\n      <th>Quantity:</th>\n      <td><select id=\"errorbar_estimate_quantity\">\n        <option value=\"E_tot\">Total Energy</option>\n        <option value=\"relR\">relative Energy</option>\n       </select></td>\n      <td id=\"errorbar_estimate_quantity_description\" style=\"white-space: pre;\"></td>  \n    \n\n      <th>Code:</th>\n      <td><select id=\"errorbar_estimate_code\" onchange=\"error_estimateUpdateForm()\">\n        <option value=\"GPAW\">GPAW</option> \n        <option value=\"FHI-aims\">FHI-aims</option>  \n        <option value=\"VASP\">VASP</option>\n      </select></td>\n      <td id=\"errorbar_estimate_code_description\" style=\"white-space: pre;\"></td>\n    </tr>\n    \n  </tbody></table>\n  <table class=\"error_estimate_table\">\n    \n    <tbody><tr>\n      <th><button type=\"button\" class=\"btn btn-primary\" style=\"margin-top: 2ex;\" onclick=\"add_estimate_plot();\">Compare Reference/Estimated Error in binaries</button></th>\n      <th><button type=\"button\" class=\"btn clear-primary\" style=\"margin-top: 2ex;\" onclick=\"clear_estimate_plot();\">Clear plot</button></th>\n      <th><button type=\"button\" class=\"btn clearlast-primary\" style=\"margin-top: 2ex;\" onclick=\"clear_estimate_last();\">Clear last set</button></th>\n\n    </tr>\n  </tbody></table>  \n</div>\n\n"
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 251
+                "height": 185
             },
             "evaluatorReader": true,
             "lineCount": 162,
@@ -2097,7 +2179,7 @@
                 "pluginName": "IPython",
                 "shellId": "BC9BAE5784864C89A597AD4EAE1F0CDD",
                 "elapsedTime": 1191,
-                "height": 782
+                "height": 710
             },
             "evaluatorReader": true,
             "lineCount": 137
@@ -2176,11 +2258,11 @@
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n .val_instructions{\n    font-size: 15px;\n  } \n</style>\n<!-- Button trigger modal -->\n<button type=\"button\" class=\"btn btn-default\" data-toggle=\"modal\" data-target=\"#val-motivation-modal\">\n Instructions\n</button>\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"val-motivation-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"phasediagram-motivation-modal-label\">\n  <div class=\"modal-dialog modal-lg\" role=\"document\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button>\n        <h4 class=\"modal-title\" id=\"val-motivation-modal-label\">Instructions</h4>\n <div style=\"max-width: 800px;\">\n   <br><br>\nThe minimum error, estimated from the el. solids, which is considered meaningful is 10 meV. This is the lower bound for the output below. As the determination of the estimated error is based on the set of elemental solids only the error of systems consisting of those elements can be calculated. A list of these elements can be found in the elemental solids section of the introduction. The numerical settings are briefly explained in the instructions of the section <i>Data Browser: Analyzing the Curated Reference Data Set</i>.<br><br>\nThe settings for the reference calculations are:<br>\n   -VASP: 8 k-points·Å, Accurate<br>\n   -exciting: 8 k-points·Å<br>\n   -GPAW: 8 k-points·Å, 1600eV (PW cutoff)<br>\n   -FHI-aims: 8 k-points·Å, really tight, tier2<br>\n   <br><br>\n</div>    \n      </div>\n      <div class=\"modal-body val_instructions\">\n\n      </div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">Close</button>\n<!--         <button type=\"button\" class=\"btn btn-primary\">Save changes</button> -->\n      </div>\n    </div>\n  </div>\n\n<div style=\"height: 3em;\"></div>"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n .val_instructions{\n    font-size: 15px;\n  } \n</style>\n<!-- Button trigger modal -->\n<button type=\"button\" class=\"btn btn-default\" data-toggle=\"modal\" data-target=\"#val-motivation-modal\">\n Instructions\n</button>\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"val-motivation-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"phasediagram-motivation-modal-label\">\n  <div class=\"modal-dialog modal-lg\" role=\"document\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button>\n        <h4 class=\"modal-title\" id=\"val-motivation-modal-label\">Instructions</h4>\n <div style=\"max-width: 800px;\">\n   <br><br>\nThe minimum error, estimated from the el. solids, which is considered meaningful is 10 meV. This is the lower bound for the output below. As the determination of the estimated error is based on the set of elemental solids only the error of systems consisting of those elements can be calculated. A list of these elements can be found in the elemental solids section of the introduction. The numerical settings are briefly explained in the instructions of the section <i>Data Browser: Analyzing the Curated Reference Data Set</i>.<br><br>\nThe settings for the reference calculations are:<br>\n   -VASP: 8 k-points·Å, Accurate<br>\n   -exciting: 8 k-points·Å<br>\n   -GPAW: 8 k-points·Å, 1600eV (PW cutoff)<br>\n   -FHI-aims: 8 k-points·Å, really tight, tier2<br>\n   <br><br>\n</div>    \n      </div>\n      <div class=\"modal-body val_instructions\">\n\n      </div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">Close</button>\n<!--         <button type=\"button\" class=\"btn btn-primary\">Save changes</button> -->\n      </div>\n    </div>\n  </div>\n\n<div style=\"height: 3em;\"></div></div>"
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 144
+                "height": 72
             },
             "evaluatorReader": true,
             "lineCount": 39,
@@ -2400,11 +2482,11 @@
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\n  \n  function process_form() {\n    beaker.query = $('#query').val(); \n    beaker.ctrl_val_xc   = document.getElementById(\"errorbar_val_xcfunctional\").value;\n    beaker.ctrl_val_kpt  = 8;\n    beaker.ctrl_val_prec = document.getElementById(\"errorbar_val_precision\").value;\n    beaker.ctrl_val_tiers  = document.getElementById(\"errorbar_val_tiers\").value;\n    beaker.ctrl_val_rel    = document.getElementById(\"errorbar_val_relativity\").value;\n    beaker.ctrl_val_pred    = 1;\n    beaker.ctrl_val_quant   = document.getElementById(\"errorbar_val_quantity\").value;\n    beaker.ctrl_val_code    = document.getElementById(\"errorbar_val_code\").value;\n    beaker.evaluate(\"process_formula_cell\");\n  }\n \n  function error_valUpdateForm() {\n    var code = document.getElementById(\"errorbar_val_code\").value;\n    \n    var dprec = document.getElementById(\"errorbar_val_precision_name\");\n    var dtiers = document.getElementById(\"errorbar_val_tiers_name\");\n    var pprec   = document.getElementById(\"errorbar_val_precision\"); pprec.innerHTML = '';\n    var prel  = document.getElementById(\"errorbar_val_relativity\"); prel.innerHTML = '';\n    var ptiers  = document.getElementById(\"errorbar_val_tiers\"); ptiers.innerHTML = '';\n    var pxc  = document.getElementById(\"errorbar_val_xcfunctional\"); pxc.innerHTML = '';\n    var pplot  = document.getElementById(\"errorbar_val_quantity\"); pplot.innerHTML = '';\n    switch(code) {\n      case \"VASP\": \n        dprec.innerHTML = 'Precision:';\n        \n        addDropdownChoice(pprec, \"Low\", \"Low\");\n        addDropdownChoice(pprec, \"Normal\", \"Normal\");\n        addDropdownChoice(pprec, \"Accurate\", \"Accurate\");\n        addDropdownChoice(pxc, \"PBE\", \"PBE\");\n        addDropdownChoice(pxc, \"LDA\", \"LDA\");\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pplot, \"relR\", \"relative Energy\");\n        addDropdownChoice(pprec, \"130%\", \"130%\");\n        addDropdownChoice(pprec, \"150%\", \"150%\");\n        addDropdownChoice(pprec, \"175%\", \"175%\");\n        addDropdownChoice(pprec, \"200%\", \"200%\");\n        addDropdownChoice(pprec, \"225%\", \"225%\");\n        error_valUpdateForm_precision()\n        break;\n        \n      case \"FHI-aims\":  \n        dprec.innerHTML = 'Integration grid:';\n\n        addDropdownChoice(pprec, \"light\", \"light\");\n        addDropdownChoice(pprec, \"tight\", \"tight\");\n        addDropdownChoice(pprec, \"really_tight\", \"really tight\");\n        addDropdownChoice(prel, \"atomic_zora\", \"atomic zora\");\n        addDropdownChoice(prel, \"zora\", \"zora\");\n        addDropdownChoice(ptiers, \"minimal\", \"minimal\");\n        addDropdownChoice(ptiers, \"standard\", \"standard\");\n        addDropdownChoice(ptiers, \"tier1\", \"tier1\");\n        addDropdownChoice(ptiers, \"tier2\", \"tier2\");\n        addDropdownChoice(pxc, \"pbe\", \"PBE\");\n        addDropdownChoice(pxc, \"pw-lda\", \"LDA\");\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pplot, \"relR\", \"relative Energy\");\n        break;\n\n        \n      case \"GPAW\": \n         dprec.innerHTML = 'PW cutoff:';\n\n        addDropdownChoice(pprec, \"300\", \"300 eV\");\n        addDropdownChoice(pprec, \"400\", \"400 eV\");\n        addDropdownChoice(pprec, \"500\", \"500 eV\");\n        addDropdownChoice(pprec, \"600\", \"600 eV\");\n        addDropdownChoice(pprec, \"700\", \"700 eV\");\n        addDropdownChoice(pprec, \"800\", \"800 eV\");\n        addDropdownChoice(pprec, \"1000\", \"1000 eV\");\n        addDropdownChoice(pprec, \"1100\", \"1100 eV\");\n        addDropdownChoice(pprec, \"1200\", \"1200 eV\");\n        addDropdownChoice(pprec, \"1300\", \"1300 eV\");\n        addDropdownChoice(pprec, \"1400\", \"1400 eV\");\n\n        addDropdownChoice(pxc, \"pbe\", \"PBE\");\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pplot, \"relR\", \"relative Energy\");\n        break;\n\n\n    }\n  }\n\nfunction error_valUpdateForm_precision() {\n  \n    var code = document.getElementById(\"errorbar_val_code\").value;\n    var prec   = document.getElementById(\"errorbar_val_precision\").value;\n    var xc  = document.getElementById(\"errorbar_val_xcfunctional\").value;\n  \n    var pxc  = document.getElementById(\"errorbar_val_xcfunctional\");\n    var pplot  = document.getElementById(\"errorbar_val_quantity\");\n  \n    if(code==\"VASP\" && (prec!=\"Low\" && prec!=\"Normal\" && prec!=\"Accurate\") && xc!=\"pbe\"){\n        pplot.innerHTML = '';\n        pxc.innerHTML = '';\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pxc, \"PBE\", \"PBE\");\n    }\n    else if (code==\"VASP\" && (prec==\"Normal\"||prec==\"Low\"||prec==\"Accurate\")) {\n        pplot.innerHTML = '';\n        pxc.innerHTML = '';\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pplot, \"relR\", \"relative Energy\");\n        addDropdownChoice(pxc, \"PBE\", \"PBE\");\n        addDropdownChoice(pxc, \"LDA\", \"LDA\");\n    }\n  }\n\n</script>\n\n<style type=\"text/css\">\n  \n  .error_val_table th { font-weight: bold; padding-right: 2ex; }\n  .error_val_table td input { margin-right: 1ex; }\n  \n</style>\n\n<!-- Controls area -->\n\n<div class=\"error_val_control\">\n  <table class=\"error_val_table\">\n    \n    <tr>\n      <th>XC-Functional:</th>\n      <td>\n        <select id=\"errorbar_val_xcfunctional\">\n          <option value=\"pbe\" selected>PBE</option>\n        </select>\n      </td>\n      <td id=\"errorbar_val_xcfunctional_description\" style=\"white-space: pre;\"></td>\n      <th id=\"errorbar_val_precision_name\">PW cutoff:</th>\n      <td>\n        <select id=\"errorbar_val_precision\"  onchange=\"error_valUpdateForm_precision()\">\n          <option value=\"300\">300 eV</option>\n          <option value=\"400\">400 eV</option>\n          <option value=\"500\">500 eV</option>\n          <option value=\"600\" selected>600 eV</option>\n          <option value=\"700\">700 eV</option>\n          <option value=\"800\">800 eV</option>\n          <option value=\"900\">900 eV</option>\n          <option value=\"1000\">1000 eV</option>\n          <option value=\"1100\">1100 eV</option>\n          <option value=\"1200\">1200 eV</option>\n          <option value=\"1300\">1300 eV</option>\n          <option value=\"1400\">1400 eV</option>\n        </select>\n      </td>\n      <td id=\"errorbar_val_precision_description\" style=\"white-space: pre;\"></td>\n    </tr>\n    <tr>\n      <th id=\"errorbar_val_tiers_name\">Tiers:</th>\n      <td><select id=\"errorbar_val_tiers\" ><!-- content inserted programmatically --></select></td>\n      <td id=\"errorbar_val_tiers_description\" style=\"white-space: pre;\"></td>\n       <th>Relativity treatment:</th>\n      <td><select id=\"errorbar_val_relativity\" ><!-- content inserted programmatically --></select></td>\n      <td id=\"errorbar_val_relativity_description\" style=\"white-space: pre;\"></td>\n\n    </tr>   \n    \n    <tr>\n      <th>Quantity:</th>\n      <td><select id=\"errorbar_val_quantity\" >\n        <option value=\"E_tot\">Total Energy</option>\n        <option value=\"relR\">relative Energy</option>\n       </select></td>\n      <td id=\"errorbar_val_quantity_description\" style=\"white-space: pre;\"></td>  \n    \n\n      <th>Code:</th>\n      <td><select id=\"errorbar_val_code\" onchange=\"error_valUpdateForm()\">\n        <option value=\"GPAW\">GPAW</option> \n        <option value=\"FHI-aims\">FHI-aims</option>\n        <option value=\"VASP\">VASP</option>    \n      </select></td>\n      <td id=\"errorbar_val_code_description\" style=\"white-space: pre;\"></td>\n    </tr>\n    \n  </table>\n  \n</div>\n\n<br><br>\n<p>Enter: Formula:</p>\n\n<p>\n  <input type='text' id='query' value='H2' size='40'\n         onkeydown=\"if (event.keyCode == 13) process_form()\">\n</p>\n<p>Examples:</p>\n<p>\n <fontsize=4>\n<code>O2</code> <br>\n<code>FePO4</code>\n</fontsize>\n</p>\n<button onclick='process_form()'> Estimate error </button>"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<script>\n  \n  function process_form() {\n    beaker.query = $('#query').val(); \n    beaker.ctrl_val_xc   = document.getElementById(\"errorbar_val_xcfunctional\").value;\n    beaker.ctrl_val_kpt  = 8;\n    beaker.ctrl_val_prec = document.getElementById(\"errorbar_val_precision\").value;\n    beaker.ctrl_val_tiers  = document.getElementById(\"errorbar_val_tiers\").value;\n    beaker.ctrl_val_rel    = document.getElementById(\"errorbar_val_relativity\").value;\n    beaker.ctrl_val_pred    = 1;\n    beaker.ctrl_val_quant   = document.getElementById(\"errorbar_val_quantity\").value;\n    beaker.ctrl_val_code    = document.getElementById(\"errorbar_val_code\").value;\n    beaker.evaluate(\"process_formula_cell\");\n  }\n \n  function error_valUpdateForm() {\n    var code = document.getElementById(\"errorbar_val_code\").value;\n    \n    var dprec = document.getElementById(\"errorbar_val_precision_name\");\n    var dtiers = document.getElementById(\"errorbar_val_tiers_name\");\n    var pprec   = document.getElementById(\"errorbar_val_precision\"); pprec.innerHTML = '';\n    var prel  = document.getElementById(\"errorbar_val_relativity\"); prel.innerHTML = '';\n    var ptiers  = document.getElementById(\"errorbar_val_tiers\"); ptiers.innerHTML = '';\n    var pxc  = document.getElementById(\"errorbar_val_xcfunctional\"); pxc.innerHTML = '';\n    var pplot  = document.getElementById(\"errorbar_val_quantity\"); pplot.innerHTML = '';\n    switch(code) {\n      case \"VASP\": \n        dprec.innerHTML = 'Precision:';\n        \n        addDropdownChoice(pprec, \"Low\", \"Low\");\n        addDropdownChoice(pprec, \"Normal\", \"Normal\");\n        addDropdownChoice(pprec, \"Accurate\", \"Accurate\");\n        addDropdownChoice(pxc, \"PBE\", \"PBE\");\n        addDropdownChoice(pxc, \"LDA\", \"LDA\");\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pplot, \"relR\", \"relative Energy\");\n        addDropdownChoice(pprec, \"130%\", \"130%\");\n        addDropdownChoice(pprec, \"150%\", \"150%\");\n        addDropdownChoice(pprec, \"175%\", \"175%\");\n        addDropdownChoice(pprec, \"200%\", \"200%\");\n        addDropdownChoice(pprec, \"225%\", \"225%\");\n        error_valUpdateForm_precision()\n        break;\n        \n      case \"FHI-aims\":  \n        dprec.innerHTML = 'Integration grid:';\n\n        addDropdownChoice(pprec, \"light\", \"light\");\n        addDropdownChoice(pprec, \"tight\", \"tight\");\n        addDropdownChoice(pprec, \"really_tight\", \"really tight\");\n        addDropdownChoice(prel, \"atomic_zora\", \"atomic zora\");\n        addDropdownChoice(prel, \"zora\", \"zora\");\n        addDropdownChoice(ptiers, \"minimal\", \"minimal\");\n        addDropdownChoice(ptiers, \"standard\", \"standard\");\n        addDropdownChoice(ptiers, \"tier1\", \"tier1\");\n        addDropdownChoice(ptiers, \"tier2\", \"tier2\");\n        addDropdownChoice(pxc, \"pbe\", \"PBE\");\n        addDropdownChoice(pxc, \"pw-lda\", \"LDA\");\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pplot, \"relR\", \"relative Energy\");\n        break;\n\n        \n      case \"GPAW\": \n         dprec.innerHTML = 'PW cutoff:';\n\n        addDropdownChoice(pprec, \"300\", \"300 eV\");\n        addDropdownChoice(pprec, \"400\", \"400 eV\");\n        addDropdownChoice(pprec, \"500\", \"500 eV\");\n        addDropdownChoice(pprec, \"600\", \"600 eV\");\n        addDropdownChoice(pprec, \"700\", \"700 eV\");\n        addDropdownChoice(pprec, \"800\", \"800 eV\");\n        addDropdownChoice(pprec, \"1000\", \"1000 eV\");\n        addDropdownChoice(pprec, \"1100\", \"1100 eV\");\n        addDropdownChoice(pprec, \"1200\", \"1200 eV\");\n        addDropdownChoice(pprec, \"1300\", \"1300 eV\");\n        addDropdownChoice(pprec, \"1400\", \"1400 eV\");\n\n        addDropdownChoice(pxc, \"pbe\", \"PBE\");\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pplot, \"relR\", \"relative Energy\");\n        break;\n\n\n    }\n  }\n\nfunction error_valUpdateForm_precision() {\n  \n    var code = document.getElementById(\"errorbar_val_code\").value;\n    var prec   = document.getElementById(\"errorbar_val_precision\").value;\n    var xc  = document.getElementById(\"errorbar_val_xcfunctional\").value;\n  \n    var pxc  = document.getElementById(\"errorbar_val_xcfunctional\");\n    var pplot  = document.getElementById(\"errorbar_val_quantity\");\n  \n    if(code==\"VASP\" && (prec!=\"Low\" && prec!=\"Normal\" && prec!=\"Accurate\") && xc!=\"pbe\"){\n        pplot.innerHTML = '';\n        pxc.innerHTML = '';\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pxc, \"PBE\", \"PBE\");\n    }\n    else if (code==\"VASP\" && (prec==\"Normal\"||prec==\"Low\"||prec==\"Accurate\")) {\n        pplot.innerHTML = '';\n        pxc.innerHTML = '';\n        addDropdownChoice(pplot, \"E_tot\", \"Total Energy\");\n        addDropdownChoice(pplot, \"relR\", \"relative Energy\");\n        addDropdownChoice(pxc, \"PBE\", \"PBE\");\n        addDropdownChoice(pxc, \"LDA\", \"LDA\");\n    }\n  }\n\n</script>\n\n<style type=\"text/css\">\n  \n  .error_val_table th { font-weight: bold; padding-right: 2ex; }\n  .error_val_table td input { margin-right: 1ex; }\n  \n</style>\n\n<!-- Controls area -->\n\n<div class=\"error_val_control\">\n  <table class=\"error_val_table\">\n    \n    <tbody><tr>\n      <th>XC-Functional:</th>\n      <td>\n        <select id=\"errorbar_val_xcfunctional\">\n          <option value=\"pbe\" selected=\"\">PBE</option>\n        </select>\n      </td>\n      <td id=\"errorbar_val_xcfunctional_description\" style=\"white-space: pre;\"></td>\n      <th id=\"errorbar_val_precision_name\">PW cutoff:</th>\n      <td>\n        <select id=\"errorbar_val_precision\" onchange=\"error_valUpdateForm_precision()\">\n          <option value=\"300\">300 eV</option>\n          <option value=\"400\">400 eV</option>\n          <option value=\"500\">500 eV</option>\n          <option value=\"600\" selected=\"\">600 eV</option>\n          <option value=\"700\">700 eV</option>\n          <option value=\"800\">800 eV</option>\n          <option value=\"900\">900 eV</option>\n          <option value=\"1000\">1000 eV</option>\n          <option value=\"1100\">1100 eV</option>\n          <option value=\"1200\">1200 eV</option>\n          <option value=\"1300\">1300 eV</option>\n          <option value=\"1400\">1400 eV</option>\n        </select>\n      </td>\n      <td id=\"errorbar_val_precision_description\" style=\"white-space: pre;\"></td>\n    </tr>\n    <tr>\n      <th id=\"errorbar_val_tiers_name\">Tiers:</th>\n      <td><select id=\"errorbar_val_tiers\"><!-- content inserted programmatically --></select></td>\n      <td id=\"errorbar_val_tiers_description\" style=\"white-space: pre;\"></td>\n       <th>Relativity treatment:</th>\n      <td><select id=\"errorbar_val_relativity\"><!-- content inserted programmatically --></select></td>\n      <td id=\"errorbar_val_relativity_description\" style=\"white-space: pre;\"></td>\n\n    </tr>   \n    \n    <tr>\n      <th>Quantity:</th>\n      <td><select id=\"errorbar_val_quantity\">\n        <option value=\"E_tot\">Total Energy</option>\n        <option value=\"relR\">relative Energy</option>\n       </select></td>\n      <td id=\"errorbar_val_quantity_description\" style=\"white-space: pre;\"></td>  \n    \n\n      <th>Code:</th>\n      <td><select id=\"errorbar_val_code\" onchange=\"error_valUpdateForm()\">\n        <option value=\"GPAW\">GPAW</option> \n        <option value=\"FHI-aims\">FHI-aims</option>\n        <option value=\"VASP\">VASP</option>    \n      </select></td>\n      <td id=\"errorbar_val_code_description\" style=\"white-space: pre;\"></td>\n    </tr>\n    \n  </tbody></table>\n  \n</div>\n\n<br><br>\n<p>Enter: Formula:</p>\n\n<p>\n  <input id=\"query\" value=\"H2\" size=\"40\" onkeydown=\"if (event.keyCode == 13) process_form()\" type=\"text\">\n</p>\n<p>Examples:</p>\n<p>\n <fontsize=4>\n<code>O2</code> <br>\n<code>FePO4</code>\n\n</fontsize=4></p>\n<button onclick=\"process_form()\"> Estimate error </button>"
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 403
+                "height": 419
             },
             "evaluatorReader": true,
             "lineCount": 200,
@@ -2500,7 +2582,7 @@
                 "pluginName": "IPython",
                 "shellId": "5135CA622CD64F968EE67113A75CA7D3",
                 "elapsedTime": 3135,
-                "height": 127
+                "height": 61
             },
             "evaluatorReader": true,
             "lineCount": 66
diff --git a/beaker-notebooks/periodic-table.bkr b/beaker-notebooks/periodic-table.bkr
index 2d25b06..df38965 100644
--- a/beaker-notebooks/periodic-table.bkr
+++ b/beaker-notebooks/periodic-table.bkr
@@ -154,18 +154,35 @@
             "lineCount": 10
         },
         {
-            "id": "codeLdCCSm",
+            "id": "code29SxIr",
             "type": "code",
             "evaluator": "HTML",
             "input": {
                 "body": [
-                    "<div class=\"nomad--header\">",
-                    "    <h2>NOMAD Analytics Toolkit</h2>",
-                    "    <h3>A Periodic Table Of Elements for Atomic Data Collections</h3>",
+                    "<div id=\"teaser\" style='background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; ",
+                    "    padding-top: 20px;",
+                    "    padding-right: 10px;",
+                    "    padding-bottom: 50px;",
+                    "    padding-left: 80px;' > ",
+                    "",
+                    "  <div class=\"nomad--header\">",
+                    "   <div style=\"text-align:center\">",
+                    "    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" height=\"100\" alt=\"NOMAD Logo\">  NOMAD Analytics Toolkit   ",
+                    "  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" height=\"80\" alt=\"NOMAD Logo\"> </h2>",
+                    "  </div>",
+                    "    <h3> A Periodic Table Of Elements for Atomic Data Collections</h3>",
                     "    <p class=\"nomad--description\">",
-                    "        created by <a href=\"mailto:regler@fhi-berlin.mpg.de\">Benjamin Regler</a> (Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany).",
-                    "        <span class=\"nomad--last-updated\" data-version=\"v1.1.0\">[Last updated: May 5, 2017]</span>",
+                    "      created by <a href=\"mailto:regler@fhi-berlin.mpg.de\">Benjamin Regler</a> (Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany).",
+                    "   ",
+                    "      <span class=\"nomad--last-updated\" data-version=\"v1.1.0\">[Last updated: May 15, 2017]</span>",
                     "    </p>",
+                    "</div>",
+                    "",
+                    "</div>  ",
+                    "",
+                    "<div style='text-align: right;'>",
+                    "<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> ",
+                    "<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> ",
                     "</div>"
                 ],
                 "hidden": true
@@ -175,14 +192,14 @@
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<div class=\"nomad--header\">\n    <h2>NOMAD Analytics Toolkit</h2>\n    <h3>A Periodic Table Of Elements for Atomic Data Collections</h3>\n    <p class=\"nomad--description\">\n        created by <a href=\"mailto:regler@fhi-berlin.mpg.de\">Benjamin Regler</a> (Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany).\n        <span class=\"nomad--last-updated\" data-version=\"v1.1.0\">[Last updated: May 5, 2017]</span>\n    </p>\n</div>"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<div id=\"teaser\" style=\"background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; \n    padding-top: 20px;\n    padding-right: 10px;\n    padding-bottom: 50px;\n    padding-left: 80px;\"> \n\n  <div class=\"nomad--header\">\n   <div style=\"text-align:center\">\n    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" alt=\"NOMAD Logo\" height=\"100\">  NOMAD Analytics Toolkit   \n  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" alt=\"NOMAD Logo\" height=\"80\"> </h2>\n  </div>\n    <h3> A Periodic Table Of Elements for Atomic Data Collections</h3>\n    <p class=\"nomad--description\">\n      created by <a href=\"mailto:regler@fhi-berlin.mpg.de\">Benjamin Regler</a> (Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany).\n   \n      <span class=\"nomad--last-updated\" data-version=\"v1.1.0\">[Last updated: May 15, 2017]</span>\n    </p>\n</div>\n\n</div>  \n\n<div style=\"text-align: right;\">\n<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> \n<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> \n</div>"
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 161
+                "height": 320
             },
             "evaluatorReader": true,
-            "lineCount": 8
+            "lineCount": 25
         },
         {
             "id": "markdownxSre89",
@@ -498,7 +515,9 @@
                 "state": {},
                 "pluginName": "JavaScript",
                 "selectedType": "Text",
-                "height": 50
+                "height": 50,
+                "result": true,
+                "elapsedTime": 1189
             },
             "evaluatorReader": true,
             "lineCount": 52,
@@ -714,7 +733,9 @@
                 "hidden": true,
                 "state": {},
                 "pluginName": "IPython",
-                "shellId": "F2C0F0E6B9904B8D9B2DF2277CE92D87"
+                "shellId": "1A8827CF7B3D4CF098BF2F1A80D0FC9F",
+                "selectedType": "Hidden",
+                "elapsedTime": 462
             },
             "evaluatorReader": true,
             "lineCount": 197,
@@ -812,7 +833,9 @@
             "output": {
                 "hidden": true,
                 "state": {},
-                "pluginName": "JavaScript"
+                "pluginName": "JavaScript",
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 340
             },
             "evaluatorReader": true,
             "lineCount": 80,
@@ -832,9 +855,10 @@
             "output": {
                 "state": {},
                 "pluginName": "IPython",
-                "shellId": "F2C0F0E6B9904B8D9B2DF2277CE92D87",
-                "selectedType": "Hidden",
-                "height": 91
+                "shellId": "1A8827CF7B3D4CF098BF2F1A80D0FC9F",
+                "selectedType": "BeakerDisplay",
+                "height": 91,
+                "elapsedTime": 499
             },
             "evaluatorReader": true,
             "lineCount": 2,
@@ -858,7 +882,8 @@
                 "state": {},
                 "pluginName": "JavaScript",
                 "selectedType": "BeakerDisplay",
-                "height": 89
+                "height": 89,
+                "elapsedTime": 566
             },
             "evaluatorReader": true,
             "lineCount": 5,
diff --git a/beaker-notebooks/phasediagram.bkr b/beaker-notebooks/phasediagram.bkr
index 33a63c4..4d730ba 100644
--- a/beaker-notebooks/phasediagram.bkr
+++ b/beaker-notebooks/phasediagram.bkr
@@ -57,38 +57,126 @@
     ],
     "cells": [
         {
-            "id": "code0iXrL3",
+            "id": "codeFZtLMr",
             "type": "code",
             "evaluator": "HTML",
             "input": {
                 "body": [
-                    "<a target=\"_blank\" href=\"https://nomad-forum.rz-berlin.mpg.de//\" class=\"btn btn-primary\"> Send your feedback to the analytics-toolkit forum</a><h2> Your comments are invaluable in helping us provide a user friendly experience for all! </h2>"
-                ]
+                    "<style type=\"text/css\">",
+                    "/*!",
+                    " * Nomad Beaker Notebook Template",
+                    " *",
+                    " * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,",
+                    " *             Benjamin Regler - Apache 2.0 License",
+                    " * @license    http://www.apache.org/licenses/LICENSE-2.0",
+                    " * @author     Benjamin Regler",
+                    " * @version    1.0.0",
+                    " *",
+                    " * Licensed under the Apache License, Version 2.0 (the \"License\");",
+                    " * you may not use this file except in compliance with the License.",
+                    " * You may obtain a copy of the License at",
+                    " * ",
+                    " *     http://www.apache.org/licenses/LICENSE-2.0",
+                    " *",
+                    " * Unless required by applicable law or agreed to in writing, software",
+                    " * distributed under the License is distributed on an \"AS IS\" BASIS,",
+                    " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+                    " * See the License for the specific language governing permissions and",
+                    " * limitations under the License.",
+                    " */",
+                    "p{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}",
+                    "</style>"
+                ],
+                "hidden": true
             },
             "output": {
                 "state": {},
                 "result": {
                     "type": "BeakerDisplay",
                     "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<a target=\"_blank\" href=\"https://nomad-forum.rz-berlin.mpg.de//\" class=\"btn btn-primary\"> Send your feedback to the analytics-toolkit forum</a><h2> Your comments are invaluable in helping us provide a user friendly experience for all! </h2>"
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n/*!\n * Nomad Beaker Notebook Template\n *\n * @copyright  Copyright 2017 Fritz Haber Institute of the Max Planck Society,\n *             Benjamin Regler - Apache 2.0 License\n * @license    http://www.apache.org/licenses/LICENSE-2.0\n * @author     Benjamin Regler\n * @version    1.0.0\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\np{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;font-weight:inherit;line-height:1.2}h1{margin-top:0;font-size:3.998em}h2{font-size:2.827em}h3{font-size:1.999em}h4{font-size:1.414em}.font_small,small{font-size:.707em}.notebook-container{font-size:16px}.notebook-container .bkr{font-size:100%;font-weight:400;line-height:1.45;color:#333}.nomad--header h2{color:#20335d;font-weight:700;margin:0 0 .2em}.nomad--header h3{color:#20335d;font-weight:700;margin-top:0;text-indent:-1em;padding-left:1em}.nomad--header h3:before{content:\"\\2014\";padding-right:.25em}.nomad--header .nomad--description{margin:-1em 0 0 2em}.atomic-data--block,.nomad--last-updated{display:inline-block;margin-top:1em}.nomad--last-updated{color:grey;float:right;position:relative;z-index:1}.nomad--last-updated::before{bottom:-75%;content:attr(data-version);font-size:4em;font-weight:700;opacity:.2;position:absolute;right:0}.atomic-data label{display:block;font-size:medium;font-weight:700}.atomic-data--select,.chosen-container{width:100%!important}.atomic-data--select:disabled{color:#d3d3d3}.atomic-data--reset-buton{display:inline-block;margin-top:1.6em;width:100%}.modal-dialog{max-width:1000px;width:80%}.modal-header h1{font-size:2em;line-height:1.2}.modal-dialog h2{font-size:1.414em}.modal-dialog h2:first-child{margin-top:0}.modal-dialog h3{font-size:1.2em}.modal-dialog dt{font-size:larger;margin-top:1.414em}.modal-dialog img{width:100%}.modal-dialog .authors{text-transform:uppercase}\n</style>"
                 },
                 "selectedType": "BeakerDisplay",
                 "elapsedTime": 0,
-                "height": 119
+                "height": 50
             },
             "evaluatorReader": true,
-            "lineCount": 1
+            "lineCount": 24
         },
         {
-            "id": "markdownRBGLQA",
-            "type": "markdown",
-            "body": [
-                "<p style=\"color: #20335d;;font-weight: 900; font-size: 22pt;\">  NOMAD analytics toolkit</p>",
-                "<label style=\"text-align: center; color: #20335d; font-weight: 900; font-size: 18pt;\">Tutorial example on the stability of materials:</label> <label style=\"color: #20335d;font-weight: 900; font-size: 15pt;\"> Visualizing phase diagrams with dependence on chemical potentials</label>",
-                " </p>",
-                " <p style=\"font-size: 15px;\"> developed by Mikkel Strange and Kristian S. Thygesen. [Last update September 19 2016]</p>"
-            ],
-            "evaluatorReader": false
+            "id": "codeRqsjzA",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<div id=\"teaser\" style='background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; ",
+                    "    padding-top: 20px;",
+                    "    padding-right: 10px;",
+                    "    padding-bottom: 50px;",
+                    "    padding-left: 80px;' > ",
+                    "",
+                    "  <div class=\"nomad--header\">",
+                    "   <div style=\"text-align:center\">",
+                    "    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" height=\"100\" alt=\"NOMAD Logo\">  NOMAD Analytics Toolkit   ",
+                    "  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" height=\"80\" alt=\"NOMAD Logo\"> </h2>",
+                    "  </div>",
+                    "    <h3> Tutorial example on the stability of materials: Visualizing phase diagrams with dependence on chemical potentials</h3>",
+                    "    <p class=\"nomad--description\">",
+                    "      created by:",
+                    " M. Strange<sup> 1</sup>,",
+                    " and K. S. Thygesen<sup>1</sup> <br><br>",
+                    "   ",
+                    "      <sup>1</sup> Nano-Science Center and Department of Chemistry, University of Copenhagen, DK-2100 Copenhagen Ø, Denmark <br>",
+                    "      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>",
+                    "    </p>",
+                    "</div>",
+                    "",
+                    "</div>  ",
+                    "",
+                    "<div style='text-align: right;'>",
+                    "<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> ",
+                    "<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> ",
+                    "</div>"
+                ],
+                "hidden": true
+            },
+            "output": {
+                "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<div id=\"teaser\" style=\"background-color: rgba(149,170,79, 1.0); background-position:  right center; background-size: 200px; background-repeat: no-repeat; \n    padding-top: 20px;\n    padding-right: 10px;\n    padding-bottom: 50px;\n    padding-left: 80px;\"> \n\n  <div class=\"nomad--header\">\n   <div style=\"text-align:center\">\n    <h2> <img id=\"nomad\" src=\"https://nomad-coe.eu/uploads/nomad/images/NOMAD_Logo2.png\" alt=\"NOMAD Logo\" height=\"100\">  NOMAD Analytics Toolkit   \n  <img id=\"nomad\" src=\"https://www.nomad-coe.eu/uploads/nomad/backgrounds/head_big-data_analytics_2.png\" alt=\"NOMAD Logo\" height=\"80\"> </h2>\n  </div>\n    <h3> Tutorial example on the stability of materials: Visualizing phase diagrams with dependence on chemical potentials</h3>\n    <p class=\"nomad--description\">\n      created by:\n M. Strange<sup> 1</sup>,\n and K. S. Thygesen<sup>1</sup> <br><br>\n   \n      <sup>1</sup> Nano-Science Center and Department of Chemistry, University of Copenhagen, DK-2100 Copenhagen Ø, Denmark <br>\n      <span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: May 15, 2017]</span>\n    </p>\n</div>\n\n</div>  \n\n<div style=\"text-align: right;\">\n<a href=\"https://analytics-toolkit.nomad-coe.eu/home/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to Analytics Home</a> \n<a href=\"https://www.nomad-coe.eu/\" class=\"btn btn-primary\" style=\"font-size:larger;\">Back to NOMAD CoE Home</a> \n</div>"
+                },
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 0,
+                "height": 405
+            },
+            "evaluatorReader": true,
+            "lineCount": 28
+        },
+        {
+            "id": "code0iXrL3",
+            "type": "code",
+            "evaluator": "HTML",
+            "input": {
+                "body": [
+                    "<a target=\"_blank\" href=\"https://nomad-forum.rz-berlin.mpg.de//\" class=\"btn btn-primary\"> Send your feedback to the analytics-toolkit forum</a> Your comments are invaluable in helping us provide a user friendly experience for all! "
+                ],
+                "hidden": true
+            },
+            "output": {
+                "state": {},
+                "result": {
+                    "type": "BeakerDisplay",
+                    "innertype": "Html",
+                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<a target=\"_blank\" href=\"https://nomad-forum.rz-berlin.mpg.de//\" class=\"btn btn-primary\"> Send your feedback to the analytics-toolkit forum</a> Your comments are invaluable in helping us provide a user friendly experience for all! "
+                },
+                "selectedType": "BeakerDisplay",
+                "elapsedTime": 0,
+                "height": 72
+            },
+            "evaluatorReader": true,
+            "lineCount": 1
         },
         {
             "id": "codeGHSu9O",
@@ -108,7 +196,7 @@
                 "pluginName": "JavaScript",
                 "height": 50,
                 "hidden": true,
-                "elapsedTime": 67
+                "elapsedTime": 52
             },
             "evaluatorReader": true,
             "lineCount": 4,
@@ -130,21 +218,12 @@
             },
             "output": {
                 "state": {},
-                "selectedType": "Results",
+                "selectedType": "BeakerDisplay",
                 "pluginName": "Python3",
-                "shellId": "D95F1C6485DC455C8DCFF601F1C6C02D",
+                "shellId": "F062481DA2B947488DB9E2E4647F22DF",
                 "height": 50,
                 "hidden": true,
-                "result": {
-                    "type": "Results",
-                    "outputdata": [
-                        {
-                            "type": "out",
-                            "value": "Species: Li, P, Fe, O\nReferences: 51\n0    Li             0.000\n1    P              0.000\n2    Fe             0.000\n3    O              0.000\n4    Li2O          -6.200\n5    Li2O2         -7.040\n6    FeO           -4.095\n7    Fe2O3        -11.250\n8    Fe3O4        -15.682\n9    Fe3P          -1.114\n10   Fe2P          -0.876\n11   FeP           -0.339\n12   FeP2          -0.601\n13   FeP4          -1.265\n14   P4O18        -32.042\n15   P2O5         -17.343\n16   P4O9         -31.265\n17   P4O6O2       -27.792\n18   P4O7         -24.028\n19   P4O6         -20.173\n20   LiP7          -2.261\n21   LiP5          -1.873\n22   LiP           -1.193\n23   Li3P7         -4.619\n24   Li3P          -2.944\n25   LiFeP         -1.238\n26   LiFe5O8      -30.650\n27   Li3Fe5O8     -35.668\n28   LiFeO2        -9.156\n29   Li5FeO4      -21.883\n30   Li3PO4       -22.189\n31   Li4P2O7      -36.022\n32   LiPO3        -13.685\n33   Fe9PO4O8     -47.627\n34   Fe3PO4O3     -26.078\n35   Fe4P2O8      -38.360\n36   Fe2PO4O      -20.143\n37   Fe3P2O8      -23.187\n38   Fe7P6O24     -95.984\n39   Fe2P2O7      -29.097\n40   FePO4        -15.309\n41   Fe7P8O28    -113.022\n42   Fe4P6O21     -80.173\n43   Fe2P4O12     -47.801\n44   FeP3O9       -33.953\n45   FeP4O11      -41.533\n46   LiFePO4      -18.853\n47   Li3Fe2P3O12   -53.192\n48   LiFeP2O7     -29.376\n49   LiFeP3O9     -37.523\n50   Li9Fe3P6O21P2O8  -132.471\n"
-                        }
-                    ]
-                },
-                "elapsedTime": 462
+                "elapsedTime": 334
             },
             "evaluatorReader": true,
             "lineCount": 6,
@@ -202,11 +281,6 @@
                 "state": {},
                 "selectedType": "BeakerDisplay",
                 "height": 72,
-                "result": {
-                    "type": "BeakerDisplay",
-                    "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n .phasediagram_instructions{\n    font-size: 15px;\n  } \n</style>\n<!-- Button trigger modal -->\n<button type=\"button\" class=\"btn btn-default\" data-toggle=\"modal\" data-target=\"#phasediagram-motivation-modal\">\n Introduction and motivation\n</button>\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"phasediagram-motivation-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"phasediagram-motivation-modal-label\">\n  <div class=\"modal-dialog modal-lg\" role=\"document\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button>\n        <h4 class=\"modal-title\" id=\"phasediagram-motivation-modal-label\">Introduction and motivation</h4>\n      </div>\n      <div class=\"modal-body phasediagram_instructions\">\n        <p> \n          In this tutorial we present a tool that produces compotitional phase diagrams. As an example we consider\n          materials made of Li-Fe-P-O; the methology is similar to one in [1,2] and the \n          analysis can be compared directly to the on in [1].\n        </p>\n          \n        <p> Phase diagrams are generaly useful to determine if a given material is thermodynamic stable under certain conditions such as temperature, pressure etc. In this tutorial we consider only a compositional phasediagram at zero temperature and pressure. We visualize the phase diagram with the so-called convex hull which in general is a set of connected multidimensional \"surfaces\"; for a binary compound it is composed of connected lines and for ternary compound it is composed of connected planes. Since the phase diagram only consider the thermodynamic stability, there may still be materials which are metastable that are missed by the materials making up the convex hull. One way to explore a larger phase-space of materials is to allow for variations of the chemipotenial of some of the elements, i.e. of oxygen, which could be tuned during synthesis by varying the temperature etc.\n        </p>\n        <p>References</p>\n        <ol>\n          <li> S. P Ong, L. Wang, B. Kang, and G. Ceder, Chem. Mater. 20, 1798-1807 (2008).</li>\n          <li> A. R. Akbarzadeh, V. Olzolins, and C. Wolverton, Advanced Materials 19, 3233-3239 (2007) </li>\n        </ol>\n      </div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">Close</button>\n<!--         <button type=\"button\" class=\"btn btn-primary\">Save changes</button> -->\n      </div>\n    </div>\n  </div>\n</div>"
-                },
                 "elapsedTime": 0
             },
             "evaluatorReader": true,
@@ -282,11 +356,6 @@
                 "state": {},
                 "selectedType": "BeakerDisplay",
                 "height": 72,
-                "result": {
-                    "type": "BeakerDisplay",
-                    "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<style type=\"text/css\">\n .phasediagram_instructions{\n    font-size: 15px;\n  } \n</style>\n<!-- Button trigger modal -->\n<button type=\"button\" class=\"btn btn-default\" data-toggle=\"modal\" data-target=\"#phasediagram-instructions-modal\">\n Instructions\n</button>\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"phasediagram-instructions-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"phasediagram-instructions-modal-label\">\n  <div class=\"modal-dialog\" role=\"document\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button>\n        <h4 class=\"modal-title\" id=\"phasediagram-instructions-modal-label\">Instructions</h4>\n      </div>\n      <div class=\"modal-body phasediagram_instructions\">\n<p> In this example, you can run the phase diagram code with varying chemical potentials for the elements as well as try to\n  predict if a material of given composition will decompose into other phases.\n  ou will work directly in Python, but need only to enter some very\n  simple commands like: </p>\n        <p><code> pd.decompose(...) </code> and <code> pd.plot(...) </code>.</p>\n  <!--<b>principal component analysis (<a href=\"https://en.wikipedia.org/wiki/Feature_scaling\" target=\"_blank\">PCA</a>)</b> and two selected non-linear methods, <b>multidimensional scaling (<a href=\"https://en.wikipedia.org/wiki/Multidimensional_scaling\" target=\"_blank\">MDS</a>) </b>\n        and <b>t-Distributed Stochastic Neighbor Embedding (<a href=\"https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding\" target=\"_blank\">t-SNE</a>) </b>. -->\n      \n<p> The Li-Fe-P-O materials considered in this example are taken from [1] and the database of the energies used by\n  the phase diagram module are formation energies with respect to the monomers Li(s), Fe(s), P(s) and a corrected value for O2.\n  <!--in the cubic perovskite structure and is take from Castelli et al. (Energy Environ. Sci. 5, 5814 (2011)).</p>-->\n</p><p> Lets first condider that we are interested in a \"new\" material, \n    say with the chemical formula <b>FeLiO</b> and the calculated formation energy <b>E(FeLiO)</b>&gt;.\n    To test if it is (thermodynamically) stable or not compared to other the phases of Fe-Li-O in the database we can use the command:</p>\n       <p>\n <code>pd.decompose('FeLiO')</code> \n        </p>\n <p> This shows what the material 'FeLiO' will decompose into using the materials in the database (FeLiO -&gt; (1/5) Li5FeO4 + (1/5) FeO - (3/5) Fe) . If <b>E(FeLiO)</b> is below the total energy of the decomposed phases, in this case about -5.2 eV, the \"new\" material is prediceted as stable, i.e. the material is below the complex hull.\n   </p>\n    <p> FePO4 is an experimentally identified phase which <code>pd.decompose('FePO4')</code> supports (FePO4-&gt;FePO4).\n   </p>\n        \n<p> To visualize the complex hull of the ternary composition Li-Fe-O enter: <br><code> pd.plot('LiFeO') </code></p>\n        This can be compared with Figure 1b in [1]. To investigate the line binary \"line\" Li-O use <code>pd.plot('LiO')</code>.\n        <p>The chemical potentials can be adjusted, say of oxygen, by entering<br><code>pd.plot(O=-1.3)</code>.</p>\n          <p>References</p>\n        <ol>\n          <li> S. P Ong, L. Wang, B. Kang, and G. Ceder, Chem. Mater. 20, 1798-1807 (2008).</li>\n          <!--<li> A. R. Akbarzadeh, V. Olzolins, and C. Wolverton, Advanced Materials 19, 3233-3239 (2007) </li>-->\n        </ol>      \n      </div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">Close</button>\n<!--         <button type=\"button\" class=\"btn btn-primary\">Save changes</button> -->\n      </div>\n    </div>\n  </div>\n</div>"
-                },
                 "elapsedTime": 0
             },
             "evaluatorReader": true,
@@ -325,11 +394,6 @@
                 "state": {},
                 "selectedType": "BeakerDisplay",
                 "height": 314,
-                "result": {
-                    "type": "BeakerDisplay",
-                    "innertype": "Html",
-                    "object": "<script>\nvar beaker = bkHelper.getBeakerObject().beakerObj;\n</script>\n<p>Enter a command:</p>\n\n<p>\n  <input id=\"query\" value=\"\" size=\"79\" onkeydown=\"if (event.keyCode == 13) beaker.process_form()\" type=\"text\">\n</p>\n<p>Examples:</p>\n<p>\n <fontsize=4>\n<code>print(pd.symbols)</code> -- components in references<br>\n<code>pd.decompose('FeLiO')</code> -- what will it be decomposed into<br>\n<code>pd.decompose('FePO4')</code> -- what will it be decomposed (exp. found)<br>\n<code>pd.plot()</code> -- plot the convex hull<br>\n<code>pd.plot('FeLiO')</code> -- plot the convex hull of the ternary Fe-Li-O<br>\n<code>pd.plot('FeLiO', dims=3)</code> -- plot the convex hull of the ternary Fe-Li-O in 3D<br>\n<code>pd.plot('LiP')</code> -- plot the convex hull of the binary Li-P system<br>\n<code>pd.plot(O=-1.3)</code> -- use a different chemical potential for Oxygen\n\n</fontsize=4></p>\n<button onclick=\"beaker.process_form()\"> Run </button>"
-                },
                 "elapsedTime": 0
             },
             "evaluatorReader": true,
-- 
GitLab